智能摘要 AI
PentestGPT 是一款基于 ChatGPT 的渗透测试工具,旨在自动化渗透测试过程。它依赖于 GPT-4 模型,要求用户为 ChatGPT Plus 会员,并支持简单到中等难度的 HackTheBox 和 CTF 挑战。安装时需配置 Cookie 或 API 密钥,并可通过命令行启动工具。主要功能包括接收测试结果、请求更多解释、显示待办事项、与工具讨论及谷歌搜索(开发中)。PentestGPT 提供交互式界面,类似 msfconsole,适合解决网络安全问题。未来计划包括撰写相关技术论文,并持续改进工具性能。
常见问题
- 问: PentestGPT 是什么?
- 问: 我需要成为 ChatGPT plus 会员才能使用 PentestGPT 吗?
- 问: 为什么选择 GPT-4?
- 问: 为什么不直接使用 GPT-4?
- 问: AutoGPT 怎么样?
- 问: 未来的计划?
- 答: 我们正在撰写一篇论文来探索自动化渗透测试背后的技术细节。同时,请随时提出问题/讨论。我会尽力解决所有这些问题。
入门
PentestGPT 是一款由 ChatGPT 赋能的渗透测试工具。它旨在自动化渗透测试过程,能够解决简单到中等的 HackTheBox 机器和其他 CTF 挑战。您可以在我们使用它解决 HackTheBox 挑战TEMPLATED (网络挑战)的地方查看此示例。资源文件提供了 PentestGPT 在目标 VulnHub 机器 (Hackable II) 上的示例测试过程。
下面是一个示例使用视频:(或在此处提供:演示)
安装
如果您想使用 cookie 设置,我们建议您在安装前观看此安装视频。
- 安装 requirements.txtCopy Codepip install -r requirements.txt
- 在
config中配置 cookie。您可以按照config/chatgpt_config_sample.py的示例进行操作,复制为config/chatgpt_config.py。如果您使用 cookie,请观看此视频:https://youtu.be/IbUcj0F9EBc。一般步骤是:- 登录到 ChatGPT 会话页面。
- 在
Inspect - Network中查找与 ChatGPT 会话页面的连接。 - 在
request to中找到request header中的cookie https://chat.openai.com/api/auth/session,粘贴到 cookie 的字段中config/chatgpt_config.py。(您可以使用Inspect->Network,找到会话并将字段cookie复制到request_headers中的https://chat.openai.com/api/auth/session)请注意,由于 ChatGPT 页面的更新,其他字段已暂时弃用。 - 填写
userAgent您的用户代理。
- 如果您使用的是 API:在
config中填写 OpenAI API 密钥chatgpt_config.py。要验证连接配置是否正确,您可以运行python3 test_connection.py。您应该会看到一些与 ChatGPT 的示例对话。示例输出如下:Copy Code1. You’re connected with ChatGPT Plus cookie.
To start PentestGPT, please use <python3 main.py –reasoning_model=gpt-4>
## Test connection for OpenAI api (GPT-4)
2. You’re connected with OpenAI API. You have GPT-4 access.
To start PentestGPT, please use <python3 main.py –reasoning_model=gpt-4 –useAPI>
## Test connection for OpenAI api (GPT-3.5)
3. You’re connected with OpenAI API. You have GPT-3.5 access.
To start PentestGPT, please use <python3 main.py –reasoning_model=gpt-3.5-turbo –useAPI>注意:以上验证过程为 cookie。如果多次尝试后仍遇到错误,请尝试刷新页面,重复以上步骤,再试一次。您也可以尝试用 cookie 来https://chat.openai.com/backend-api/conversations。如果您遇到任何问题,请提交问题。
用法
要开始,请运行 python3 main.py --args。
--reasoning_model是您要使用的推理模型。--useAPI是否要使用 OpenAI API。
建议您使用建议的组合 test_connection.py,它们是:
Copy Codepython3 main.py --reasoning_model=gpt-4
python3 main.py --reasoning_model=gpt-4 --useAPI
python3 main.py --reasoning_model=gpt-3.5-turbo --useAPI
该工具的工作方式类似于 msfconsole。按照指南执行渗透测试。
一般来说,PentestGPT 接收类似于 chatGPT 的命令。有几个基本命令:
help: 显示帮助信息。next:输入测试执行结果,进入下一步。more: 让 PentestGPT 解释当前步骤的更多细节。此外,将创建一个新的子任务解决器来指导测试人员。todo: 显示待办事项列表。discuss: 与 PentestGPT 讨论。google: 谷歌搜索。此功能仍在开发中。quit:退出工具并将输出保存为日志文件(请参阅下面的报告部分)。
您可以使用 <SHIFT + right arrow> 结束输入(并且用于下一行)。您可能总是使用 TAB 自动完成命令。当您获得下拉选择列表时,您可以使用光标或箭头键在列表中导航。按下 ENTER 以选择项目。同样,使用 <SHIFT + 向右箭头> 确认选择。
在由发起的子任务处理程序中 more,用户可以执行更多命令来调查特定问题:
help: 显示帮助信息。brainstorm:让 PentestGPT 在本地任务上集思广益,寻找所有可能的解决方案。discuss: 与 PentestGPT 讨论这个本地任务。google: 谷歌搜索。此功能仍在开发中。continue:退出子任务并继续主测试会话。





评论 (0)