見出し画像

Writeup: Vulnhub Basic Pentesting2

Vulnhub の Basic Pentesting2 攻略メモ。
Basic Pentesting1 に比べて、難易度が少し上がっている。

1.仮想マシンのダウンロード

下記のリンクからダウンロード。サイズは 1.3GB。

ダウンロードしたファイルをVirtual Box へインポートして起動する。
メモリは 1GB、ネットワークインターフェースは「ホストオンリーアダプタ」を使用。

2.攻略

1)ポートスキャン

netdiscover  を行ってアドレスをスキャンする。
ターゲットのIPアドレスは 192.168.56.101 。
(192.168.56.1 と 100  は VirtualBox 自身のアドレス)  

netdiscover

ポートスキャンしてみると、OpenSSH, Apache , Samba が動いていることが判った。

ポートスキャン

2)脆弱性探し

まずは Samba からチェックしてみる。
nmap で 139/tcp, 445 /tcp にアグレッシブスキャン(-A)を行ってみる。
バージョンは 4.3.11 のようだ。

アグレッシブスキャン( 139/tcp, 445/tcp)

enum4linux でユーザーと共有フォルダを列挙してみる。
2名のユーザーと、匿名でアクセスできる共有フォルダが1つ検出された。

共有フォルダ
ユーザー名

”Anonymous"フォルダにアクセスするとstaff.txt というファイルがあったので、ダウンロードする。

Anonymousフォルダ

staff.txt には「仕事と無関係なファイルをこの共有にアップロードするな」と書かれていた。Jan に何か手がかりがありそうだ。

staff.txt

Samba 4.3.11 にはリモートコード実行の脆弱性があり、これで手っとり早く攻略できるかと思いきや、「書き込み可能な共有フォルダがあること」が攻撃成功の条件になっているので、この方法は使えなかった。

気を取り直して、80/tcp にアクセスしてみると「メンテナンス中」の表示。

ディレクトリをスキャンしてみると、/development というディレクトリが見つかった。

アクセスしてみるとファイルが2つ置いてあった。
どうやらヒントのようだ。

j.txt には  J ( Jan ) 宛のメッセージで、パスワードが脆弱だからすぐ変更するように、と書かれていた。

dev.txt には、このWebサイトで Strusts 2.5.12 が使われていることが示唆されていた。

3)侵入

janのパスワードが簡単にクラックできる、ことが判っているのでパスワードアタックをやってみる。パスワードはすぐに判った。

パスワードアタック

判明したパスワードを使って。ssh で堂々とログインする。

4)権限昇格

root 権限で実行できるファイルを探してみる。
/usr/bin/vim.basic  が見つかった。

残念ながら、/usr/bin/vim.basic  からシェルを実行しても root 権限にはならなかった。

そこで、root のパスワードを書き換えて権限昇格を図ることにした。

/etc/shadow をチェックしてみると、root がログイン禁止になっていたので、"!" を削除してログイン許可に変更する。

シャドウファイル修正

root のパスワードハッシュをデッチ上げる。

パスワードハッシュ作成

デッチ上げたハッシュをパスワードファイルに書き込む。

パスワードファイル

これで準備完了。 root に suして権限昇格が完了した。

権限昇格完了!

フラグ ( /root/flag.txt ) を見てみると、侵入と権限昇格にはそれぞれ2通りずつの方法がある、と書かれていた。

flag.txt

残りのパターンについては、また後日調べてみよう。。
とりあえず、めでたし、めでたし。


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