資訊安全新知分享
NEITHNET 資安實驗室
PentestGPT(註1)是一款由ChatGPT驅動的滲透測試工具,它以ChatGPT為引擎,並以使用者交互模式運行,引導滲透測試人員進行操作。由於目前PentestGPT依賴GPT-4模型進行高品質的滲透測試推理,所以必須擁有ChatGPT plus會員才能使用。
不直接在GPT-4上使用的原因,在於隨著測試時間拉長,GPT-4容易丟失上下文,由於上下文的感知是透過Token,當執行長度將Token耗盡,就容易發生結果與前提不一致的情況。
開發者目前釋出了一些Demo影片,PentestGPT目前能夠解決從簡單到中等難度的HackTheBox機器和其他CTF挑戰。可以在resources(註2)中查看官方使用它來解決HackTheBox挑戰TEMPLATED (Web Challenge)的範例,如下圖一。
以下的Demo影片(註3) 開發者示範了使用PentestGPT解决HTB Jarvis (中等難度),影片的第一個部分包含了User Access前的過程(圖二),開發者補充說明他有執行Code Injection來嘗試取得使用者權限,只是他忘記錄製影片。
另一個測試靶機為HTB Lame,難度等級雖然為簡單,但卻有許多試圖誤導解題思路的陷阱,藉由作者的Demo過程可得知目前PentestGPT僅扮演輔助的角色,由於需要測試人員提供嗅探與第三方工具返回的資料給ChatGPT進行分析,若得到的結果不盡滿意,測試人員需要依靠自身的知識脈絡來對AI進行提問,以此來探索解題路徑。下圖為作者在HTB Lame測試中做的諸多嘗試(圖三)。
目前PentestGPT在操作上仍需要使用者具有相當的滲透測試知識,才有辦法達到良好的成效。不過PentestGPT能在程式碼、工具執行結果分析與滲透命令生成等工作,扮演了相當出色的助手!最後,作者也提到若PentestGPT能集成Google的搜尋功能應該能更強大。此外,若集成現有成熟的滲透測試工具,可能也會有不錯的表現。
註1: https://github.com/GreyDGL/PentestGPT
註2: https://github.com/GreyDGL/PentestGPT/tree/main/resources