Writeup2023/09/21に公開hacktheboxhtbtechはじめに2023年6月にHacktheBoxでHacker到達し、現在はTryHackMeで修行中です。WriteupRHOST=10.129.75.129LHOST=Enumerationいつも通りnmapかけるところからスタート。cpe:/o:linux:linux_kernel22と8080が開いているので、Webから調査します。Web探索前に、ディレクトリとサブドメインをツールで探しておきます。Dirb、Gobuster、wfuzz、FFUFなどありますが違いが分からないので適当につかってます。いつもはGobuster使いますが今回はwfuzzにしました。0uploadが見つかったのでアクセスします。画像をUploadできるサイトのようです。/show_imageへ遷移します。クエリにはUploadしたファイル名があります。ここからLFIの可能性を考えます。http://10.129.75.129:8080/show_image?img=../../../../../../etc/passwdいけました。次にディレクトリ探索できるか試します。http://10.129.75.129:8080/show_image?img=../../../../../../var/wwwできました。階層を下っていくと、/var/www/WebApp/pom.xmlの出力から、dependencyとしてspringframework.cloudのv3.2.2が使用されていることが分かります。このバージョンはCVE-2022-22963が存在します。exploit-dbはこちらFootholdまず、http://10.129.75.129:8080/functionRouterにアクセスしてPOSTを送ってみる。500エラーが返ってくる。その後、BurpのRepeaterでHeaderに以下をつける。'T(java.lang.Runtime).getRuntime().exec("{cmd}")'{cmd}に好きなコマンドを入れることになる。1234普通に以下のリバースシェルを入れても反応しない。base64色々試すとこれで刺さり、シェルが返ってくる。suするとfrankの権限が低いので他のユーザを探す。/home/frank/.m2/settings.xmlを開くとphil:DocPhillovestoInject123のCredentialsが見つかるので、ユーザを変える。Escalation今回はpspyというプロセス確認ツールを使う。8000終わったらwgetでリモートホストにUpload、権限付与、実行する。pspy64./pspy64ansible-parallelが怪しそう。2つ目のコマンドがplaybook_1.ymlをコピーして別のフォルダに移行しており、1つめでコピーしたファイルを実行している模様。これがcronジョブとして実行されているぽい。playbook_1.ymlを見てみると、実行されていないときは自動的に起動する模様。実行権限はrootなので、これを悪用して権限昇格を目指す。-laとidから判明している。4444playbook_2.ymlを作成して少し待っているとシェルが返ってくる。idやwhoamiでroot奪取できたのがわかる。おわりにこのMachineはアクティブ時代の6月に一度解いているのですが、WriteupがUsershell入手以降保存されてなかったので、再度侵入してWriteup書いてみました。思い出せなかったので、ちゃんと復習しようと思いました。Lawバッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。