12

Hetty:BrupSuite Pro商业版“平替”工具包

 3 years ago
source link: https://zhuanlan.zhihu.com/p/291175119
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

特点

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

安装

可以在这个页面下载Linux、MacOS和Windows版本。

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

hetty依赖于SQLite,需要cgo进行编译,还需要通过Yarn生成管理页面的静态资源。所以在开始之前,请先安装以下环境:

Go: https:// golang.org/

Yarn:Home

go.rice: GeertJohan/go.rice

下载代码后使用build make 把代码编译成可执行文件

$ git clone [email protected]:dstotijn/hetty.git
$ cd hetty
$ make build

Docker

我们同时提供了一键式部署,但是需要你安装docker,因为本应用需要使用ca证书,为保证每次启动docker容器时都是同一份证书,我们推荐你把证书映射到宿主机

$ mkdir -p $HOME/.hetty
$ docker run -v $HOME/.hetty:/root/.hetty -p 8080:8080 dstotijn/hetty

开始使用

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

默认情况下,项目数据库文件和CA证书存储在 .hetty 用户主目录下的目录中( $HOME 在Linux / macOS上, %USERPROFILE% 在Windows上)。

首先,请确保 hetty (从发行版下载或手动构建)在您的设备中 $PATH 并运行:

$ hetty

配置标志概述:

$ 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")
  -key string
        CA private key filepath. Creates a new CA private key if file doesn't exist (default "~/.hetty/hetty_key.pem")
  -projects string
        Projects directory path (default "~/.hetty/projects")

您应该看到:

2020/11/01 14:47:10 [INFO] Running server on :8080 ...

然后,访问 http:// localhost:8080 以开始使用。

证书设置和安装

为了让Hetty代理到HTTPS端点的请求,需要为Hetty设置一个CA证书。此外,可能需要将CA证书安装到主机,以使其被您的浏览器信任。以下步骤将介绍如何生成证书,将证书提供给hetty以及如何将其安装在本地CA存储中。

生成CA证书

可以通过两种不同的方式生成CA密钥对。

第一个是直接用hetty生成,这可以极大地简化了过程。另一种方法是使用OpenSSL生成证书,来控制证书的到期时间和所用的加密方法,或其他更多的一些属性,但这需要安装OpenSSL工具。

建议尝试入门的初学者使用第一种方式。

用hetty生成CA证书

如果在 ~/.hetty/ 首次运行CLI时未提供或未提供默认密钥和证书,Hetty将自行生成默认密钥和证书。要生成带有哈希值的默认密钥和证书,只需运行不带参数的命令。

hetty

现在,您应该在 ~/.hetty/hetty_key.pem~/.hetty/hetty_cert.pem 分别具有一个密钥和证书。

信任CA证书

为了使您的浏览器允许访问本地Hetty代理的流量,您可能需要将这些证书安装到本地CA存储中。

在Ubuntu上,您可以通过运行以下命令使用证书更新本地CA存储:

sudo cp ~/.hetty/hetty_cert.pem /usr/local/share/ca-certificates/hetty.crt
sudo update-ca-certificates

在Windows上,你可以使用证书管理器添加证书。可以通过运行一下命令来启动:

certmgr.msc

其实过程和Burpsuite的安装CA证书的过程差不了太多,不明白的同学也可以直接看这个BurpSuite的视频跟着操作:

新手入门 | 穿越赛博 - 知识盒子 zhishihezi.net uIBvAnF.jpg!mobile

在macOS上,您可以使用“钥匙串访问”程序添加证书。可以在下面找到 Application/Utilities/Keychain Access.app

打开后,将证书拖到应用程序中。接下来,在应用程序中打开证书,进入“信任”部分,然后在“使用此证书时”下选择“始终信任”。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK