PentestGPT
v0.14.0
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'
사용하여 API 기반을 내보냅니다.pentestgpt-connection
으로 연결 테스트tmux
터미널 환경으로 사용하세요. 기본 터미널에서 tmux
실행하면 됩니다.pentestgpt --logging
resources
에서 이 예를 확인할 수 있습니다. 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>'
사용하여 API 키를 내보냅니다.export OPENAI_BASEURL='https://api.xxxx.xxx/v1'
사용하여 API 기반을 내보냅니다.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 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
실행하세요. OpenAI 키와 관련된 정보 없이 LLM 사용량만 수집합니다.logs
폴더에 보고서가 자동으로 생성됩니다( quit
명령으로 종료한 경우).python3 utils/report_generator.py <log file>
실행하여 보고서를 사람이 읽을 수 있는 형식으로 인쇄할 수 있습니다. 샘플 보고서 sample_pentestGPT_log.txt
도 업로드됩니다. PentestGPT는 이제 로컬 LLM을 지원하지만 프롬프트는 GPT-4에만 최적화되어 있습니다.
pentestgpt --reasoning_model=gpt4all --parsing_model=gpt4all
실행할 수 있습니다.pentestgpt/utils/APIs/module_import.py
에서 module_mapping
클래스를 업데이트하면 됩니다.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
참조하세요. 이 도구는 교육 목적으로만 사용되며 작성자는 불법적인 사용을 용납하지 않습니다. 자신의 위험으로 사용하십시오.
(맨 위로)