Alat pengujian penetrasi yang didukung GPT.
Jelajahi dokumen »
Detail Desain · Lihat Demo · Laporkan Bug atau Fitur Permintaan
virtualenv -p python3 venv
, source venv/bin/activate
)pip3 install git+https://github.com/GreyDGL/PentestGPT
export OPENAI_API_KEY='<your key here>'
,ekspor basis API dengan export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
jika perlu.pentestgpt-connection
tmux
sebagai lingkungan terminal. Anda dapat melakukannya hanya dengan menjalankan tmux
di terminal asli.pentestgpt --logging
resources
tempat kami menggunakannya untuk menyelesaikan tantangan HackTheBox TEMPLATED (tantangan web). PentestGPT diuji dengan Python 3.10
. Versi Python3 lainnya seharusnya berfungsi tetapi tidak diuji.
PentestGPT mengandalkan OpenAI API untuk mencapai penalaran berkualitas tinggi. Anda dapat merujuk ke video instalasi di sini.
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'
jika Anda membutuhkannya.pentestgpt-connection
pentestgpt-connection
. Setelah beberapa saat, Anda akan melihat beberapa contoh percakapan dengan 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
sudah terpasang. Jika belum, silakan merujuk pada panduan instalasi puisi. Anda disarankan untuk menjalankan :
pentestgpt --reasoning_model=gpt-4-turbo
untuk menggunakan API GPT-4-turbo terbaru.pentestgpt --reasoning_model=gpt-4
jika Anda memiliki akses ke API GPT-4.pentestgpt --reasoning_model=gpt-3.5-turbo-16k
jika Anda hanya memiliki akses ke API GPT-3.5. Untuk memulai, jalankan pentestgpt --args
.
--help
menampilkan pesan bantuan--reasoning_model
adalah model penalaran yang ingin Anda gunakan.--parsing_model
adalah model parsing yang ingin Anda gunakan.--useAPI
adalah apakah Anda ingin menggunakan OpenAI API. Secara default, ini disetel ke True
.--log_dir
adalah direktori keluaran log yang disesuaikan. Lokasi adalah direktori relatif.--logging
menentukan apakah Anda ingin berbagi log dengan kami. Secara default diatur ke False
.Alat ini bekerja mirip dengan msfconsole . Ikuti panduan untuk melakukan pengujian penetrasi.
Secara umum, perintah masukan PentestGPT mirip dengan chatGPT. Ada beberapa perintah dasar.
help
: tampilkan pesan bantuan.next
: masukkan hasil eksekusi tes dan dapatkan langkah berikutnya.more
: izinkan PentestGPT menjelaskan lebih detail langkah saat ini. Selain itu, pemecah subtugas baru akan dibuat untuk memandu penguji.todo
: menampilkan daftar tugas.discuss
: berdiskusi dengan PentestGPT .google
: cari di Google. Fungsi ini masih dalam pengembangan.quit
: keluar dari alat dan simpan hasilnya sebagai file log (lihat bagian pelaporan di bawah).TAB
untuk melengkapi perintah secara otomatis.ENTER
untuk memilih item. Demikian pula, gunakan <SHIFT + panah kanan> untuk mengonfirmasi pilihan. Dalam pengendali sub-tugas yang dimulai oleh more
, pengguna dapat menjalankan lebih banyak perintah untuk menyelidiki masalah tertentu:
help
: tampilkan pesan bantuan.brainstorm
: biarkan PentestGPT bertukar pikiran tentang tugas lokal untuk semua kemungkinan solusi.discuss
: berdiskusi dengan PentestGPT tentang tugas lokal ini.google
: cari di Google. Fungsi ini masih dalam pengembangan.continue
: keluar dari subtugas dan melanjutkan sesi pengujian utama.pentestgpt --logging
. Kami hanya akan mengumpulkan penggunaan LLM, tanpa informasi apa pun terkait dengan kunci OpenAI Anda.logs
(jika Anda keluar dengan perintah quit
).python3 utils/report_generator.py <log file>
. Contoh laporan sample_pentestGPT_log.txt
juga diunggah. PentestGPT sekarang mendukung LLM lokal, tetapi perintahnya hanya dioptimalkan untuk GPT-4.
pentestgpt --reasoning_model=gpt4all --parsing_model=gpt4all
.module_mapping
di pentestgpt/utils/APIs/module_import.py
.module_import.py
, gpt4all.py
dan chatgpt_api.py
untuk membuat dukungan API untuk model Anda sendiri. Silakan kutip makalah kami di:
@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
}
Didistribusikan di bawah Lisensi MIT. Lihat LICENSE.txt
untuk informasi lebih lanjut. Alat ini hanya untuk tujuan pendidikan dan penulis tidak membenarkan penggunaan ilegal apa pun. Gunakan sebagai risiko Anda sendiri.
(kembali ke atas)