PentestGPT:A GPT-empowered penetration testing tool
一、What is PentestGPT?
PentestGPT是一种由大型语言模型(LLMs)赋能的渗透测试工具。它旨在自动化渗透测试过程。它基于ChatGPT构建,并以交互模式运行,以指导渗透测试人员在整体进展和具体操作上。
General Design
PentestGPT提供了一个统一的终端输入处理程序,并由三个主要组件支持:
- 测试生成模块(generation module),用于生成用户执行的确切渗透测试命令或操作。
- 测试推理模块(reasoning module),用于对测试进行推理,指导渗透测试人员下一步要做什么。
- 解析模块(parsing module),用于解析渗透工具的输出和WebUI上的内容。
Function Design
处理程序是渗透测试工具的主要入口点。它允许渗透测试人员执行以下操作:
- 使用预先设计的prompt提示初始化自身。
- 通过提供目标信息启动新的渗透测试会话。
- 获取todo-list待办列表,并获取下一步执行的步骤。
- 渗透测试人员完成实际操作后,将渗透结果信息传递给PentestGPT,这些结果信息包括:
- 工具输出
- 网页内容
- 人类对当前测试结果的描述
- 生成模块还可以启动连续模式,帮助渗透测试人员深入研究特定任务。
Logic Flow Design
- 用户初始化所有会话。
- 用户通过以下几个步骤完成初始化任务。
- 用户向ReasoningSession提供目标信息。
- ReasoningSession根据目标信息生成任务树。
- ReasoningSession决定下一步要做的事情,并将信息传递给GenerationSession。
- GenerationSession生成用户执行的确切命令,并将其传递给用户。
- 进入主循环。用户可以选择以下几个步骤:
- 向PentestGPT提供todo-list待办列表执行结果。
- 用户将工具的输出提供给ParsingSession。
- ParsingSession解析输出,并将信息传递给ReasoningSession。
- ReasoningSession根据信息更新任务树。
- 重复执行步骤3.2.1-3.2.3。
- 询问待办事项。
- ReasoningSession分析任务树。它决定下一个待办事项,包括(1)自然语言描述和(2)要执行的确切命令。
- ReasoningSession将信息传递给GenerationSession进行进一步验证。
- GenerationSession生成用户执行的确切命令,并将其传递给用户。
- 通过提供任意信息与PentestGPT讨论。
- 用户将信息提供给ParsingSession。
- ParsingSession解析信息: 如果信息太长,进行摘要。 否则,重新表述。
- ReasoningSession分析信息并更新任务树。
- 向PentestGPT提供todo-list待办列表执行结果。
- 退出程序。
下面显示了一个流程图:
参考链接:
https://github.com/GreyDGL/PentestGPT/blob/main/PentestGPT_design.md https://github.com/GreyDGL/PentestGPT
二、关于LLM赋能安全领域的必要组成条件思考
- 历史操作过程(status db)需要以某种形式记录,并且LLM的token窗口能够允许每次请求时status db作为context。
- 值得注意的是,需要记录哪些信息,以什么样的格式记录,这部分需要领域专家进行人工定义,属于领域先验知识的部分。
- 任务必须能够被分解为多个子步骤。
- 最好通过领域专家通过few-shot的方式预先定义好任务步骤分解的套路,这部分也属于领域先验知识的部分。
- 涉及到工具调用和返回结果解析和具体垂直领域和具体的工具强相关,协议解析和信息格式提取是一个重工作量的领域。
三、通过GPT进行多步骤Webshell生成
分类:
大模型技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-09-14 《与身处逆境员工的对话录》-- 任正非 2000年1月14日
2015-09-14 wordpress /wp-content/plugins/wp-symposium/server/php/UploadHandler.php File Arbitrary Upload Vul
2014-09-14 中间件、MetaQ入门学习