
다양한 테스트 작업을 수행할 때 일상적인 프로세스를 자동화하기 위한 오픈소스, 크로스플랫폼 및 휴대용 툴킷!
Pentest Collaboration Framework - 테스트와 관련된 다양한 작업을 수행할 때 일상적인 프로세스를 자동화하기 위한 오픈소스, 크로스 플랫폼, 휴대 가능한 툴킷입니다!
문서 살펴보기 »
Python3만 있으면 됩니다.
⚠️Python3 <= 3.9 버전을 사용하는 것이 좋습니다. 또는 PIP가 Python 종속성 패키지를 컴파일하게 될 수 있다는 점을 감안해야 합니다.
이 컴파일 과정에서 다른 시스템 종속성을 설치해야 할 수도 있습니다.
프로젝트 다운로드:```sh git clone https://gitlab.com/invuls/pentest-projects/pcf.git
폴더로 이동:```bash
cd pcf
의존성 설치 (유닉스 기반 시스템용):```bash pip3 install -r requirements_unix.txt
또는 windows:```bash
pip.exe install -r requirements_windows.txt
초기화 스크립트 실행:
(이 스크립트는 데이터베이스를 재생성하지만, )```bash
python3 new_initiation.py
또는 Windows```bash
# !!! read the text and input "DELETE_ALL" string
python.exe new_initiation.py
구성 편집:```bash nano configuration/settings.ini
실행:```bash
old version: python3 app.py
new version: python3 run.py
또는 windows```bash old version: python.exe app.py new version: python.exe run.py
## ☁️ Heroku
⚠️ 2022년 11월부터 Heroku 무료 티어에는 PostgreSQL이 포함되지 않습니다. 따라서 유료 계정에서만 사용할 수 있습니다.⚠️
### 👍 쉬운 방법
우리 GitHub 저장소에서 배포:
[](https://dashboard.heroku.com/new-app?template=https://github.com/drakylar/pcf_FORK_CHECK_GITLAB)
주의: GitHub 저장소의 마지막 push 버전을 확인하세요!
😓더 어렵고 💀불가능한 방법은
[🌐wiki 페이지](https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/Heroku%20installation)에서 확인할 수 있습니다!
## ☁️ AWS
아래 링크를 따라 AWS Marketplace에서 PCF를 설치하면 됩니다:
[](https://aws.amazon.com/marketplace/pp/B08XMGYCHR)
## :whale: Docker
#### 원라인 설치
_추후 추가 예정!_
#### 직접 빌드하기
저장소 클론```bash
git clone https://gitlab.com/invuls/pentest-projects/pcf.git
폴더로 이동:```bash cd pcf
docker-compose 실행:```bash
# if it clean installation run this:
# rm ./configuration/database.sqlite3
docker-compose up
and go to URL```bash http://127.0.0.1:5000/
# 🤸 사용법
기본 포트(설정 확인): 5000
기본 IP(localhost에서 실행 시): 127.0.0.1
1. http(s)://\<ip\>:\<port\>/register 에서 등록
2. http(s)://\<ip\>:\<port\>/login 에서 로그인
3. 필요 시 http(s)://\<ip\>:\<port\>/create_team 에서 팀 생성
4. http(s)://\<ip\>:\<port\>/new_project 에서 프로젝트 생성
5. 해킹 프로세스를 즐기세요!
API 정보: https://gitlab.com/invuls/pentest-projects/pcf/-/wikis/API%20documentation
## 🖼️ 갤러리
|||
:-------------------------:|:-------------------------:
|
팀 정보|프로젝트 목록
|
프로젝트: 이슈|프로젝트: 호스트 페이지
|
프로젝트: 호스트|프로젝트: 서비스
|
프로젝트: 이슈 정보|프로젝트: 이슈 정보(PoC)
|
프로젝트: 네트워크|프로젝트: 파일
|
프로젝트: 도구(변경될 수 있음)|프로젝트: 발견된 자격 증명
|
프로젝트: 테스트 노트|프로젝트: 채팅
|
프로젝트: 설정|프로젝트: 보고서
# ⚠️ 경고
#### 🚨 기본 설정
이 프로그램은 기본적으로 5000 포트를 사용하며 모든 사람이 등록하고 사용할 수 있으므로 올바른 방화벽 및 네트워크 규칙을 설정해야 합니다.
#### 🔌 초기화 로직
new_initiation 스크립트를 주의하세요! 파일 시스템에 몇 가지 중요한 변경 사항을 적용합니다:
1. 데이터베이스 /configuration/database.sqlite3 이름 변경
2. SSL 인증서 재생성
3. 세션 키 재생성.
4. 새로운 빈 /configuration/database.sqlite3 데이터베이스 생성
5. /tmp_storage/ 폴더 생성
# 🎪 커뮤니티
기능 제안이나 버그가 있으면 GitLab 이슈를 남겨주세요. 모든 지원을 환영합니다 :D
우리는 Telegram으로 소통합니다. Telegram 커뮤니티에 참여하려면 [여기를 클릭](https://t.me/PentestCollaborationFramework)하세요!
## 📝 TODO
#### 일반
* [x] 팀 구성 저장소
* [x] 팀 보고서 템플릿 저장소
* [x] 자동 데이터베이스 백업
* [x] 비등록 사용자와 이슈 공유
* [x] 보고서 생성
* [x] 빠른 인기 비밀번호 무차별 대입 확인(top-10k)
* [x] REST-API
* [x] 네트워크 그래프
* [x] 해시 빠른 내보내기/가져오기
* [x] 다른 데이터베이스 추가
* [x] .doc 보고서 생성 지원 추가
* [x] 이슈 템플릿
* [ ] 백업 프로젝트/팀에서 백업/복원
#### 도구
* [x] HTTP-스니퍼
* [ ] NetNTLM SMB 스니퍼
* [x] 사용자 정의 도구 txt 보고서 업로드 지원(호스트에 메모 추가)
* [x] 해시 빠른 top-10k 비밀번호 확인
* [ ] Faraday/Dradis에서 프로젝트 내보내기
* [ ] Metasploit/Cobalt Strike 통합
#### 버전 2.0
* [ ] Vue.js
* [ ] 웹소켓
* [ ] 푸시 메시지(업데이트)
* [ ] 데이터베이스 재구축(객체)
* [ ] 호스트 -> 인터페이스 -> 포트
* [ ] 호스트 -> 호스트 이름
* [x] 프로젝트 파일 관리자
* [ ] 포트 -> 프로토콜:소프트웨어:버전
* [ ] 사용자 정의 호스트 표시(열린 포트가 있는 모든 호스트 표시)
* [ ] 모든 페이지에 TODO 표시 버튼
* [ ] 중복 호스트(병합?)
* [ ] 호스트 MAC/AD 도메인/포리스트
# 🎁 발표 자료
* Black Hat:
* Asia :
[2021](https://drive.google.com/file/d/1D_Y-oFqP4BAlFPeFzDeZukSp4RKGvrQU/view?usp=sharing)
*
Europe 
[2021](https://docs.google.com/presentation/d/1qn0ecorYNtSvm-uh9n62oTbUhqHqxp6698vh5Zg5ZTY/edit?usp=sharing)
* MIPHI :
[2021](https://docs.google.com/presentation/d/1MIioNG_ChvGH_Wcxcg_Cc3C68E3zGiKREU0oo7CdCZg/edit?usp=sharing)
* Defcon-NN :
[2021](https://docs.google.com/presentation/d/1eW19sIikp6DGju8YjfhJoPYqpIsCvupmQZfcmr39YQ4/edit?usp=sharing)
* DC7495 :
[2021](https://docs.google.com/presentation/d/1KQPvxGoPl6c954GyL9ugUCGNOvOa0uM1FtGMbn-vJHY/edit?usp=sharing)
* H@cktivityCon🌐:
[2021](https://docs.google.com/presentation/d/1Zit2km6TAjwdiKJSLI1COKkM70q2aGqnDa7PWs1JTL4/edit?usp=sharing)
* Standoff :
[2021](https://docs.google.com/presentation/d/1Cp-a9cmvMnNf7pqHz3A7jEwx30UvRcvhZlCO1qwN6Jw/edit?usp=sharing)
* PHDays 
[2022](https://docs.google.com/presentation/d/10XXRDYckjwPMjBbbJtLXWulI0oz8ECTjWLOtPEEvr6M/edit?usp=sharing)
# 🏢 기업
Pentest Collaboration Framework를 사용하는 기업 목록이 표시될 예정입니다.
회사를 추가하려면 다음 항목을 읽어보세요 :)
# ❤️ 기여
프로젝트를 돕거나 PCF 개발자를 격려하고 싶다면 다음 중 하나를 할 수 있습니다:
* 프레젠테이션/연구 기사/포럼 주제/기타 정보 자료에서 PCF를 언급하세요.
* 친구/동료에게 알려주세요.
* 이 저장소에 "Star"를 눌러주세요.
* PCF 텔레그램 채팅을 잊지 마세요
https://t.me/PentestCollaborationFramework
* gitlab 이슈 페이지에서 더 많은 기능/버그 요청을 만들어주세요
https://gitlab.com/invuls/pentest-projects/pcf/-/issues
* 직장에서 사용한다면 @drakylar(Telegram)에게 문의하여 "Companies" 항목의 README.md에 회사 아이콘 + 링크를 추가해 달라고 요청할 수 있습니다.
* PCF용 템플릿 예제를 더 만들어 저(@drakylar Telegram)에게 보내주시면 메인 저장소의 template 예제 폴더에 추가하겠습니다.
* YouTube 튜토리얼이 많지 않으니 하나 만들어 주셔도 됩니다 :)
* 또한 nmap 스크립트 플러그인을 더 만들어 @drakylar에게 보낼 수 있습니다. 자세한 내용은 여기:
https://gitlab.com/invuls/pentest-projects/pcf/-/issues/34
https://gitlab.com/invuls/pentest-projects/pcf/-/blob/master/routes/ui/tools_addons/nmap_scripts/nmap_example.py
**자주 묻는 질문이 있습니다:**
> 프로젝트에 돈을 기부하려면 어떻게 하나요?
방법은 없습니다. 한동안 이 프로젝트를 포기하지 않을 것이라고 보장할 수 없으므로, 최선의 "기부"는 유틸리티 개발과 배포에 기여하는 것입니다.
> 이 저장소에 병합 요청을 하려면 어떻게 하나요?
이것도 방법은 없습니다. PCF를 더 빠르게 개발하려면 모든 코드를 알아야 하므로, gitlab에 버그/기능 요청과 제가 수정에 사용할 수 있는 코드 예제를 포함한 이슈를 만들어 주세요.
| 구조 |
|---|
| ![]() |
| 이름 | PCF | Lair | Dradis | Faraday | AttackForge | PenTest.WS | Hive | Cervantes |
|---|
| 휴대 가능 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅💲 | ❌ | ❌ |
| 크로스 플랫폼 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 무료 | ✅ | ✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ❌✅ | ✅ |
| 지원 중단 아님! | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| 데이터 내보내기 | ✅ | ❌✅ | ✅ | ✅ | ✅ | ❌✅ | ✅ | ❌✅ |
| 채팅 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| 보안 전문가용, 관리자용 아님 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌✅ | ❌✅ |
| 보고서 생성 | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| API | ✅ | ❌✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 이슈 템플릿 | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 도구 이름 | 통합 유형 | 설명 |
|---|
| Nmap | 가져오기 | XML 결과 가져오기 (IP, 포트, 서비스 유형, 서비스 버전, 호스트명, OS). 지원 플러그인: vulners |
| Nessus | 가져오기 | .nessus 결과 가져오기 (IP, 포트, 서비스 유형, 보안 이슈, OS) |
| Qualys | 가져오기 | .xml 결과 가져오기 (IP, 포트, 서비스 유형, 보안 이슈) |
| Masscan | 가져오기 | XML 결과 가져오기 (IP, 포트) |
| Nikto | 가져오기 | XML, CSV, JSON 결과 가져오기 (이슈, IP, 포트) |
| Acunetix | 가져오기 | XML 결과 가져오기 (IP, 포트, 이슈) |
| Burp Suite Enterprise | 가져오기 | HTML 결과 가져오기 (IP, 포트, 호스트명, 이슈, PoC) |
| kube-hunter | 가져오기 | JSON 결과 가져오기 (IP, 포트, 서비스, 이슈) |
| Checkmarx SAST | 가져오기 | XML/CSV 결과 가져오기 (코드 정보, 이슈) |
| Dependency-check | 가져오기 | XML 결과 가져오기 (코드 이슈) |
| OpenVAS/GVM | 가져오기 | XML 결과 가져오기 (IP, 포트, 호스트명, 이슈) |
| NetSparker | 가져오기 | XML 결과 가져오기 (IP, 포트, 호스트명, 이슈) |
| BurpSuite | 가져오기/확장 프로그램 | Burp Suite에서 이슈를 빠르게 전송하기 위한 확장 프로그램입니다. |
| ipwhois | 스캔 | 호스트/네트워크를 스캔하고 whois 데이터 저장 |
| shodan | 스캔 | 호스트를 스캔하고 정보 저장 (IP, 포트, 서비스). |
| HTTP-Sniffer | 추가 | 모든 프로젝트에 여러 http-sniffer 생성. |
| WPScan | 가져오기 | JSON 결과 가져오기 (IP, 포트, 호스트명, 이슈) |
| DNSrecon | 가져오기 | JSON/CSV/XML 결과 가져오기 (IP, 포트, 호스트명) |
| theHarvester | 가져오기 | XML 결과 가져오기 (IP, 호스트명) |
| Metasploit | 가져오기 | XML 프로젝트 가져오기 (IP, 포트, 호스트명, 이슈) |
| Nuclei | 가져오기 | JSON 결과 가져오기 (IP, 호스트명, 포트, 이슈) |
| PingCastle | 가져오기 | XML 결과 가져오기 (IP, 이슈) |
| MaxPatrol | 가져오기 | XML 결과 가져오기 (IP, 포트, 이슈) |
| Scanvus | 가져오기 | JSON 보고서 가져오기 (이슈) |
| Tenable.sc | 가져오기 | .nessus 결과 가져오기 (IP, 포트, 서비스 유형, 보안 이슈, OS) |
| aiodnsbrute | 가져오기 | JSON/CSV 결과 가져오기 (IP, 호스트명) |
| Advanced Port Scanner | 가져오기 | XML 결과 가져오기 (IP, 호스트명, 포트) |
| RedCheck | 가져오기 | CSV 결과 가져오기 (IP, 포트, 보안 이슈) |
| MaxPatrol VM | 가져오기 | XML 결과 가져오기 (IP, 포트, 호스트명, OS, 보안 이슈) |