【VulnHub】hackfest2016: Quaoar -Walkthrough-
はじめに
今回は以下のVM。
- VM:hackfest2016: Quaoar
- Level:Very easy
- URL:https://www.vulnhub.com/entry/hackfest2016-quaoar,180/
今回はVMware Workstation(NAT)を使った。起動後の画面に記載のあるように、以下それぞれのフェーズで1つずつ、計3つのflagがあるとのこと。
- Get a shell
- Get root access
- There is a post exploitation flag on the box
今回は、上記3つを見出しにして記載する。
Get a shell
ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは192.168.196.129)
#netdiscover -r 192.168.196.0/24
- -r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。
続いてポートスキャン。
#nmap -sV -A -p- 192.168.196.130
- -sV:バージョンスキャン
- -A:詳細情報取得
- -p-:フルポートスキャン
22番(ssh)、53番(dns)、80番(http)、139番(netbios-ssn)、143番(imap)、445番(smb),993番(imaps)、995番(pop3s)がopen。
ブラウザで80番へアクセス。
dirbでリンクされていないコンテンツの調査。
#dirb http://192.168.196.129
色々出てきた。wordpressという文字列もある。まずはrobots.txtへ。
Allowに記載のある/wordpress/は以下のような画面。左下にはログインページへのリンクもある。
wordpressの脆弱性診断ツールであるwpscanを使う。
#wpscan --url http://192.168.196.130/wordpress -e u
- --url:URLの指定
- -e u:ユーザ名の列挙
「admin」、「wpuser」というユーザがいることが分かった。ログインページのリンクよりログインページに移動し、Username「admin」、Password「admin」を試行したら入れた。
metasploitでwordpressのexploit codeを探す。shellを奪うには、以下が使えそう。
判明したアカウント情報などを用いて以下のように設定。
実行すると、meterpreterセッションが確立できた。現在のユーザ名はwww-data。bashを使うために以下を実行。
meterpreter>shell
python -c "import pty; pty.spawn('/bin/bash')"
/home/wpadminにflagを発見。
Get root access
rootへの権限昇格を目指す。sudoで実行できるコマンドやSUIDが設定されたファイルを探したが見つからなかった。wordpressの設定ファイル的なものを探していたら、以下のサイトを発見。
wp-config.php の編集 - WordPress Codex 日本語版
wp-config.phpファイルはWordPress のインストールを行なう上で最も重要なファイルの一つです。このファイルは WordPress のファイルディレクトリのルート直下に置かれ、中にはMySQLデータベースへの接続情報などサイトの基礎となる詳細な構成情報が含まれます。
とのこと。/var/www/wordpress配下にあるwp-config.phpを確認すると、上記記載通りMySQLのアカウント情報があった。(しかもroot)
このアカウント情報でsshへアクセス成功。/rootにflagを発見。
There is a post exploitation flag on the box
3つ目のflagを探す。post exploitationとは侵入を成功した後の行動(例えば横感染、永続化)を指す。ファイル名が「flag」で始まるものを探してみた。
#find / -name flag*
出てきた2つは既に上記で見つけたもの。3つ目のflag.txtはなさそうなので何かのファイルの中にflagの記載があると予想できる。永続化だとcronが考えられる。/etc/cron.dに「php5」というファイルが存在。中を確認し、3つ目のflagを発見。