Writeup: Vulnhub Vikings 攻略
Vulnhub の Vikings を攻略したのでメモ。
今回は簡単なパズルを解いているようで面白かった。
1.ダウンロード
この仮想マシンは 下記のリンクからダウンロードできる。
ダウンロード後、Virutal Boxにインポートし、メモリを1GBに設定、ネットワークインターフェースを「ホストオンリーアダプタ」に変更して起動。
起動すると下記の画面が表示される。
起動後、Pingスキャン(nmap -sP 192.168.56.102-200 ) を行ってIPアドレスを確認する。筆者の環境では 192.168.56.126 だった。
2.攻略
1)ポートスキャン
nmap でポートスキャンしてみる。80/tcp, 22/tcp が開いていた。
2)脆弱性探し
ブラウザでアクセスしてみると、ディレクトリインデックスが表示された。
"site/" をクリックしてみる。何やらイケメンのカッコいい写真が出てきた。
ページを調べてみたが特に有効なリンク等は無い。
site/ 以下のディレクトリをスキャンしてみる。
war.txt という意味ありげなファイルが見つかった。
war.txt の内容は "/war-is-over"
おそらくこの名前のディレクトリをチェックせよ、という意味なのだろう。
指示通り、 /war-is-over をブラウザで開いてみる。
base64 エンコードされたテキストファイルのようなものが表示された。
とりあえず curl でダウンロードしデコードしてみよう。
見た感じ base64 のようなので、以下のコマンドでデコードできるはず。
curl http://192.168.56.126/site/war-is-over/ | base64 -d > war-is-over
無事にダウンロードできた。このファイルは zip ファイルのようだ。
zip ファイルを解凍してみようとしたが、パスワードが必要なようだ。
zip ファイルの解凍パスワードを調べるには、John the Ripper を使うのが簡単だ。このツールは Kali Linux に標準で入っている、定番のパスワードクラッカーである。
zip2john を使用して、zipファイルから解析用のハッシュを作成する。
あとは john でこのハッシュファイルを解析するだけだ。
待つこと数分。パスワードが判明した。
zip ファイルを解凍してみると、king というファイルが出来上がった。
jpg画像のようだ。
中身は綺麗な船の画像だった。
jpg などの画像ファイルには別のファイルを埋め込んで隠すことができる。
binwalk を使って調べてみると案の定、user というファイルが隠されていた。
binwalkを使って user というファイルを取り出してみる。
ユーザー名とパスワードのような内容が書かれていた。
3)侵入
先ほど判明したユーザー名、パスワードの組み合わせを使って、ssh でログインすることができた。侵入成功である。
4)権限昇格
権限昇格のため、root 権限で実行できるファイルが無いか調べてみる。
pkexec が見つかった。
pkexec が root権限で実行できるので、CVE-2021-4034 の脆弱性があるかもしれない。この脆弱性は pwnkit と呼ばれており、攻撃用のコードが数多く公開されている。今回は下記のリンクで公開されているものを使用した。
上記のリンクで公開されている攻撃用コードを入手して、攻撃マシン側で Webサーバを立てる。
次にターゲット側で攻撃用コードをダウンロードする。
あとは、攻撃用コードをターゲット上でコンパイル、実行。
無事に root権限に昇格できた。
今回はこれでおしまい。めでたし、めでたし。
この記事が気に入ったらサポートをしてみませんか?