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

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

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

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

工具目录

分类

查看所有分类
Loading categories
hyperfox — HTTP/HTTPS MITM代理和记录器。 | Kitploit
工具/GitHubGitHub/malfunkt/hyperfox
数据包嗅探与分析Web代理与拦截信息收集渗透测试
GitHubmalfunkt/hyperfox

hyperfox

HTTP/HTTPS MITM代理和记录器。

查看仓库网站
1.6k1816年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Hyperfox

Build Status

Hyperfox 是一款安全审计工具,用于代理并记录两个端点之间的 HTTP 和 HTTPS 流量。

安装

您可以通过以下命令将 Hyperfox 的最新版本安装到 /usr/local/bin(需要管理员权限):

root@kitploit:~
curl -sL 'https://raw.githubusercontent.com/malfunkt/hyperfox/master/install.sh' | sh

如果您不放心直接运行此脚本,也可以从我们的发布页面获取预编译版本并手动安装。

从源码构建 hyperfox

要从源码构建 hyperfox,您需要安装 Go 和 C 编译器:

使用 go install 构建并安装 hyperfox:

root@kitploit:~
go install github.com/malfunkt/hyperfox

它是如何工作的?

Hyperfox 创建一个透明的 HTTP 代理服务器,并将其绑定到本地主机的 1080/TCP 端口(-addr 127.0.0.1 -http 1080)。代理服务器读取明文 HTTP 请求,并将其重定向到目标地址(通过 Host 头识别目标);当目标回复时,Hyperfox 拦截响应并将其转发给原始客户端。

所有源和目标之间的 HTTP 通信都会被 Hyperfox 拦截,并记录在自动创建的 SQLite 数据库中。每次 Hyperfox 启动时,都会创建一个新数据库(例如:hyperfox-00123.db)。您可以通过显式指定数据库名称来更改此行为(例如:-db traffic-log.db)。

使用方法

使用默认配置启动 Hyperfox:

root@kitploit:~
hyperfox

使用 cURL 请求任意 HTTP 页面,-x 参数指定 Hyperfox 作为代理:

root@kitploit:~
curl -x http://127.0.0.1:1080 example.com

您应该能在 Hyperfox 的输出中看到所请求页面的日志:

root@kitploit:~
...
127.0.0.1:44254 - - [11/Apr/2020:19:19:48 -0500] "GET http://example.com/ HTTP/1.1" 200 -1

用户界面 (-ui)

hyperfox-ui

使用 -ui 参数启用 Hyperfox UI,它将在新的浏览器窗口中打开:

root@kitploit:~
hyperfox -db records.db -ui

上述命令会创建一个绑定到 127.0.0.1:1984 的 Web 服务器。如果您想修改绑定地址或端口,请使用 -ui-addr 开关:

root@kitploit:~
hyperfox -db records.db -ui -ui-addr 127.0.0.1:3000

当 Hyperfox 运行在远程或无头主机上时,修改 UI 服务器地址对于从另一台主机查看 UI 尤其有用。

启用 UI 的同时还会启动一个最小的 REST API(位于 127.0.0.1:4891),供前端应用程序使用。

请注意,Hyperfox 的 REST API 仅由一个随机生成的密钥保护,该密钥在每次 Hyperfox 启动时都会更改,根据您的使用场景,这可能不够安全。

在移动设备上运行 Hyperfox UI

当 -ui-addr 参数不同于 127.0.0.1 时,Hyperfox 会输出一个二维码,方便从移动设备连接:

root@kitploit:~
hyperfox -db records.db -ui -ui-addr 192.168.1.23:1984

SSL/TLS 模式 (-ca-cert 和 -ca-key)

SSL/TLS 连接是端到端安全的,并受到窃听保护。只要信任链未被破坏,Hyperfox 就无法看到客户端与安全目标之间的任何通信。

假设客户端信任某个 Hyperfox 已知的根 CA 证书,那么 Hyperfox 将能够签发被客户端信任的证书。

此类伪造根 CA 文件的示例可以在这里找到:

  • Hyperfox CA 证书
  • Hyperfox CA 密钥

您也可以自行生成根 CA 证书和密钥。

根据操作系统的不同,有多种安装根 CA 证书的方法。

在移动设备上安装 Hyperfox 的根 CA 时,以下二维码可能派上用场:

Hyperfox root CA certificate

使用 -ca-cert 和 -ca-key 标志为 Hyperfox 提供您想要使用的根 CA 证书和密钥:

root@kitploit:~
hyperfox -ca-cert rootCA.crt -ca-key rootCA.key

上述命令会创建一个特殊服务器,并将其绑定到 127.0.0.1:10443,该服务器等待 SSL/TLS 连接到达。当新的 SSL/TLS 连接到来时,Hyperfox 使用 SNI 扩展来识别目标名称服务器,并为其创建 SSL/TLS 证书,该证书使用提供的根 CA 密钥进行签名。

TLS 拦截示例

使用适当的 TLS 参数和 -http 443(443 端口需要管理员权限)启动 Hyperfox:

root@kitploit:~
sudo hyperfox -ca-cert ./ca/rootCA.crt -ca-key ./ca/rootCA.key -https 443

使用 cURL 向 example.com 发起 HTTPS 请求:-resolve 选项告诉 cURL 跳过 DNS 解析,将 127.0.0.1 视为 example.com 的合法地址;-k 参数告诉 cURL 接受任何 TLS 证书:

root@kitploit:~
curl -k -resolve example.com:443:127.0.0.1 https://example.com

您应该能在 Hyperfox 的输出中看到所请求页面的日志:

root@kitploit:~
127.0.0.1:36398 - - [11/Apr/2020:19:36:56 -0500] "GET https://example.com/ HTTP/2.0" 200 -1

使用示例

通过本地 /etc/hosts 文件

将您要监视的主机添加到 /etc/hosts 文件中:

root@kitploit:~
example.com 127.0.0.1

使用您所需的选项运行 Hyperfox,但要记住 HTTP 使用 80 端口、HTTPS 使用 443 端口,这需要管理员权限。除了 -http 和 -https,请使用 -dns 参数指定有效的 DNS 解析器:

root@kitploit:~
sudo hyperfox -ui -http 80 -dns 8.8.8.8

这将使 Hyperfox 跳过操作系统的 DNS 解析器,而使用备用的 DNS 服务器(记住 example.com 指向 127.0.0.1)。

现在使用 cURL 尝试访问目标:

root@kitploit:~
curl http://example.com

Hyperfox 会捕获请求并打印到输出中:

root@kitploit:~
127.0.0.1:41766 - - [11/Apr/2020:19:43:30 -0500] "GET http://example.com/ HTTP/1.1" 200 -1

通过局域网 ARP 欺骗

参见 MITM attack with Hyperfox and arpfox。

参与开发

选择一个 issue 进行修复,然后发送 pull request。

许可证

版权所有 (c) 2012-至今 José Nieto, https://xiam.io

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的个人,不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本,以及允许获得本软件的人这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在所有副本或实质性部分中。

本软件按“原样”提供,不做任何形式的明示或默示担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,无论基于何种法律理论,作者或版权所有者均不对因本软件或本软件的使用或其他交易而引起的任何索赔、损害或其他责任负责。

下载工具