TryHackMeのKenobiという部屋のWriteUp。
![](https://muchipopo.com/wp-content/uploads/cocoon-resources/blog-card-cache/b07325606a7f245edecf31431e728126.png)
「Kenobi」について
TryHackMe上ではネットワーク系問題として取り扱われている。
基本的にStarWarsリスペクトを感じるが、問題の中身には関係ない…
攻略の手順
ポートスキャン
$nmap -sV -A -Pn -T4 10.10.67.246 -oN nmap_report_kenobi -vv
でポートスキャンを実行。
![](https://muchipopo.com/wp-content/uploads/2021/11/1.jpg)
RPCを含め、いろいろなサービスが動いていることが分かった。
SMBのスキャン
ポート139とポート445では、Sambaが動いていた。
このSMBの445ポートをスキャンする。
スキャンにはnmapを使うことに。
$nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.67.246
![](https://muchipopo.com/wp-content/uploads/2021/11/2.jpg)
IPアドレスの後ろについているのがShare。
Shareのひとつに「anonymous」があることがわかった。
SMBへの接続
smbclientコマンドを使って、このShareに接続してみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/3.jpg)
どうやらlog.txtというファイルがあるよう。
smbclientで接続した後は、helpコマンドでコマンド一覧を表示できる。
catは搭載されていないが、代わりにmoreがあるのでlog.txtを閲覧してみる。
$smb:\>more "log.txt"
※ ” で囲わないといけないところに注意。
![](https://muchipopo.com/wp-content/uploads/2021/11/4.jpg)
なになに…
/home/kenobi/.ssh/id_rsaに鍵がある。
/home/kenobi/.ssh/id_rsaにパブリック鍵がある。
等と書いてある。
どうもsshキーを生成したときの文章のよう。
そして、もう少し下に行くと
![](https://muchipopo.com/wp-content/uploads/2021/11/5.jpg)
kenobiなるユーザー名、グループ名を発見。
いわゆるクレデンシャルをゲットしたということ。
いるかどうかわからないけれど、ウォークスルー上はlog.txtをダウンロードすることになっているので、smbclientからgetコマンドを使ってクライアント側のhomeディレクトリに保存しておく。
![](https://muchipopo.com/wp-content/uploads/2021/11/6.jpg)
NFSへのスキャン
先ほどのnmapでのスキャン結果を確認すると、NFSが稼働している。
ただ、NFS自体は2049ポートで稼働しているものの、RPCが2049ポートへの入り口となっているようなので、その111ポートをスキャンする。
![](https://muchipopo.com/wp-content/uploads/2021/11/7.jpg)
このスキャン結果から、/varというNFSがあることがわかった。
ちなみにnmapのスクリプトの探し方を解説すると、
1.nmapの公式にアクセス
2.CTRL+Fでサービス名など検索
3.スクリプトの内容を見る
でOK。
nmapの公式のスクリプトページはこちら。
![](https://muchipopo.com/wp-content/uploads/2021/11/8.jpg)
次に、この/varディレクトリの中身を見てみる。
いったんマウントする。
![](https://muchipopo.com/wp-content/uploads/2021/11/11.jpg)
mnt/kenobiというディレクトリをhome配下に作り、そこに/varをマウントした。
しかし、中にめぼしいデータはない。
FTPサーバへの接続
最初のnmapでのスキャン結果から、21ポートにFTPサービスがあるとわかっているので、まずはとりあえずつないでみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/10.jpg)
むむむ…認証するように怒られた。
FTPサーバからのデータ抜き取り
FTPの名前はproftpdで、バージョンも1.3.5とわかっているので、脆弱性情報を検索する。
![](https://muchipopo.com/wp-content/uploads/2021/11/9.jpg)
4つの脆弱性情報があった。
このうち、一番下のものを調べてみる。
![](https://muchipopo.com/wp-content/uploads/cocoon-resources/blog-card-cache/d966735090a0d3f0f03f0f4f6ce2e19e.png)
このサイトの記載内容を読んでみると、
「認証されていないユーザーが、mod_copyのモジュールのSITE CPFR/SITE CPTOを使えてしまう脆弱性」ということだった。
先ほど、NFSのドライブにsmbclientで接続したとき、log.txtには
/home/kenobi/.sshの下に鍵がある
と書いてあった。
このデータを取得してみる。
今回の脆弱性で許可されているコマンドは
SITE CPFR :コピー元のファイルを指定
SITE CPTO :コピー先を指定
という意味。
コピー元はSSHキーでいいとして、コピー先はどうするか?
おそらく答えは一つだけで、それはNFSの/var。
やってみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/12.jpg)
/var直下に奥には権限が足りないよう。
先ほどマウントした/varの権限関係を確認してみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/13.jpg)
これを見ると、tmpディレクトリは、その他ユーザーにも書き込み権限があることがわかる。
それを踏まえてFTPコマンドを再実行。
![](https://muchipopo.com/wp-content/uploads/2021/11/14.jpg)
そして、マウントした/varを見に行く。
![](https://muchipopo.com/wp-content/uploads/2021/11/15.jpg)
ローカル権限の取得
ということで、このキーを使ってSSH接続。ユーザー名はもちろんkenobi。
![](https://muchipopo.com/wp-content/uploads/2021/11/16.jpg)
これでkenobiのローカル権限をゲットした。
ROOT権限の取得
まずはいつものSUID特権狙い。
![](https://muchipopo.com/wp-content/uploads/2021/11/17.jpg)
/usr/bin/menuというよくわからないコマンドにパスが通っている模様。
実行してみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/18.jpg)
どこかから手に入れたHTTPレスポンスをそのまま表示しているよう。
次に、ウォークスルーに従ってStringsをしてみる。
![](https://muchipopo.com/wp-content/uploads/2021/11/19.jpg)
curl -I localhostという文字列が見えるが、これがmenuで1をタイプしたときの動きぽい。ターミナルで同じコマンドを打った時と同じレスポンスだったから。
次に、このcurlに中間者攻撃?をしかける。
![](https://muchipopo.com/wp-content/uploads/2021/11/20.jpg)
何をやっているのか一言でいうと、menuというプログラムが使っているcurlコマンドを別のcurlファイルに置き換えて特権を取ったということ。
順番に説明すると、
1.curlというファイルを作り、中身を”/bin/sh”にする
2.curlというファイルの権限を777にして、無敵状態にする
3.curlを保存しているディレクトリ(今回は/home/kenobi)を環境変数PATHに追加する(これで、curlのパスをわざわざ指定しなくても、curlと打つだけで実行できるようになった)
4.menuを起動し、curlコマンドを使わせる
5.本来はHTTPリクエストを飛ばすcurlコマンドだが、先ほどつくったcurlファイルが呼び出される
(menuはSUIDがついており、root権限で稼働するので、自然とcurlもroot権限で動かされる)
6.curlファイルの中身はシェルを起動するというもの
7.root権限でシェルが起動
ということ。
これで攻略終わり。
まとめ
ひとつだけ文句が言えるのなら、StarWarsへのワクワク感を返してほしい。
コメント