Writeup: Vulnhub BLOGGER 攻略
Vulnhub の BLOGGER を攻略したのでメモ。
この仮想マシンは下記からダウンロードできる。
このマシンは他の仮想マシンに比べて、攻略は難しくなかった。
0.セットアップ
1) 仮想マシンの設定変更
仮想マシンをVirutal Box にインポートした後、下記の設定を変更し起動。
・プロセッサの数を2⇒1に変更する
・シリアルポートを無効化する
・ネットワークインターフェースを「ホストオンリーアダプタ」に変更
2) 仮想マシンのIPアドレス調査
起動したら、IPアドレスを調べる。
攻撃マシン側から nmap で ping スキャンすればすぐにわかる。
「ホストオンリーアダプタ」はデフォルトで 192.168.56.101以後のアドレスをDHCPで配布する。コマンドは下記の通り。
nmap -sP -n 192.168.56.102-200
ターゲットのIPが判ったら、最後に攻撃マシン側の /etc/hosts にエントリを追加する。(冒頭に記載のダウンロードページに追加が必要と書いてある)
sudo echo '192.168.56.110 blogger.thm ' >> /etc/hosts
これで準備完了。いよいよ攻略である。
1.攻略
1) ポートスキャン
80/tcp (httpd) と 22/tcp (ssh ) のみ開いていることが判った。
OpenSSH 、Apache とも侵入に直結する脆弱性は無さそうなバージョンなので、Webサイトを調べてみることにする。
map scan report for 192.168.56.110
Host is up, received arp-response (0.00040s latency).
Scanned at 2022-10-09 08:01:28 EDT for 10s
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack ttl 64 OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
80/tcp open http syn-ack ttl 64 Apache httpd 2.4.18 ((Ubuntu))
2) Webサイトの調査
ブラウザで Webサイトを眺めてみる。
なかなか格好良いデザイン。しばらくソースを眺めてみるが特に怪しそうなところは無い。
とりあえず、gobuster でWebサイトのディレクトリをスキャンしてみる。
gobuster dir -u http://blogger.thm/ -w /usr/share/wordlists/dirb/common.txt
/.hta (Status: 403) [Size: 276]
/.htaccess (Status: 403) [Size: 276]
/.htpasswd (Status: 403) [Size: 276]
/assets (Status: 301) [Size: 311] [--> http://blogger.thm/assets/]
/css (Status: 301) [Size: 308] [--> http://blogger.thm/css/]
/images (Status: 301) [Size: 311] [--> http://blogger.thm/images/]
/index.html (Status: 200) [Size: 46199]
/js (Status: 301) [Size: 307] [--> http://blogger.thm/js/]
/server-status (Status: 403) [Size: 276]
スキャン結果をブラウザでチェックしていくと、/assets/fonts/blog/ の下にブログサイトが隠されているのが見つかった。
ぱっと見た感じ、画面のデザインが Wordpressっぽい。
http://blogger.thm/assets/fonts/blog/
3) 脆弱性スキャン
Wordpress の脆弱性チェックといえば、wpscan である。
標準だとバージョンチェックしかしてくれないが、以下のリンクからユーザー登録しておけば脆弱性チェック用のトークンを無料で発行してくれる。
https://wpscan.com/wordpress-security-scanner
プラグインのチェックは、デフォルトだと主要なものしかチェックしてくれないため、検出モードを指定する。(--plugins-detection aggressive)
wpscan --url http://blogger.thm/assets/fonts/blog/ -e ap --plugins-detection aggressive --api-token=7kcHhdo8qgGSkaLe597aYl5WtZEBnj3XkP97NQdDyMM -o wpscan.log
スキャン結果を見ると、wpDiscuz というプラグインで、「認証無しで任意のファイルがアップロードできる脆弱性」が検出されていた。つまり、WebSehll をアップロードすれば侵入が可能になるということだ。
| Title: Comments - wpDiscuz 7.0.0 - 7.0.4 - Unauthenticated Arbitrary File Upload
| Fixed in: 7.0.5
| References:
| - https://wpscan.com/vulnerability/92ae2765-dac8-49dc-a361-99c799573e61
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-24186
| - https://www.wordfence.com/blog/2020/07/critical-arbitrary-file-upload-vulnerability-patched-in-wpdiscuz-plugin/
| - https://plugins.trac.wordpress.org/changeset/2345429/wpdiscuz
|
Exploit DB で調べると、この脆弱性を攻略するためのMetasploit モジュールがあることが判る。
4) 侵入
Metasploit は Kali Linux に標準搭載の攻撃フレームワークで、様々な攻撃用モジュールが統合されている便利なツールである。
下記のコマンドで起動する。
msfconsole -q
Metasploit 起動後、モジュールを検索して選択する。
必要なパラメータを設定してチェックし問題無いことを確認。
準備ができたので、攻撃。
侵入に成功。Metepreterセッションでターゲットに接続できた。
5) 脆弱性スキャン(内部)
次の目的は権限昇格である。カーネルの脆弱性を突くのが最も手っ取り早い。 linPEAS を使ってサーバー内部から脆弱性をチェックする。
上記のリンクから linpeas.sh を攻撃マシンにダウンロードし、metepreter を使ってターゲットマシンの/tmp にアップロードする。
無事にアップロードできたら、いよいよ実行である。
metepreter から shell を起動して実行権限を付与し linpeas.sh を実行する。
いつもながら、linpeasのロゴは愛嬌があるなぁ。。
実行結果を見ると、CVE-2021-4034 (pwnkit)の脆弱性が検出されていた。
これでroot に権限昇格できそうだ。
6) root権限奪取
github で探すと手頃な Exploit が見つかった。下記のリンクからダウンロードして、ターゲットマシンの /tmp にアップロードする。
あとは、このExploit を実行するだけである。
uid=0 なので 想定通り root 権限が奪取できた。
めでたし、めでたし。
この記事が気に入ったらサポートをしてみませんか?