[THM: Silver Platter] Workthrough
Silver Platter のCTFのウォークスルー
調査

22と80と8080が空いているので検証してみる。
80番

特に気になる点がなく、「#/contact」ページの、キーワードが2つ。「Silverpeas」と「scr1ptkiddy」。ヒントになるかも。
ディレクトリ検索は特に収穫無し。

8080番

ひどい、、(笑)ディレクトリ検索もしてみる。

少し興味深いものを発見。「console」と「website」。それぞれアクセスしてみるも、「404」と「Forbidden」。さらにそれぞれのディレクトリを深掘ってみるものの収穫無し。ベクターがが違うのかも。
22番
先ほどの「scr1ptkiddy」が気になるが、CTFの説明にブルートフォースは無駄的なことが書いてあるので、一旦スキップ。
最初に見つけた、「If you’d like to get in touch with us, please reach out to our project manager on Silverpeas. His username is “scr1ptkiddy”.」にヒントがあるか?「Silverpeas」でググってみる。そう振ると、コラボレーションツールとして存在しているみたい。知らなかった。しかし、ログイン画面などは先ほどの調査では見つかっていない。「Silverpeas」「default」「login」「url」で検索すると、以下の情報が見つかった。そして初期のクレデンシャルは、「SilverAdmin」「SilverAdmin」だ。

「http://<IPアドレス>:8080/silverpeas/defaultLogin.jsp」でログイン画面が見つかった。

初期クレデンシャルでログインを試みるが、当然無理。ソースなども見てみるが、特にバージョンを特定できるような情報はなし。
イニシャルアクセス
「silverpeas」「cve」で検索すると、いきなりいいのが見つかった。
https://github.com/advisories/GHSA-4w54-wwc9-x62c
上記報告に従って、リクエストボディから「&Password=SilverAdmin」を消して送信してみる。

そうすると、Responseのロケーションには、転送先のURLが渡されていることが確認できる。このURLにアクセスをしてみる。

何と簡単には入れてしまった。しかし何語かわからないのと、UIがわかりずら過ぎるのと重いので何をしていいのやら迷う。ひたすらポチポチする。そうするとメンバー一覧の画面を見つける。とにかくつまらなそうなアプリだ。

同関連しているのかはわからないが、最初に見つけた「scr1ptkiddy」がいる。また「Administrateur」と「Manager」がいる。何語?
先ほどのCVEが他のユーザーにも通用するのかを試してみよう。ログアウトしたいが、それすらどこにあるかわからないので、Cookieを消す。
Managerでリクエストを送信したところ、こちらもLocationが返ってきたようだ。

入れた汗

なぜこんなことになってしまっているだろうか、このアプリは、、、、
先ほどと違い目を引くのが、「1件の通知」。この中を見ると、sshのクレデンシャル情報が見つかった。

はいれた。「user.txt」を発見して1つ目のフラグゲット。
権限昇格
さて何やっていこう?まずは、「linpeas」と「GTFOBins」あたりか。実はさっきの管理画面をポチポチしている際に、別のPCも発見したんだけどそれは一旦スキップ。
ls /home
と、cat /etc/passwd
で、「tim」と「tyler」を発見。続けて、linpeasを実行。

特に何も見つからず。実は、「pkexec」のcveが見つかってそこに結構な時間を割いたんだけど、パッチが充てられていて成果はなかった。
$ cat /var/log/auth.* | grep -ai pass
これにより、tylerさんが、dockerを起動している際に、環境変数に POSTGRES_PASSWORD
を渡している。パスワードが判明。しかし、なぜこれlinpeasで検出されなかった???
見つかったのは、postgresのパスワードだけど、これでtylerにsu出来るか試す。

できた。そんで、tylerさんが出来ることの確認。

当然ですが、フルですね!では、遠慮なく

rootになれたので、/root/root.txtを開いて、2つ目のフラグゲット。これにて完了。