淺談新一代AI滲透測試工具 PentestGPT

資訊安全新知分享

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)的範例,如下圖一。

圖一: PentestGPT在HackTheBox挑戰TEMPLATED (Web Challenge)的Demo

  以下的Demo影片(註3) 開發者示範了使用PentestGPT解决HTB Jarvis (中等難度),影片的第一個部分包含了User Access前的過程(圖二),開發者補充說明他有執行Code Injection來嘗試取得使用者權限,只是他忘記錄製影片。

圖二: PentestGPT在HTB Jarvis的Demo

  另一個測試靶機為HTB Lame,難度等級雖然為簡單,但卻有許多試圖誤導解題思路的陷阱,藉由作者的Demo過程可得知目前PentestGPT僅扮演輔助的角色,由於需要測試人員提供嗅探與第三方工具返回的資料給ChatGPT進行分析,若得到的結果不盡滿意,測試人員需要依靠自身的知識脈絡來對AI進行提問,以此來探索解題路徑。下圖為作者在HTB Lame測試中做的諸多嘗試(圖三)。

圖三: PentestGPT在HTB Lame的Demo

  目前PentestGPT在操作上仍需要使用者具有相當的滲透測試知識,才有辦法達到良好的成效。不過PentestGPT能在程式碼、工具執行結果分析與滲透命令生成等工作,扮演了相當出色的助手!最後,作者也提到若PentestGPT能集成Google的搜尋功能應該能更強大。此外,若集成現有成熟的滲透測試工具,可能也會有不錯的表現。

  註1: https://github.com/GreyDGL/PentestGPT

  註2: https://github.com/GreyDGL/PentestGPT/tree/main/resources

  註3: https://www.youtube.com/watch?v=lAjLIj1JT3c

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。