Ein GPT-gestütztes Penetrationstest-Tool.
Entdecken Sie die Dokumente »
Designdetails · Demo ansehen · Fehler melden oder Funktion anfordern
virtualenv -p python3 venv
, source venv/bin/activate
)pip3 install git+https://github.com/GreyDGL/PentestGPT
export OPENAI_API_KEY='<your key here>'
, exportieren Sie die API-Basis mit export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
falls erforderlich.pentestgpt-connection
tmux
als Terminalumgebung. Sie können dies tun, indem Sie einfach tmux
im nativen Terminal ausführen.pentestgpt --logging
resources
überprüfen, in denen wir es zur Lösung der HackTheBox-Herausforderung TEMPLATED (Web-Herausforderung) verwenden. PentestGPT wird unter Python 3.10
getestet. Andere Python3-Versionen sollten funktionieren, wurden aber nicht getestet.
PentestGPT verlässt sich auf die OpenAI-API, um eine qualitativ hochwertige Argumentation zu erreichen. Das Installationsvideo finden Sie hier.
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
ausführen. Nach einer Weile sollten Sie ein Beispielgespräch mit ChatGPT sehen. 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
ausführen.poetry
installiert ist. Wenn nicht, lesen Sie bitte die Poesie-Installationsanleitung. Es wird empfohlen, Folgendes auszuführen :
pentestgpt --reasoning_model=gpt-4-turbo
um die neueste GPT-4-turbo-API zu verwenden.pentestgpt --reasoning_model=gpt-4
, wenn Sie Zugriff auf die GPT-4-API haben.pentestgpt --reasoning_model=gpt-3.5-turbo-16k
, wenn Sie nur Zugriff auf die GPT-3.5-API haben. Führen Sie zunächst pentestgpt --args
aus.
--help
zeigt die Hilfemeldung an--reasoning_model
ist das Argumentationsmodell, das Sie verwenden möchten.--parsing_model
ist das Parsing-Modell, das Sie verwenden möchten.--useAPI
gibt an, ob Sie die OpenAI-API verwenden möchten. Standardmäßig ist es auf True
gesetzt.--log_dir
ist das benutzerdefinierte Protokollausgabeverzeichnis. Der Speicherort ist ein relatives Verzeichnis.--logging
legt fest, ob Sie die Protokolle mit uns teilen möchten. Standardmäßig ist es auf False
gesetzt.Das Tool funktioniert ähnlich wie msfconsole . Befolgen Sie die Anleitung zur Durchführung von Penetrationstests.
Im Allgemeinen nimmt PentestGPT ähnliche Befehle entgegen wie chatGPT. Es gibt mehrere grundlegende Befehle.
help
: Zeigt die Hilfemeldung an.next
: Geben Sie das Ergebnis der Testausführung ein und rufen Sie den nächsten Schritt auf.more
: Lassen Sie PentestGPT weitere Details des aktuellen Schritts erklären. Außerdem wird ein neuer Unteraufgabenlöser erstellt, der den Tester anleitet.todo
: Zeigt die Todo-Liste an.discuss
: Diskutieren Sie mit dem PentestGPT .google
: Suche bei Google. Diese Funktion befindet sich noch in der Entwicklung.quit
: Beenden Sie das Tool und speichern Sie die Ausgabe als Protokolldatei (siehe Abschnitt „Berichte“ unten).TAB
verwenden, um die Befehle automatisch zu vervollständigen.ENTER
um das Element auszuwählen. Bestätigen Sie die Auswahl ebenfalls mit <UMSCHALT+Rechtspfeil>. Im von more
initiierten Unteraufgaben-Handler können Benutzer weitere Befehle ausführen, um ein bestimmtes Problem zu untersuchen:
help
: Zeigt die Hilfemeldung an.brainstorm
: Lassen Sie PentestGPT ein Brainstorming zur lokalen Aufgabe durchführen, um alle möglichen Lösungen zu finden.discuss
: Besprechen Sie mit PentestGPT diese lokale Aufgabe.google
: Suche bei Google. Diese Funktion befindet sich noch in der Entwicklung.continue
: Beenden Sie die Unteraufgabe und setzen Sie die Haupttestsitzung fort.pentestgpt --logging
aus. Wir erfassen nur die LLM-Nutzung, ohne Informationen zu Ihrem OpenAI-Schlüssel.logs
erstellt (wenn Sie den Vorgang mit dem Befehl quit
beenden).python3 utils/report_generator.py <log file>
ausgeführt wird. Ein Beispielbericht sample_pentestGPT_log.txt
wird ebenfalls hochgeladen. PentestGPT unterstützt jetzt lokale LLMs, die Eingabeaufforderungen sind jedoch nur für GPT-4 optimiert.
pentestgpt --reasoning_model=gpt4all --parsing_model=gpt4all
ausführen.module_mapping
in pentestgpt/utils/APIs/module_import.py
aktualisieren.module_import.py
, gpt4all.py
und chatgpt_api.py
folgen, um API-Unterstützung für Ihr eigenes Modell zu erstellen. Bitte zitieren Sie unser Papier unter:
@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
}
Verteilt unter der MIT-Lizenz. Weitere Informationen finden Sie unter LICENSE.txt
. Das Tool dient ausschließlich Bildungszwecken und der Autor duldet keine illegale Verwendung. Die Nutzung erfolgt auf eigenes Risiko.
(zurück nach oben)