Un outil de test d'intrusion compatible GPT.
Explorer les documents »
Détails de conception · Voir la démo · Signaler un bug ou demander une fonctionnalité
virtualenv -p python3 venv
, source venv/bin/activate
)pip3 install git+https://github.com/GreyDGL/PentestGPT
export OPENAI_API_KEY='<your key here>'
, exportez la base API avec export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
si vous en avez besoin.pentestgpt-connection
tmux
comme environnement de terminal. Vous pouvez le faire en exécutant simplement tmux
dans le terminal natif.pentestgpt --logging
resources
où nous l'utilisons pour résoudre le défi HackTheBox TEMPLATED (défi Web). PentestGPT est testé sous Python 3.10
. Les autres versions de Python3 devraient fonctionner mais ne sont pas testées.
PentestGPT s'appuie sur l'API OpenAI pour obtenir un raisonnement de haute qualité. Vous pouvez vous référer à la vidéo d'installation ici.
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'
si vous en avez besoin.pentestgpt-connection
pentestgpt-connection
. Après un certain temps, vous devriez voir un exemple de conversation avec 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
est installée. Dans le cas contraire, veuillez vous référer au guide d'installation de la poésie. Il est recommandé d'exécuter :
pentestgpt --reasoning_model=gpt-4-turbo
pour utiliser la dernière API GPT-4-turbo.pentestgpt --reasoning_model=gpt-4
si vous avez accès à l'API GPT-4.pentestgpt --reasoning_model=gpt-3.5-turbo-16k
si vous n'avez accès qu'à l'API GPT-3.5. Pour commencer, exécutez pentestgpt --args
.
--help
afficher le message d'aide--reasoning_model
est le modèle de raisonnement que vous souhaitez utiliser.--parsing_model
est le modèle d'analyse que vous souhaitez utiliser.--useAPI
indique si vous souhaitez utiliser l'API OpenAI. Par défaut, il est défini sur True
.--log_dir
est le répertoire de sortie du journal personnalisé. L'emplacement est un répertoire relatif.--logging
définit si vous souhaitez partager les journaux avec nous. Par défaut, il est défini sur False
.L'outil fonctionne de manière similaire à msfconsole . Suivez les instructions pour effectuer des tests d’intrusion.
En général, PentestGPT accepte des commandes similaires à chatGPT. Il existe plusieurs commandes de base.
help
: affiche le message d'aide.next
: saisissez le résultat de l'exécution du test et passez à l'étape suivante.more
: laissez PentestGPT expliquer plus en détail l'étape en cours. De plus, un nouveau solveur de sous-tâches sera créé pour guider le testeur.todo
: afficher la liste des tâches.discuss
: discuter avec le PentestGPT .google
: recherche sur Google. Cette fonction est encore en développement.quit
: quittez l'outil et enregistrez la sortie sous forme de fichier journal (voir la section de reporting ci-dessous).TAB
pour compléter automatiquement les commandes.ENTER
pour sélectionner l'élément. De même, utilisez <SHIFT + flèche droite> pour confirmer la sélection. Dans le gestionnaire de sous-tâches lancé par more
, les utilisateurs peuvent exécuter davantage de commandes pour enquêter sur un problème spécifique :
help
: affiche le message d'aide.brainstorm
: laissez PentestGPT réfléchir à la tâche locale pour toutes les solutions possibles.discuss
: discutez avec PentestGPT de cette tâche locale.google
: recherche sur Google. Cette fonction est encore en développement.continue
: quittez la sous-tâche et continuez la session de test principale.pentestgpt --logging
. Nous collecterons uniquement l'utilisation du LLM, sans aucune information relative à votre clé OpenAI.logs
(si vous quittez avec la commande quit
).python3 utils/report_generator.py <log file>
. Un exemple de rapport sample_pentestGPT_log.txt
est également téléchargé. PentestGPT prend désormais en charge les LLM locaux, mais les invites ne sont optimisées que pour GPT-4.
pentestgpt --reasoning_model=gpt4all --parsing_model=gpt4all
.module_mapping
dans pentestgpt/utils/APIs/module_import.py
.module_import.py
, gpt4all.py
et chatgpt_api.py
pour créer un support API pour votre propre modèle. Veuillez citer notre article à l'adresse :
@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
}
Distribué sous licence MIT. Voir LICENSE.txt
pour plus d'informations. L'outil est uniquement destiné à des fins éducatives et l'auteur ne tolère aucune utilisation illégale. Utilisez-le à vos propres risques.
(retour en haut)