Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/secretsquirrel/bdfproxy
权限提升漏洞利用框架Web代理与拦截逆向工程后渗透利用恶意软件分析渗透测试命令与控制红队Payload 开发二进制利用
1.0k19945年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
secretsquirrel/bdfproxy

BDFProxy

通过MITM修补二进制文件:BackdoorFactory + mitmProxy。

查看仓库

BDFProxy 新版本已发布!仅限赞助者!在此获取:https://github.com/sponsors/secretsquirrel

博客:http://secureallthethings.blogspot.com/2017/08/closing-door-end-of-backdoor-factory.html

The Backdoor Factory Proxy (BDFProxy) v0.3.8

仅限安全专业人员与研究人员使用。

Join the chat at https://gitter.im/secretsquirrel/BDFProxy Black Hat Arsenal

###现在仅支持 v.0.17 >= MITMPROXY >= v.0.11

Docker:

root@kitploit:~
 # sudo echo 1 > /proc/sys/net/ipv4/ip_forward  # linux
 # sudo sysctl -w net.inet.ip.forwarding=1 # macOS
 docker pull secretsquirrel/bdfproxy
 docker run -it -p 8080:8080 secretsquirrel/bdfproxy bash
 # ./bdf_proxy.py

Kali 安装方式:

root@kitploit:~
apt-get update
apt-get install bdfproxy

Black Hat USA 2015:

root@kitploit:~
视频:https://www.youtube.com/watch?v=OuyLzkG16Uk

论文:https://www.blackhat.com/docs/us-15/materials/us-15-Pitts-Repurposing-OnionDuke-A-Single-Case-Study-Around-Reusing-Nation-State-Malware-wp.pdf

DerbyCon 2014:

root@kitploit:~
视频:http://www.youtube.com/watch?v=LjUN9MACaTs

大约18分钟处开始是 BDFProxy 部分。

联系开发者:

root@kitploit:~
IRC:
irc.freenode.net #BDFactory 

Twitter:
@midnite_runr

该脚本使用了两个库:The Backdoor Factory (BDF) 和 mitmProxy。

###概念: 在下载过程中通过 MITM 方式修补二进制文件。

###为什么: 因为许多安全工具网站仍然通过非 SSL/TLS 方式提供二进制文件下载。

以下是一个简短列表:

root@kitploit:~
	sysinternals.com
	Microsoft - MS Security Essentials
	几乎所有杀毒软件公司
	Malwarebytes
	Sourceforge
	gpg4win
	Wireshark
	等等...

是的,其中一些应用程序具有自我保护机制。我一直在研究如何自动绕过 NSIS 检查,作为概念验证。然而,这并不能解决下载过程中比特翻转以及恶意负载执行的问题。此外,BDF 默认会在下载过程中修补 Windows PE 证书表指针,从而移除二进制文件的签名。


##依赖:

root@kitploit:~
Pefile - 最新版本
ConfigObj  
mitmProxy - Kali 构建版 .10
BDF - 最新版本
Capstone(BDF 的一部分)

##支持环境: 已在所有 Kali Linux 构建版上测试,无论是实体高性能笔记本、Raspberry Pi 还是虚拟机,都能运行 BDFProxy。

##安装: BDF 位于 bdf/ 目录下

运行以下命令以拉取最新版本:

root@kitploit:~
./install.sh

或者:

root@kitploit:~
git clone https://github.com/secretsquirrel/the-backdoor-factory bdf/

如果遇到证书错误,请运行以下命令:

root@kitploit:~
mitmproxy

并在 mitmProxy 加载后退出 [Ctrl+C]。

##使用: 每次使用前更新所有内容:

root@kitploit:~
./update.sh

阅读配置文件!!!

root@kitploit:~
	-->bdfproxy.cfg

在运行 BDFProxy 之前,您需要配置 C2 主机和端口设置。请不要在不同 payload 之间重叠 C2 端口设置。否则您可能会将 Linux shell 发送到 Windows 机器,导致各种段错误。运行后,会创建一个 Metasploit 资源脚本,帮助您设置 C2 通信。请仔细检查。顺便提一下,[Overall] 部分之外的所有设置都可以动态更新,因此您无需杀死代理即可更改配置以适应您的环境。

但等等!您还需要配置 MITM 机器以进行中间人攻击!如果您使用 WiFi Pineapple,我修改了 Hack5 发布的一个脚本,可帮助您进行配置。运行 ./wpBDF.sh 并输入正确的环境配置。该脚本会配置 iptables,仅将 HTTP(非 SSL)流量通过代理转发,其他所有流量正常转发。

然后:

root@kitploit:~
./bdf_proxy.py

以下是一些可能的代理物理部署场景的 ASCII 示意图:

局域网使用:

root@kitploit:~
	<互联网>----<MITM机器>----<用户局域网>

WiFi 使用:

root@kitploit:~
	<互联网>----<MITM机器>----<WiFi Pineapple>)))

##测试:

root@kitploit:~
假设您想使用 Firefox 配合 FoxyProxy 连接并测试您的设置。

	按如下方式更新配置:
	transparentProxy = None

	将 FoxyProxy 配置为使用 BDFProxy 作为代理。
	配置中的默认端口为 8080。

##日志记录: 我们有日志功能。代理窗口会迅速填满大量 cat 链接,具体取决于您测试的客户端。使用 tail -f proxy.log 查看哪些内容被修补以及被黑名单设置阻止。不过,如果您选择手动修补二进制文件,请留意主代理窗口,因为后台流量是多线程的,但初始的请求和响应会锁定以便您查看。

##攻击场景(均需获目标许可): -邪恶 WiFi 接入点 -ARP 重定向 -物理接入布线柜 -逻辑入侵首选 ISP

##错误报告

错误难免,但如果我无法理解您的问题,就无法帮助您。

在此提交问题:https://github.com/secretsquirrel/BDFProxy/issues

请包含以下命令的输出信息(较长命令请使用 pastebin):

root@kitploit:~
# bdfproxy 仅支持 v11 到 v17
$ mitmproxy --version

$ uname -a

# 如有需要,请使用 pastebin
$ cat bdfproxy.cfg 
$ ./bdf_proxy.py

###更新日志:

####2016-07-04

支持 BDF 预处理器和 mitmProxy v17

####2015-12-20

在 bdfproxy.cfg 中添加配置选项,以支持 BDF 的 PE 代码签名 => CODE_SIGN 详情请参见 BDF README

####2015-11-13

移除了 python-magic 依赖,因为有两个库同名,容易造成混淆。

####2015-10-19

增加对 BDF 导入目录修补的支持,将代码注入代码洞穴而非新区段。如需使用,请在 bdfproxy.cfg 中将 IDA_IN_CAVE 设置为 True。实验性功能...

####2015-08-12

增加对 PE 替换方法的支持,用攻击者提供的二进制文件替换下载的二进制文件。如需使用,请将 PATCH_METHOD 设置为 replace,并提供 SUPPLIED_BINARY

####2015-08-06

增加对 onionduke 的支持。如需使用,请将 PATCH_METHOD 设置为 onionduke,并将 SUPPLIED_BINARY 设置为您希望绑定到目标可执行文件的二进制文件。

增加支持,可在 PE 清单中设置 requestedExecutionLevel 为 highestAvailable(适用于 x86 和 x86_64 PE 二进制文件)。将 RUNAS_ADMIN 设置为 True。

增加支持,可通过 XP_MODE 标志设置为 True 来支持旧版 XP 机器。将此标志设置为 False 可能会绕过某些杀毒软件的模拟器。

下载工具