溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

發(fā)布時(shí)間:2021-12-23 10:02:48 來源:億速云 閱讀:123 作者:柒染 欄目:網(wǎng)絡(luò)管理

這篇文章給大家介紹如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

Hetty

Hetty是一款針對(duì)安全研究設(shè)計(jì)的HTTP工具套件,該工具的目標(biāo)是成為一些商業(yè)軟件(比如說BurpSuite Pro)的開源替代產(chǎn)品。該工具的功能十分強(qiáng)大,并且針對(duì)信息安全以及漏洞Hunter社區(qū)的需求進(jìn)行了定制開發(fā)。

該工具目前提供了下列功能:

中間人攻擊,提供了包含日志記錄的HTTP/1.1代理;

基于項(xiàng)目的數(shù)據(jù)庫存儲(chǔ)(SQLite);

Scope支持;

使用了GraphQL實(shí)現(xiàn)管理API;

嵌入式Web接口(js);

需要注意的是,當(dāng)前版本的Hetty仍處于前期開發(fā)階段,之后的版本還將添加更多的功能。

工具安裝

Hetty會(huì)對(duì)自包含代碼進(jìn)行編譯,其中包含嵌入式的SQLite數(shù)據(jù)庫和一個(gè)基于Web實(shí)現(xiàn)的管理員接口。

安裝預(yù)構(gòu)建版本(建議)

廣大研究人員可以直接訪問該項(xiàng)目的【Releases頁面】來下載對(duì)應(yīng)操作系統(tǒng)平臺(tái)(支持Linux、macOS和Windows)的Hetty。

從源碼構(gòu)建

依賴組件:

  • Go

  • Yarn

  • rice

Hetty的功能實(shí)現(xiàn)依賴于SQLite(mattn/go-sqlite3),并且需要cgo來進(jìn)行編譯。除此之外,管理員面板(Next.js)的靜態(tài)資源需要通過Yarn來生成,并且使用go.rice來嵌入到一個(gè).go文件中。

接下來,使用下列命令將該項(xiàng)目源碼克隆至本地,并使用build命令來創(chuàng)建出項(xiàng)目代碼:

$ git clone git@github.com:dstotijn/hetty.git

$ cd hetty

$ make build

Docker安裝

該工具還能夠以Docker鏡像來使用,該工具的Docker鏡像目前已托管至Docker Hub上:dstotijn/hetty

如果需要持久存儲(chǔ)CA證書和項(xiàng)目數(shù)據(jù)庫的話,我們還需要運(yùn)行下列命令來加載卷宗:

$ mkdir -p $HOME/.hetty

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

工具使用

Hetty開始運(yùn)行之后,默認(rèn)會(huì)監(jiān)聽8080端口,并且可以通過http://localhost:8080來訪問。根據(jù)傳入的HTTP請(qǐng)求,該工具要么會(huì)以中間人(MITM)代理的身份運(yùn)行,要么以API和Web接口的形式運(yùn)行。

默認(rèn)配置系啊,項(xiàng)目數(shù)據(jù)庫和CA證書將存儲(chǔ)在用戶主目錄下的.hetty目錄之中。Linux/macOS對(duì)應(yīng)的是$HOME,Windows對(duì)應(yīng)的是%USERPROFILE%。

接下來,確保hetty路徑已經(jīng)設(shè)置在了$PATH環(huán)境變量中,然后運(yùn)行下列命令:

$ hetty

下面給出的是工具的幫助文檔和參數(shù)選項(xiàng):

$ 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")

此時(shí)我們將看到:

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

接下來,訪問http://localhost:8080即可。

證書配置和安裝

為了讓Hetty代理能夠?qū)⒄?qǐng)求順利發(fā)送到HTTPS節(jié)點(diǎn),我們需要為Hetty設(shè)置根CA證書。此外,可能需要將CA證書安裝到主機(jī)上,以便瀏覽器信任這些證書。以下步驟將介紹如何生成證書,如何將其提供給Hetty,以及如何在本地CA存儲(chǔ)中安裝它們。

生成CA證書

可以用兩種不同的方法生成CA密鑰對(duì)。第一種方法直接與Hetty捆綁在一起,大大簡化了流程。另一種方法是使用OpenSSL來生成它們,這樣可以更好地控制過期時(shí)間和所使用的加密技術(shù),但需要安裝OpenSSL工具。我們建議初學(xué)者使用第一種方式。

使用Hetty生成CA證書

在Hetty首次通過命令行工具運(yùn)行時(shí),它會(huì)在~/.hetty/中生成默認(rèn)密鑰和證書。運(yùn)行命令如下,不需要任何運(yùn)行參數(shù):

hetty

此時(shí)我們將得到~/.hetty/hetty_key.pem和~/.hetty/hetty_cert.pem,也就是對(duì)應(yīng)的密鑰和證書。

使用OpenSSL生成CA證書

我們可以生成一個(gè)新的密鑰和CA證書,不過它們將在一個(gè)月后過期:

mkdir ~/.hetty

openssl req -newkey rsa:2048 -new -nodes -x509 -days 31 -keyout ~/.hetty/hetty_key.pem -out ~/.hetty/hetty_cert.pem

默認(rèn)配置下,Hetty將會(huì)檢查~/.hetty/中的密鑰以及CA證書,也就是對(duì)應(yīng)的hetty_key.pem和hetty_cert.pem。我們可以手動(dòng)將它們移動(dòng)到這里,Hetty將會(huì)自動(dòng)檢測(cè)它們。

hetty -key key.pem -cert cert.pem

信任CA證書

為了讓瀏覽器允許網(wǎng)絡(luò)流量通過本地Hetty代理,我們還需要將這些證書安裝在本地CA存儲(chǔ)中。

在Ubuntu中,我們可以使用下列命令更新本地VA存儲(chǔ),并安裝證書:

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

sudo update-ca-certificates

在Windows中,需要使用證書管理器來添加證書:

certmgr.msc

在macOS下,我們需要使用鑰匙串訪問程序來添加證書:

Application/Utilities/Keychain Access.app

工具運(yùn)行截圖

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)

關(guān)于如何使用Hetty對(duì)HTTP進(jìn)行安全研究審計(jì)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI