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 自身のアドレス)
ポートスキャンしてみると、OpenSSH, Apache , Samba が動いていることが判った。
2)脆弱性探し
まずは Samba からチェックしてみる。
nmap で 139/tcp, 445 /tcp にアグレッシブスキャン(-A)を行ってみる。
バージョンは 4.3.11 のようだ。
enum4linux でユーザーと共有フォルダを列挙してみる。
2名のユーザーと、匿名でアクセスできる共有フォルダが1つ検出された。
”Anonymous"フォルダにアクセスするとstaff.txt というファイルがあったので、ダウンロードする。
staff.txt には「仕事と無関係なファイルをこの共有にアップロードするな」と書かれていた。Jan に何か手がかりがありそうだ。
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通りずつの方法がある、と書かれていた。
残りのパターンについては、また後日調べてみよう。。
とりあえず、めでたし、めでたし。
この記事が気に入ったらサポートをしてみませんか?