Hetty HTTP开源工具包 Burp Suite未来替代品

Hetty HTTP开源工具包 Burp Suite未来替代品

Hetty是用于安全性研究的HTTP工具包。它旨在成为Burp Suite Pro等商业软件的开源替代品,并具有针对信息安全和漏洞赏金社区需求而定制的强大功能。

项目地址:

GitHub:https://github.com/dstotijn/hetty

功能/要做

  • ✅HTTP中间人(MITM)代理和GraphQL服务器。
  • ✅具有代理日志查看器的Web界面(Next.js)。
  • ❌将范围支持添加到代理。
  • ❌ 在代理日志查看器中进行全文搜索(使用正则表达式)。
  • ❌ 项目管理。
  • ❌ 发送器模块,用于从头开始或基于代理日志中的请求发送手动HTTP请求。
  • ❌攻击者模块,用于自动发送HTTP请求。利用Go及其net/http包的并发功能,可以使其快速发展。

安装

Hetty在GitHub上作为一个二进制文件打包,并嵌入了Web界面资源。

👉您可以在发行页面上找到适用于Linux,macOS和Windows的下载。

备选方案:

从源代码构建

$ GO111MODULE=auto go get -u -v github.com/dstotijn/hetty/cmd/hetty

然后导出Next.js前端应用程序:

$ cd admin
$ yarn install
$ yarn export

这将确保文件夹./admin/dist存在。然后,您可以使用捆绑前端应用程序rice。最简单的方法是通过Makefile项目根目录中提供的命令:

make build

docker

或者,您可以通过Docker运行Hetty。请参阅:dstotijn/hetty 在Docker Hub上。

$ docker run \
-v $HOME/.hetty/hetty_key.pem:/root/.hetty/hetty_key.pem \
-v $HOME/.hetty/hetty_cert.pem:/root/.hetty/hetty_cert.pem \
-v $HOME/.hetty/hetty.bolt:/root/.hetty/hetty.bolt \
-p 127.0.0.1:8080:8080 \
dstotijn/hetty

用法

Hetty被打包为单个二进制文件,并嵌入了Web界面资源。程序运行时,默认情况下会侦听:8080并可通过 http://localhost:8080进行访问。根据传入的HTTP请求,它可以充当MITM代理,或者为GraphQL API和Web界面(Next.js)提供服务。

$ hetty -h
Usage of ./hetty:
  -addr string
        TCP address to listen on, in the form "host:port" (default ":8080")
  -adminPath string
        File path to admin build
  -cert string
        CA certificate filepath. Creates a new CA certificate is file doesn't exist (default "~/.hetty/hetty_cert.pem")
  -db string
        Database file path (default "~/.hetty/hetty.bolt")
  -key string
        CA private key filepath. Creates a new CA private key if file doesn't exist (default "~/.hetty/hetty_key.pem")

⚠️ 待办事项:编写说明以在本地CA存储中安装CA证书,并将 Hetty配置为用作代理服务器。

愿景和路线图

该项目刚刚开始,因此我还没有时间对其任务和路线图进行撰写。简短摘要/ braindump:

  • 使用Go构建的快速内核/引擎,具有最小的内存占用。
  • GraphQL服务器与后端进行交互。
  • 使用Next.js和Material UI构建的易于使用的Web界面。
  • 可扩展性是首要任务。所有模块都编写为Go软件包,供hetty主程序使用,也可用作其他软件的库。除了GraphQL服务器之外,(最终)应该也可以将其用作CLI工具。
  • MITM代理和以后的模块的可插拔体系结构,使其可以挂接到核心引擎。
  • 我现在已经选择Cayley作为图形数据库(由磁盘上的BoltDB存储支持)(不确定它是否可以长期运行)。好处是Cayley(也用Go编写)被嵌入为库。因此,完整的应用程序自身包含在单个运行的二进制文件中。
  • 与社区交谈,并关注大多数人的功能。更少的功能意味着更少的代码需要维护。

状态

该项目目前正在积极开发中。请加注星标/关注并尽快回来查看。

下载地址:

checksums.txt491字节
hetty_0.1.2_Darwin_x86_64.tar.gz15.7兆字节
hetty_0.1.2_Linux_i386.tar.gz15.3兆字节
hetty_0.1.2_Linux_x86_64.tar.gz15.5兆字节
hetty_0.1.2_Windows_i386.tar.gz15.4兆字节
hetty_0.1.2_Windows_x86_64.tar.gz15.5兆字节
源代码(压缩)
源代码(tar.gz)