Writeup: Vulnhub MoneyBox
Vulnhub の MoneyBox 攻略メモ。
このVMの攻略は簡単。あちこちにヒントが書いてあり判り易かった。
1.仮想マシンのダウンロード
下記のリンクからダウンロード。サイズは 615 MB。
https://www.vulnhub.com/entry/moneybox-1,653/
ダウンロードしたファイルをVirtual Box へインポートして起動する。
ネットワークインターフェースは「ホストオンリーアダプタ」を使用。
メモリは 1GBで問題無く起動した。
2.攻略
0)ターゲットのIPアドレス確認
起動したVMのIPアドレスを netdiscover で確認する。
netdiscover -i eth1 -r 192.168.56.0/24
ターゲットのIPアドレスは 192.168.56.101 。
(192.168.56.1 と 100 は VirtualBox 自身のアドレス)
1)ポートスキャン
IPアドレスが判ったので、ポートスキャンしてみる。
nmap -sS -sV -n -p- -T4 192.168.56.101
ftp, httpd, ssh が稼働していることが判った。
2)脆弱性探し
ftpへの匿名ログインを試してみる。問題無くログインできた。
trytofind.jpg という画像ファイルが置いてあったのでダウンロードする。
trytofind.jpg を開いてみると猫の写真だった。可愛い。。
ファイル名前からして画像ファイルにきっと何かのファイルが隠されているに違いない。binwalk や stegseek で解析を試みたがうまくいかなかった。
気を取り直して、今度は httpd ( 80/tcp ) にアクセスしてみる。
挨拶が書いてあるだけだった。
このWebサーバのディレクトリをスキャンしてみる。
gobuster dir -u http://192.168.56.101/ -w /usr/share/wordlists/dirb/common.txt -x txt,php,html
/blogs というディレクトリが見つかった。
/blogs にアクセスしてみる。どうやらこのページにヒントがあるようだ。
ページのソースを見てみるとヒントが書いてあった。
S3cr3t-T3xt を見よ、と書いてある。
指示通り /S3cret-T3xt にアクセスしてみる。
「何もない」と書かれているが、先ほどと同様ソースに何か書いてあるに違いない。。
ソースを見ると、一番下にパスワードのようなものが書かれていた。
きっと、これが先ほどの猫の写真の解凍パスワードに違いない。。
このパスワードを使って、猫の写真を解凍してみる。
ステガノグラフィーの解凍には steghide というツールを使う。
steghide --extract -p 3xtr4ctd4t4 -sf trytofind.jpg
猫の写真からdata.txt というファイルが解凍できた。
data.txt の中身は renu というユーザー宛にパスワードを変更するよう促す内容だった。
3)侵入
renu というユーザー名が判ったので、hydra を使って、ssh へのブルートフォースアタック(パスワード総当たり)を試してみる。
hydra -vv -l renu -P ~/rockyou.txt ssh://192.168.56.101
renu のパスワードは 987654321 であることが判った。
パスワードが判ったので、ユーザー renu でssh にログインする。
ssh renu@192.168.56.101
無事にログインできた。
とりあえず最初のフラグを入手する。
4)権限昇格
ホームディレクトリを見てみると、renu 以外に lily というユーザーが登録されているようだ。きっと最初の目標は lily に権限昇格することなのだろう。
'/home/lily に移動してみる。.ssh が読み取り可能になっている。
.ssh を見ると、renu の 公開鍵が置いてあった。
つまり、renu の秘密鍵を持っていれば、lily として ssh でログインできることになる。
renu の秘密鍵は /home/renu/.ssh/ に置いてあった。
一旦、ssh からログアウトし、scp で renuの秘密鍵を手元にコピーする。
scp renu@192.168.56.101:/home/renu/.ssh/id_rsa .
renu の秘密鍵をコピーできた。
パーミッションを 400 に変更し、この秘密鍵をつかって lily としてssh でログインする。
ssh -i ./id_rsa lily@192.168.56.101
ユーザー lily で ssh ログインできた。
2番目のフラグを入手する。
lily の .bash_history を見ると、このユーザーは sudoが利用可能のようだ。
sudo で 許可されているコマンドを見てみると、perl の実行が許可されていることが判った。
ルート権限で perl が実行できるので、 perl から system() を使ってシェルを起動すれば root に権限昇格できる。
sudo perl -e 'system("/bin/bash -p");'
試してみると、想定通り root 権限のシェルが起動した。
rootフラグを見てみよう。
これで完了。
めでたし、めでたし。
この記事が気に入ったらサポートをしてみませんか?