Hello there, ('ω')ノ
社屋丸ごと乗っ取りを。
脆弱性:
情報開示
記事:
https://infosecwriteups.com/company-building-takeover-10a422385390
今回は、Target-IP.comというターゲットを。
shodanを見てみることから始めて。
他の IP で時間を費やした結果、いくつかのログイン パネルを含む IP が。
いくつか見つかりましたが、ストーリーが始まる目的の IP を見つけるまで。
報告に値するものは何も見つからず。
IPにアクセスした後、eMergeログインパネルを見つけて。
情報収集の結果、会社の建物を管理するために会社間で。
一般的に使用されている製品であることがわかり。
公開されているエクスプロイトがあるかどうかを確認し始めて。
それでは、searchsploitを見てみることに。
┌──(omar㉿kali)-[~]
└─$ searchsploit “emerge”
ここにいくつかのジューシーなエクスプロイトがありますが。
残念ながらどれも機能せず。
そこで、Google、packetstorm、GitHub などで。
公開されているエクスプロイトがないか、他の Web サイトで検索を完了し。
https://packetstormsecurity.com/
他のいくつかのエクスプロイトが見つかりましたが。
製品にはパッチが適用されているようで。
ヘッダを分析しているときに、下記のヘッダが見つかり。
PHP のバージョンは PHP/5 で、ログイン パネルがありますが。
このバージョンの攻撃シナリオはどのようなものになるかとうとPHP Type Jugglingで。
それでは、ログイン要求に移ることに。
パラメータは POST リクエストで文字列として送信され。
PHP Type Juggling をテストできるようにするには、パラメータのデータ型が。
文字列または整数の場合は保存するコンテンツ タイプでテストする必要があり。
コンテンツタイプとパラメータを変更して。
しかし、バックエンドは login_id パラメータを認識できないため。
JSON を受け入れないようで。
これは、Type Juggling 攻撃が開始前に失敗したことを意味して。
その後、ログイン パネルで SQLiなどの攻撃のテストを開始しましたが。
脆弱ではなく。
登録エンドポイントにアクセスしようとしましたが、新しいユーザを。
管理者または権限の低いユーザとして登録できる可能性があり。
(例:登録、サインアップ、サインアップ、新規ユーザの作成)
┌──(omar㉿kali)-[~]
└─$ ffuf -w common-register-endpoints -u https://
しかし、私は何も得ることはできず。
なので、いくつかの重いファジングを始めて。
┌──(omar㉿kali)-[~]
└─$ python3 dirsearch.py -w my-wordlist -u https://
左のdirsearchは、バックグラウンドで作業して。
次に、JS ファイルの分析を開始し、あらゆるタイプの壊れたアクセス制御の。
脆弱性、強制ブラウジング、露出したトークンを許可するいくつかの。
エンドポイントを見つけようとしていて。
またはハードコードされた資格情報、シンクに続くいくつかのソースを見つけるか。
任意のタイプの隠しパラメータを見つけることで。
DOM-Based-XSS を取得しようとして。
これらを行っているときに、dirsearch が仕事を終えていることがわかり。
一見すると、「test.txt」ファイルには、「Hello World!」や「こんにちは」など。
開発者によってエコーされたいくつかの人気のあるメッセージ以外は。
何も含まれていないと思っていましたが、確認してみると。
ログインパネルで資格情報を入力してみると。
注:データの機密性のために編集された上の画像のデータ
ダッシュボードで最初に見つけたのは、管理者の IP アドレスと。
従業員が建物にアクセスした時間を含むログで。
さて、管理者としてログインパネルにアクセスした後に。
社屋のライブカメラが見れることを知り。
建物のエレベータやドアを制御できることがわかり。
従業員データを収集し、会社の建物にアクセスする権限を持つ新しい従業員を。
追加できて。
最終的な影響:
建物全体をコントロール可能
Best regards, (^^ゞ