교육용 CVE-2018-7600 익스플로잇 프로젝트로, Python RCE PoC, 격리된 Docker Drupal 실습 환경, 페이로드 연구, 그리고 안전한 취약 애플리케이션 테스트를 위한 완화 대응 문서를 결합합니다.
이 프로젝트는 **CVE-2018-7600 (Drupalgeddon2)**을 연구하고, 재현하며, 문서화합니다. 이는 Drupal CMS에서 발생한 치명적(CVSS 9.8) 인증 없이 실행 가능한 원격 코드 실행 취약점으로, 2018년 3월에 출시된 7.58 및 8.5.1 이전 버전에 영향을 미칩니다.
이 취약점은 Drupal의 Form API에 존재하며, 사용자 입력을 form 요소 렌더 속성에 병합하기 전에 살균(sanitize)하지 않아 — 공격자가 Render API가 이후 실행할 PHP 콜러블(callable)을 주입할 수 있었습니다.
⚠️ 교육 목적으로만 사용하십시오. 모든 테스트는 반드시 격리된 Docker 랩 환경에서만 수행되어야 합니다. 실제 서비스 또는 운영 시스템에서 절대 테스트하지 마십시오.
| 구성원 | 역할 | 산출물 |
|---|
| 구성원 1 | 랩 환경 및 CVE 검증 | Dockerfile, docker-compose, SETUP.md |
| 구성원 2 | 익스플로잇 개발 | exploit.py 프레임워크, payloads.txt |
| 구성원 3 | 근본 원인 분석 및 연구 | root_cause_analysis.md, references.md, mitigation.md |
| 구성원 4 | 증거 수집 및 최종 보고서 | terminal_logs.txt, 스크린샷, 최종 보고서 |
CVE-2018-7600-Project/
│
├── README.md ← 현재 위치
│
├── lab/ ← 구성원 1
│ ├── Dockerfile ← Drupal 7.57 이미지 빌드
│ ├── docker-compose.yml ← 모든 서비스 오케스트레이션
│ ├── entrypoint.sh ← DB 대기 + 자동 구성 스크립트
│ ├── SETUP.md ← 단계별 설정 가이드
│ └── config_notes.md ← 취약점 검증
│
├── exploit/ ← 구성원 2
│ ├── exploit.py ← PoC Python 프레임워크
│ └── payloads.txt ← 페이로드 연구 노트
│
├── docs/ ← 구성원 3
│ ├── root_cause_analysis.md ← 기술 심층 분석
│ ├── references.md ← 모든 출처 및 링크
│ └── mitigation.md ← 패치 및 보안 강화 가이드
│
├── proof/ ← 구성원 4
│ ├── screenshots/ ← 익스플로잇 스크린샷
│ └── terminal_logs.txt ← 명령 출력 로그
│
└── report/
└── CVE-2018-7600_Report.docx ← 구성원 4: 최종 보고서
cd lab/
docker compose up -d --build
http://localhost:8080/install.php 를 열고 SETUP.md의 3단계를 따르세요.
curl -s http://localhost:8080/CHANGELOG.txt | head -3
# 예상 출력: Drupal 7.57, 2018-02-21
cd .. # 프로젝트 루트
python exploit/exploit.py --target http://localhost:8080 --safe-mode
python exploit/exploit.py --target http://localhost:8080 --cmd "id"
python exploit/exploit.py --target http://localhost:8080 --cmd "id" \
--output proof/terminal_logs.txt
cd lab/
docker compose down -v && docker compose up -d --build
| 속성 | 값 |
|---|---|
| CVE ID | CVE-2018-7600 |
| 별칭 | Drupalgeddon2 |
| 공급업체 권고 | SA-CORE-2018-002 |
| CVSS v3 | 9.8 Critical |
| 영향 범위 | Drupal < 7.58, < 8.3.9, < 8.4.6, < 8.5.1 |
| 수정 버전 | 7.58, 8.3.9, 8.4.6, 8.5.1 |
| 인증 필요 | 아니요 |
| 유형 | 원격 코드 실행 |
ITSOLERA Red Team Internship — Summer 2026