您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何使用Hetty對HTTP進行安全研究審計,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Hetty是一款針對安全研究設計的HTTP工具套件,該工具的目標是成為一些商業軟件(比如說BurpSuite Pro)的開源替代產品。該工具的功能十分強大,并且針對信息安全以及漏洞Hunter社區的需求進行了定制開發。
中間人攻擊,提供了包含日志記錄的HTTP/1.1代理;
基于項目的數據庫存儲(SQLite);
Scope支持;
使用了GraphQL實現管理API;
嵌入式Web接口(js);
需要注意的是,當前版本的Hetty仍處于前期開發階段,之后的版本還將添加更多的功能。
Hetty會對自包含代碼進行編譯,其中包含嵌入式的SQLite數據庫和一個基于Web實現的管理員接口。
安裝預構建版本(建議)
廣大研究人員可以直接訪問該項目的【Releases頁面】來下載對應操作系統平臺(支持Linux、macOS和Windows)的Hetty。
依賴組件:
Go
Yarn
rice
Hetty的功能實現依賴于SQLite(mattn/go-sqlite3),并且需要cgo來進行編譯。除此之外,管理員面板(Next.js)的靜態資源需要通過Yarn來生成,并且使用go.rice來嵌入到一個.go文件中。
接下來,使用下列命令將該項目源碼克隆至本地,并使用build命令來創建出項目代碼:
$ git clone git@github.com:dstotijn/hetty.git $ cd hetty $ make build
該工具還能夠以Docker鏡像來使用,該工具的Docker鏡像目前已托管至Docker Hub上:dstotijn/hetty。
如果需要持久存儲CA證書和項目數據庫的話,我們還需要運行下列命令來加載卷宗:
$ mkdir -p $HOME/.hetty $ docker run -v $HOME/.hetty:/root/.hetty -p 8080:8080 dstotijn/hetty
Hetty開始運行之后,默認會監聽8080端口,并且可以通過http://localhost:8080來訪問。根據傳入的HTTP請求,該工具要么會以中間人(MITM)代理的身份運行,要么以API和Web接口的形式運行。
默認配置系啊,項目數據庫和CA證書將存儲在用戶主目錄下的.hetty目錄之中。Linux/macOS對應的是$HOME,Windows對應的是%USERPROFILE%。
接下來,確保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密鑰對。第一種方法直接與Hetty捆綁在一起,大大簡化了流程。另一種方法是使用OpenSSL來生成它們,這樣可以更好地控制過期時間和所使用的加密技術,但需要安裝OpenSSL工具。我們建議初學者使用第一種方式。
使用Hetty生成CA證書
在Hetty首次通過命令行工具運行時,它會在~/.hetty/中生成默認密鑰和證書。運行命令如下,不需要任何運行參數:
hetty
此時我們將得到~/.hetty/hetty_key.pem和~/.hetty/hetty_cert.pem,也就是對應的密鑰和證書。
我們可以生成一個新的密鑰和CA證書,不過它們將在一個月后過期:
mkdir ~/.hetty openssl req -newkey rsa:2048 -new -nodes -x509 -days 31 -keyout ~/.hetty/hetty_key.pem -out ~/.hetty/hetty_cert.pem
默認配置下,Hetty將會檢查~/.hetty/中的密鑰以及CA證書,也就是對應的hetty_key.pem和hetty_cert.pem。我們可以手動將它們移動到這里,Hetty將會自動檢測它們。
hetty -key key.pem -cert cert.pem
為了讓瀏覽器允許網絡流量通過本地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
關于如何使用Hetty對HTTP進行安全研究審計就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。