1. nmapでRecon
80/tcp
, 8338/tcp
はブラウザからアクセスできなさそう。55555/tcp
はアクセスできた。
2. Request-Bucketsへのアクセス
55555/tcp
はRequest-basketsというWebサーバが動いている。
Google検索したところ、Githubで公開されているようだ:darklynx/request-baskets: HTTP requests collector to test webhooks, notifications, REST clients and more …。
このRequest-basketsは、受け取ったHTTPのリクエストを分析する目的で画面上に表示したりAPIで情報を取得できたりするようにするツールらしい。このソフトウェアのAPIドキュメントについてはターゲットからもリンクが入手できる。このターゲット上で動作しているバージョンもAPIでとることができた。
“Request-baskets 1.2.1”などで検索すると、CSRFの脆弱性へのPOCが見つかる。
PoC of SSRF on Request-Baskets (CVE-2023-27163)
どうやらforward_url
というパラメータを作って新たなエンドポイントを作れば、そこ目掛けて投げたリクエストはforward_url
で指定した宛先へそのままフォワードされるようだ。このPOCを使えば、ターゲットの80/tcp
や8338/tcp
にもアクセスできるのでは?
http://10.129.229.26:55555/ribnjo
へのアクセスは、ターゲットサーバ上のhttp://localhost:8338/
にフォワードされるようになった。
3. Maltrailへのアクセス
http://10.129.229.26:55555/ribnjo
へアクセスすると、フォワードされた先はMaltrailなるサービスが動作している。こちらもGithubにて公開されているソフトウェアのようだ。
stamparm/maltrail: Malicious traffic detection system
バージョンも0.53
とすぐに入手できる。Google検索するとすぐにPOCが見つかる。
spookier/Maltrail-v0.53-Exploit: RCE Exploit For Maltrail-v0.53
ローカルでnc
コマンドで待ち受けながらこのPOCを使うことで、リバースシェルが獲得できる。
(POC中の/bin/sh
は/bin/bash
に書き換えて使わせてもらった)
ユーザのフラグを入手する。
4. PrivEsc
お決まりのsudo -l
GTFObinsやExploit-Notesにて、pagerが起動することを悪用してrootのシェルを奪取する解説が書いてあるので試してみる。
成功したのでrootのフラグをとる。
リバースシェルとかでpagerが使えなくても通るのね。