![見出し画像](https://assets.st-note.com/production/uploads/images/90437605/rectangle_large_type_2_41fa5fda2571cc150bf5b2e40febda84.png?width=1200)
Writeup: Vulnhub DC-1 攻略
Vulnhub の DC-1 を攻略したのでメモ。
この仮想マシンはシリーズもので DC-1 から DC-9 まで存在している。
DC-1 はシリーズの一番最初であるためか、比較的簡単に攻略できた。
![](https://assets.st-note.com/img/1667525907519-EIg0OjmKwn.png?width=1200)
1.仮想マシンのダウンロード
下記のリンクからダウンロード。サイズは 733MB とコンパクトである。
ダウンロードしたZip を解凍すると DC-1.ova が出来上がるので、これをVirtual Box へインポートして起動する。メモリは 1GB で問題無く動作する。
安全のため、ネットワークインターフェースは「ホストオンリーアダプタ」を使用。
![](https://assets.st-note.com/img/1667526369584-JdUbZkpAX7.png?width=1200)
2.攻略
1)ポートスキャン
とりあえず、ターゲットのマシンの IPアドレスを調べる。
IPアドレスは 192.168.56.117 のようだ。
![](https://assets.st-note.com/img/1667526583993-KDy5kgWD76.png?width=1200)
IPアドレスが判ったのでポートスキャンしてみる。
http, ssh , rpc が動いていることが判る。
![](https://assets.st-note.com/img/1667526964957-YgKgch69wR.png?width=1200)
2)脆弱性探し
80/tcp が開いているので、とりあえずブラウザでアクセスしてみる。
![](https://assets.st-note.com/img/1667527324329-waOIP4tfAx.png?width=1200)
ググってみると、Drupal は CMS (コンテンツマネジメントシステム)でサイトの管理をしたり記事を投稿したりする仕組みのようである。
Wordpless をはじめとする CMS はいろいろな脆弱性が見つけられては、アップデートを繰り返すのが常である。
OpenCVE で検索してみると、Drupalについてもバージョンごとに様々な脆弱性があるようだ。
![](https://assets.st-note.com/img/1667527887077-mT2aOck2do.png?width=1200)
Drupal のバージョンが判れば、攻撃の糸口が見つかるかもしれない。
サーバーのレスポンスヘッダには PHP や CMS のバージョンが表示されていることがある。
curl コマンドでレスポンスヘッダを見てみると、Drupal のバージョンは 7 であることが判った。(X-Generatorヘッダ)
![](https://assets.st-note.com/img/1667528301877-xjVX7NLfvL.png?width=1200)
Drupal のバージョンが判ったので、既知の攻撃コードが無いか調べてみる。
Exploit Database で検索するのが手っ取り早い。
検索してみると、Drupal 7 を攻撃するための Metasploit モジュールが存在することが判った。とりあえずこれを試してみることにする。
![](https://assets.st-note.com/img/1667528691123-4pAZkh2F7l.png?width=1200)
3)侵入
Metasploit は Kali Linux に標準搭載されている攻撃ツールであり、サーバーに侵入したり、システムを侵害するための様々なツールが網羅されている。マニュアルは下記のリンクに掲載されている。
https://www.offensive-security.com/metasploit-unleashed/
手元のマシンで Metasploit を起動し、先ほど Exploit DB で見つけたモジュールを検索する。脆弱性の名前は drupalgeddon2 なので赤枠部分が該当する。
![](https://assets.st-note.com/img/1667529874223-hVNBLkLYA8.png?width=1200)
必要なパラメータをセットして攻撃開始。
無事に侵入できた。
![](https://assets.st-note.com/img/1667530454799-j3MwF88Lo3.png?width=1200)
4)root権限奪取
侵入できたので、次は root 権限の奪取である。
とりあえず、root 権限で実行できるファイルが無いか検索してみる。
find コマンドが root 権限で実行できることが判った。
![](https://assets.st-note.com/img/1667530751460-25OBTlpSyK.png)
find はファイルを検索するコマンドで、検索条件に合致するファイルを見つけた時にコマンドを実行する機能がある。
ということは、find で bash を起動すれば root 権限のシェルが得られるわけだ。コマンドは以下の通り。
find * -exec bash -p \;
上記のコマンドを実行して、root権限のシェルを起動することができた。
![](https://assets.st-note.com/img/1667531085624-TfCnz4YKvf.png?width=1200)
これで攻略完了。めでたし、めでたし。