常见问题
- 问: 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
:退出子任务并继续主测试会话。
📮评论