公開していたサービスの開発環境やテスト環境が脆弱でやられたっていうのは分かるが、今回はそうでは無い。
よくセキュリティ学習やセキュリティツールのベンチマークに使用されるOWASP Juice Shop、DVWA、Hackazonといったアプリケーション。
これらがインターネットに公開されていたと。
そんでこれらを公開していたのは、Palo Alto Networks、Cloudflare、F5と。大手セキュリティベンダーと言っても、内部的にはセキュリティの意識に大きく差はあるんだろうなぁ。
ところで、「別に公開されていただけなら、そのサーバが乗っ取られるだけで終わりでしょ?」と思ったそこのあなた。
この話はそこで終わらないのが、また面白い。
Penteraのエンジニアが作ったツール「SigInt」で見つけた
Penteraのエンジニアは、このツールを作って使って見つけたとのこと。
まずは、githubとかでオープンソースとして公開されている、セキュリティトレーニングや教育、内部ペネトレーションテストの実践学習、開発者のセキュリティ意識向上を目指したものを検索。
そして、見つけたものの中でフィンガープリントとなりそうな要素を抽出。ファビコンのハッシュ、ページタイトルや特徴的なHTML要素、レスポンス内の特徴的なヘッダー、アプリケーション固有のURLなどなど。
そしてcensysやshodanと連携して、上記特徴を持つIPを検索、というのがSigIntがやってくれるぽい。
┌─────────────────────────────────────┐
│ Phase 1 │
│ Fingerprinting │
│ ┌─────────────┬───────────────┐ │
│ │ Live Site │ GitHub Repo │ │
│ └─────────────┴───────────────┘ │
└──────────────────┬──────────────────┘
▼
fingerprint.json
│
┌──────────────────▼───────────────────┐
│ Phase 2 │
│ Discovery │
│ ┌────────┬────────┐ │
│ │ Shodan │ Censys │ │
│ └────────┴────────┘ │
└──────────────────┬───────────────────┘
▼
candidates.json
│
┌──────────────────▼───────────────────┐
│ Phase 3 │
│ Verification │
│ ┌────────────────────────────┐ │
│ │ Active Probing + Scoring │ │
│ └────────────────────────────┘ │
└──────────────────┬───────────────────┘
▼
exports/ (json, csv, html)
# https://github.com/noamYaffe1/SigInt?tab=readme-ov-file#what-it-does
こうして、AWS、GCP、Azure上で稼働している脆弱性なテストするだけのはずのアプリケーションを発見してしまった。
Cloudflareの場合 - bWAPPを公開
CloudflareはbWAPPを大公開していた。
マニュアル通りの脆弱性で、GCPインスタンス上で稼働していたことが判明。
さて、脆弱なアプリケーションなのだからここまでは当たり前。さらに、ヤバイのがこの後。
GCPってことは、インスタンスに結びついているGCP上のメタデータ(http://169.254.169.254/computeMetadata/v1/)やIAMロールがあるはず。ということで、GCPメタデータサービスにアクセスすることで、最終的に数百のGoogle Cloud Storageバケットに読み取りアクセスを可能にしてしまった。
F5の場合 - DVWAを公開
F5はDVWAを公開していた。
こちらもGCPを使用。Cloudflareと同じようにメタデータを収集し、最終的にログ等を含む複数のストレージバケットへのアクセスを獲得。
Palo Alto Networksの場合 – DVWAを公開
パロアルトはDVWAを公開していた。
こちらはAWSを使用。であれば、IAMとかメタデータ(http://169.254.169.254/latest/meta-data/)があるはず。
Penteraのエンジニアが頑張ったところ、AWSアカウントの完全な管理者アクセスを獲得した。
先に来てた人たちも居ます
Penteraのエンジニアが公開されていた脆弱なアプリケーションを調査したところ、既に訪問者がいたようだ。
仮想通貨マイニングしてた人 - XMRigを配置
XMRigを配置されてたものが発見されたらしい。
主にMonero(XMR)をマイニングするプログラムだが、簡単に実行できるので勝手に侵入したサーバで実行する奴らが居る。
別にマルウェアじゃないけど、勝手に配置されてる事例多すぎてマルウェア判定されている。
今回の調査でも、マイニングに使われているサーバがあったと。
バックドア仕掛けてた人 - watchdogスクリプトを配置
バックドアを仕掛けられていたのも確認された。
発見されたバックドアは、削除されてもバックアップから復元する自己修復機能、メインプロセスと監視プロセスを実行して片方が死んだらもう片方が復活させる、競合するマルウェア排除等の機能を持っていた。
割とマジメなバックドアだったと。
Webshell仕掛けてた人 - filemanager.php
ブラウザからファイルを確認できるwebshellを仕掛けていた人も居ました。
おそらく、こんな感じのwebshell
wordpressの侵害とかでもよく見るが、webshell使う人たちってブラウザ内で仕事を簡潔できるようにwebshellを超リッチな高機能にしていくよね。
とりあえず通信暗号化と難読化だけして、無駄な通信とか容量使わないようにミニマムにした方が良いと思うのだが。何故?????
結局基本を忘れずに。アクセス制限と最小権限の原則。
基本的なセキュリティを忘れないでくださいね。
あとは隔離された環境で。
会社だと、同じアカウント内で対応しないと謎のコンプラや謎の社内規則上検証できないんだよねっていうのは分かるけど。それならそれで、かなり気を付けるようにしないといけないですね。