這篇文章給大家介紹如何使用Hetty對HTTP進行安全研究審計,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
靈璧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
Hetty是一款針對安全研究設(shè)計的HTTP工具套件,該工具的目標(biāo)是成為一些商業(yè)軟件(比如說BurpSuite Pro)的開源替代產(chǎn)品。該工具的功能十分強大,并且針對信息安全以及漏洞Hunter社區(qū)的需求進行了定制開發(fā)。
中間人攻擊,提供了包含日志記錄的HTTP/1.1代理;
基于項目的數(shù)據(jù)庫存儲(SQLite);
Scope支持;
使用了GraphQL實現(xiàn)管理API;
嵌入式Web接口(js);
需要注意的是,當(dāng)前版本的Hetty仍處于前期開發(fā)階段,之后的版本還將添加更多的功能。
Hetty會對自包含代碼進行編譯,其中包含嵌入式的SQLite數(shù)據(jù)庫和一個基于Web實現(xiàn)的管理員接口。
安裝預(yù)構(gòu)建版本(建議)
廣大研究人員可以直接訪問該項目的【Releases頁面】來下載對應(yīng)操作系統(tǒng)平臺(支持Linux、macOS和Windows)的Hetty。
依賴組件:
Go
Yarn
rice
Hetty的功能實現(xiàn)依賴于SQLite(mattn/go-sqlite3),并且需要cgo來進行編譯。除此之外,管理員面板(Next.js)的靜態(tài)資源需要通過Yarn來生成,并且使用go.rice來嵌入到一個.go文件中。
接下來,使用下列命令將該項目源碼克隆至本地,并使用build命令來創(chuàng)建出項目代碼:
$ git clone git@github.com:dstotijn/hetty.git $ cd hetty $ make build
該工具還能夠以Docker鏡像來使用,該工具的Docker鏡像目前已托管至Docker Hub上:dstotijn/hetty。
如果需要持久存儲CA證書和項目數(shù)據(jù)庫的話,我們還需要運行下列命令來加載卷宗:
$ mkdir -p $HOME/.hetty $ docker run -v $HOME/.hetty:/root/.hetty -p 8080:8080 dstotijn/hetty
Hetty開始運行之后,默認(rèn)會監(jiān)聽8080端口,并且可以通過http://localhost:8080來訪問。根據(jù)傳入的HTTP請求,該工具要么會以中間人(MITM)代理的身份運行,要么以API和Web接口的形式運行。
默認(rèn)配置系啊,項目數(shù)據(jù)庫和CA證書將存儲在用戶主目錄下的.hetty目錄之中。Linux/macOS對應(yīng)的是$HOME,Windows對應(yīng)的是%USERPROFILE%。
接下來,確保hetty路徑已經(jīng)設(shè)置在了$PATH環(huán)境變量中,然后運行下列命令:
$ hetty
下面給出的是工具的幫助文檔和參數(shù)選項:
$ 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代理能夠?qū)⒄埱箜樌l(fā)送到HTTPS節(jié)點,我們需要為Hetty設(shè)置根CA證書。此外,可能需要將CA證書安裝到主機上,以便瀏覽器信任這些證書。以下步驟將介紹如何生成證書,如何將其提供給Hetty,以及如何在本地CA存儲中安裝它們。
可以用兩種不同的方法生成CA密鑰對。第一種方法直接與Hetty捆綁在一起,大大簡化了流程。另一種方法是使用OpenSSL來生成它們,這樣可以更好地控制過期時間和所使用的加密技術(shù),但需要安裝OpenSSL工具。我們建議初學(xué)者使用第一種方式。
使用Hetty生成CA證書
在Hetty首次通過命令行工具運行時,它會在~/.hetty/中生成默認(rèn)密鑰和證書。運行命令如下,不需要任何運行參數(shù):
hetty
此時我們將得到~/.hetty/hetty_key.pem和~/.hetty/hetty_cert.pem,也就是對應(yīng)的密鑰和證書。
我們可以生成一個新的密鑰和CA證書,不過它們將在一個月后過期:
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將會檢查~/.hetty/中的密鑰以及CA證書,也就是對應(yīng)的hetty_key.pem和hetty_cert.pem。我們可以手動將它們移動到這里,Hetty將會自動檢測它們。
hetty -key key.pem -cert cert.pem
為了讓瀏覽器允許網(wǎng)絡(luò)流量通過本地Hetty代理,我們還需要將這些證書安裝在本地CA存儲中。
在Ubuntu中,我們可以使用下列命令更新本地VA存儲,并安裝證書:
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
關(guān)于如何使用Hetty對HTTP進行安全研究審計就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。