أداة اختبار الاختراق المدعمة بـ 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 TEMPLATED (تحدي الويب). تم اختبار 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
لاستخدام أحدث واجهة برمجة تطبيقات GPT-4-turbo.pentestgpt --reasoning_model=gpt-4
إذا كان لديك حق الوصول إلى GPT-4 API.pentestgpt --reasoning_model=gpt-3.5-turbo-16k
إذا كان لديك حق الوصول إلى GPT-3.5 API فقط. للبدء، قم بتشغيل 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
: ابحث في جوجل. هذه الوظيفة لا تزال قيد التطوير.quit
: اخرج من الأداة واحفظ المخرجات كملف سجل (راجع قسم إعداد التقارير أدناه).TAB
للإكمال التلقائي للأوامر.ENTER
لتحديد العنصر. وبالمثل، استخدم <SHIFT + السهم الأيمن> لتأكيد التحديد. في معالج المهام الفرعية الذي يبدأ بواسطة more
، يمكن للمستخدمين تنفيذ المزيد من الأوامر للتحقيق في مشكلة معينة:
help
: إظهار رسالة المساعدة.brainstorm
: اسمح لـ PentestGPT بالعصف الذهني حول المهمة المحلية لجميع الحلول الممكنة.discuss
: ناقش مع PentestGPT حول هذه المهمة المحلية.google
: ابحث في جوجل. هذه الوظيفة لا تزال قيد التطوير.continue
: الخروج من المهمة الفرعية ومواصلة جلسة الاختبار الرئيسية.pentestgpt --logging
. سنقوم فقط بجمع استخدام LLM، دون أي معلومات تتعلق بمفتاح OpenAI الخاص بك.logs
(إذا قمت بالخروج باستخدام أمر quit
).python3 utils/report_generator.py <log file>
. تم أيضًا تحميل نموذج تقرير sample_pentestGPT_log.txt
. يدعم PentestGPT الآن LLMs المحلية، ولكن تم تحسين المطالبات فقط لـ 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
}
وزعت بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. راجع LICENSE.txt
لمزيد من المعلومات. الأداة للأغراض التعليمية فقط ولا يتغاضى المؤلف عن أي استخدام غير قانوني. استخدم على مسؤوليتك الخاصة.
(العودة إلى الأعلى)