关于PentestGPT
PentestGPT是一款由ChatGPT驱动的强大渗透测试工具,该工具旨在实现渗透测试任务执行过程的自动化。该工具基于ChatGPT实现其功能,允许广大研究人员以交互式的方式使用,并指导渗透测试人员进行渗透测试任务的总体进度调控并执行指定操作。
除此之外,PentestGPT还能够用于HackTheBox和CTF挑战等安全研究场景。
工具安装
PentestGPT当前支持以ChatGPT和OpenAI API作为后端运行,我们可以选择其中一个来使用。当前开发人员也正在添加自定义本地LLM模块的支持,如果你想要稳定运行以及较好的性能,建议使用OpenAI API。
首先,我们可以使用下列命令将该项目源码克隆至本地:
pip3 install git+https://github.com/GreyDGL/PentestGPT
如果你打算使用ChatGPT作为后端,首先则需要获取Cookie来访问ChatGPT会话:
$ pentestgpt-cookie export CHATGPT_COOKIE='<your cookie here>`
复制下列命令并在命令行工具中运行:
export CHATGPT_COOKIE='<big-string-you-shall-get-from-the-previous-command>'
然后使用下列命令测试连接:
pentestgpt-connection
最后使用下列命令运行工具即可:
pentestgpt
如需使用OpenAI API,则需要先使用下列命令导出API密钥:
export OPENAI_KEY='<your key here>'
然后使用下列命令测试连接:
pentestgpt-connection
如需验证连接配置是否正确,在运行上述测试命令后,你将会看到如下所示的输出样例(与ChatGPT的连接会话样例):
1. You're connected with ChatGPT Plus cookie. To start PentestGPT, please use <pentestgpt --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 <pentestgpt --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 <pentestgpt --reasoning_model=gpt-3.5-turbo --useAPI>
需要注意的是,ChatGPT的Cookie解决方案可能不是非常稳定,开发人员也一直在努力尝试设计更好的解决方案。
工具使用
pentestgpt --args
可选参数
--reasoning_model:设置需要使用的推理模型;
--useAPI:设置是否需要使用OpenAI API;
使用样例
pentestgpt --reasoning_model=gpt-4
pentestgpt --reasoning_model=gpt-4 --useAPI
pentestgpt --reasoning_model=gpt-3.5-turbo --useAPI
报告和日志
渗透测试完成之后,工具将在logs目录中自动生成一份测试报告。
我们也可以使用下列命令让工具生成一份可读格式的报告:
python3 utils/report_generator.py <log file>
其他参数
help:显示工具帮助信息;
next:执行下一步渗透测试任务操作;
more:让PentestGPT解释当前步骤的详情,给予测试人员指引;
todo:显示待办列表;
discuss:与PentestGPT聊天;
google:执行Google搜索;
quit:退出工具并将结果输出保存到日志中;
工具安装演示
演示视频:【点我观看】
工具使用演示
演示视频:【点我观看】
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
PentestGPT:【GitHub传送门】