見出し画像

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 自身のアドレス)

netdiscover 

1)ポートスキャン

IPアドレスが判ったので、ポートスキャンしてみる。

nmap -sS -sV -n -p- -T4 192.168.56.101 

ftp, httpd, ssh が稼働していることが判った。

nmap

2)脆弱性探し

ftpへの匿名ログインを試してみる。問題無くログインできた。

ftp

trytofind.jpg という画像ファイルが置いてあったのでダウンロードする。

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 というディレクトリが見つかった。

gobuster

/blogs にアクセスしてみる。どうやらこのページにヒントがあるようだ。

/blogs

ページのソースを見てみるとヒントが書いてあった。
S3cr3t-T3xt を見よ、と書いてある。

ヒント1

指示通り /S3cret-T3xt にアクセスしてみる。
「何もない」と書かれているが、先ほどと同様ソースに何か書いてあるに違いない。。

ソースを見ると、一番下にパスワードのようなものが書かれていた。
きっと、これが先ほどの猫の写真の解凍パスワードに違いない。。

ヒント2

このパスワードを使って、猫の写真を解凍してみる。
ステガノグラフィーの解凍には steghide というツールを使う。

steghide --extract -p 3xtr4ctd4t4 -sf trytofind.jpg

猫の写真からdata.txt というファイルが解凍できた。

steghide

data.txt の中身は renu というユーザー宛にパスワードを変更するよう促す内容だった。

Hello..... renu
I tell you something Important.Your Password is too Week So Change Your Password
Don't Underestimate it.......

data.txt

3)侵入

renu というユーザー名が判ったので、hydra を使って、ssh へのブルートフォースアタック(パスワード総当たり)を試してみる。

 hydra -vv -l renu -P ~/rockyou.txt ssh://192.168.56.101 

renu のパスワードは 987654321 であることが判った。

hydra

パスワードが判ったので、ユーザー renu でssh にログインする。

ssh renu@192.168.56.101 

無事にログインできた。

ssh (renu)

とりあえず最初のフラグを入手する。

user1.txt

4)権限昇格

ホームディレクトリを見てみると、renu 以外に lily というユーザーが登録されているようだ。きっと最初の目標は lily に権限昇格することなのだろう。

'/home

'/home/lily に移動してみる。.ssh が読み取り可能になっている。

/home/lily

.ssh を見ると、renu の 公開鍵が置いてあった。

authrized_keys

つまり、renu の秘密鍵を持っていれば、lily として ssh でログインできることになる。

renu の秘密鍵は /home/renu/.ssh/ に置いてあった。

id_rsa

一旦、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 ログインできた。

ssh ( lily)

2番目のフラグを入手する。

user2.txt

lily の .bash_history を見ると、このユーザーは sudoが利用可能のようだ。

sudo で 許可されているコマンドを見てみると、perl の実行が許可されていることが判った。

sudo (lily)

ルート権限で perl が実行できるので、 perl から system() を使ってシェルを起動すれば root に権限昇格できる。

sudo  perl -e 'system("/bin/bash -p");'

試してみると、想定通り root 権限のシェルが起動した。

rootフラグを見てみよう。

.root.txt

これで完了。
めでたし、めでたし。

この記事が気に入ったらサポートをしてみませんか?