เครื่องมือทดสอบการเจาะระบบที่เสริมประสิทธิภาพ 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 API ล่าสุดpentestgpt --reasoning_model=gpt-4
หากคุณมีสิทธิ์เข้าถึง GPT-4 APIpentestgpt --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
: หารือกับ PentestGPTgoogle
: ค้นหาบน 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
สำหรับข้อมูลเพิ่มเติม เครื่องมือนี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้น และผู้เขียนไม่ยอมรับการใช้งานที่ผิดกฎหมาย ใช้เป็นความเสี่ยงของคุณเอง
(กลับไปด้านบน)