Инструмент тестирования на проникновение на базе GPT.
Изучите документацию »
Детали дизайна · Посмотреть демонстрацию · Сообщить об ошибке или запросить функцию
virtualenv -p python3 venv
, source venv/bin/activate
)pip3 install git+https://github.com/GreyDGL/PentestGPT
export OPENAI_API_KEY='<your key here>'
, экспортируйте базу API с помощью export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
если вам нужно.pentestgpt-connection
tmux
в качестве терминальной среды. Вы можете сделать это, просто запустив tmux
в собственном терминале.pentestgpt --logging
resources
, где мы используем его для решения ШАБЛОННОЙ задачи HackTheBox (веб-задача). PentestGPT протестирован под Python 3.10
. Другие версии Python3 должны работать, но не тестировались.
PentestGPT использует OpenAI API для достижения высококачественных рассуждений. Вы можете посмотреть видео по установке здесь.
pip3 install git+https://github.com/GreyDGL/PentestGPT
git clone https://github.com/GreyDGL/PentestGPT
cd PentestGPT
pip3 install -e .
export OPENAI_API_KEY='<your key here>'
export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
если вам нужно.pentestgpt-connection
pentestgpt-connection
. Через некоторое время вы должны увидеть пример разговора с ChatGPT. You're testing the connection for PentestGPT v 0.11.0
#### Test connection for OpenAI api (GPT-4)
1. You're connected with OpenAI API. You have GPT-4 access. To start PentestGPT, please use <pentestgpt --reasoning_model=gpt-4>
#### Test connection for OpenAI api (GPT-3.5)
2. You're connected with OpenAI API. You have GPT-3.5 access. To start PentestGPT, please use <pentestgpt --reasoning_model=gpt-3.5-turbo-16k>
pentestgpt --reasoning_model=gpt-4 --useAPI=False
.poetry
установлена. Если нет, обратитесь к руководству по установке поэтики. Вам рекомендуется запустить :
pentestgpt --reasoning_model=gpt-4-turbo
чтобы использовать новейший API GPT-4-turbo.pentestgpt --reasoning_model=gpt-4
, если у вас есть доступ к API GPT-4.pentestgpt --reasoning_model=gpt-3.5-turbo-16k
если у вас есть доступ только к API GPT-3.5. Для начала запустите pentestgpt --args
.
--help
показать справочное сообщение--reasoning_model
— модель рассуждения, которую вы хотите использовать.--parsing_model
— модель синтаксического анализа, которую вы хотите использовать.--useAPI
— хотите ли вы использовать OpenAI API. По умолчанию установлено значение True
.--log_dir
— это настроенный каталог вывода журнала. Местоположение является относительным каталогом.--logging
определяет, хотите ли вы поделиться с нами журналами. По умолчанию установлено значение False
.Инструмент работает аналогично msfconsole . Следуйте инструкциям для проведения тестирования на проникновение.
В целом PentestGPT принимает команды, аналогичные ChatGPT. Существует несколько основных команд.
help
: показать справочное сообщение.next
: введите результат выполнения теста и перейдите к следующему шагу.more
: позвольте PentestGPT объяснить более подробную информацию о текущем шаге. Кроме того, будет создан новый модуль решения подзадач, который поможет тестировщику.todo
: показать список дел.discuss
: обсудить с PentestGPT .google
: поиск в Google. Эта функция все еще находится в стадии разработки.quit
: выйти из инструмента и сохранить выходные данные в виде файла журнала (см. раздел отчетов ниже).TAB
для автозаполнения команд.ENTER
чтобы выбрать элемент. Аналогичным образом используйте <SHIFT + стрелка вправо> для подтверждения выбора. В обработчике подзадачи, инициированном more
, пользователи могут выполнять больше команд для исследования конкретной проблемы:
help
: показать справочное сообщение.brainstorm
: позвольте PentestGPT провести мозговой штурм по локальной задаче и найти все возможные решения.discuss
: обсудить с PentestGPT эту локальную задачу.google
: поиск в Google. Эта функция все еще находится в стадии разработки.continue
: выйти из подзадачи и продолжить основной сеанс тестирования.pentestgpt --logging
. Мы будем собирать только данные об использовании LLM без какой-либо информации, связанной с вашим ключом OpenAI.logs
будет автоматически создан отчет (если вы выйдете с помощью команды quit
).python3 utils/report_generator.py <log file>
. Также загружается образец отчета sample_pentestGPT_log.txt
. PentestGPT теперь поддерживает локальные LLM, но запросы оптимизированы только для GPT-4.
pentestgpt --reasoning_model=gpt4all --parsing_model=gpt4all
.module_mapping
в pentestgpt/utils/APIs/module_import.py
.module_import.py
, gpt4all.py
chatgpt_api.py
, чтобы создать поддержку API для вашей собственной модели. Пожалуйста, цитируйте нашу статью по адресу:
@inproceedings {299699,
author = {Gelei Deng and Yi Liu and V{'i}ctor Mayoral-Vilches and Peng Liu and Yuekang Li and Yuan Xu and Tianwei Zhang and Yang Liu and Martin Pinzger and Stefan Rass},
title = {{PentestGPT}: Evaluating and Harnessing Large Language Models for Automated Penetration Testing},
booktitle = {33rd USENIX Security Symposium (USENIX Security 24)},
year = {2024},
isbn = {978-1-939133-44-1},
address = {Philadelphia, PA},
pages = {847--864},
url = {https://www.usenix.org/conference/usenixsecurity24/presentation/deng},
publisher = {USENIX Association},
month = aug
}
Распространяется по лицензии MIT. Дополнительную информацию см. в LICENSE.txt
. Инструмент предназначен исключительно для образовательных целей, и автор не оправдывает его незаконное использование. Используйте на свой страх и риск.
(вернуться к началу)