Windowsベースコンテナを利用してKubernetesクラスタを侵害し、バックドアを仕掛けて攻撃者が他の悪意ある活動に悪用できるようにすることを目的とするマルウェアが1年前から活動していたことが発覚しました。
Kubernetesは、Googleが開発しCloud Native Computing Foundationが管理しているオープンソースシステムで、コンテナ化されたワークロード、サービス、アプリケーションをホストのクラスター上で展開、スケーリング、管理を自動化することができます。
アプリのコンテナをポッド、ノード(物理マシンまたは仮想マシン)、クラスター上で稼働させ、複数のノードでクラスターを構成。マスターがアプリのスケーリングやアップデートなどのクラスター関連のタスクを調整するようになっています。
稼働中のKubernetesクラスターを狙った攻撃
本マルウェアはUnit 42のセキュリティ研究者であるDaniel Prizmant(ダニエル・プリズマン)が「Siloscape」と名付けたもので、Windowsベースコンテナを標的とした初のマルウェアです。
本マルウェアはWebサーバーやデータベースに影響を与える既知の脆弱性を悪用し、Kubernetesノードを侵害してクラスターにバックドアを設置することを目的としています。
「”Siloscape “は、Windowsベースコンテナを通じてKubernetesクラスターを標的とする、高度に難読化されたマルウェアとなっており、その主な目的は悪意のあるコンテナを実行するために、設定が不十分なKubernetesクラスターにバックドアを開くことです」とPrizmantはレポートで紹介しています。
“Unit 42の研究者であるAriel Zelivansky氏とMatthew Chiodi氏は、別のブログ記事で「Unit 42の研究者はこれまでクラウド環境ではLinuxのOSが普及していることからLinuxベースコンテナを標的としたマルウェアしか見たことがありませんでした。SiloscapeはWebサーバーを侵害すると、さまざまなコンテナエスケープの手法を用いて基盤となるKubernetesノード上でコードを実行します。侵害されたノードは、Kubernetesクラスター内の他のノードにマルウェアを拡散させるための認証情報を探ります。」と述べています。
https://www.paloaltonetworks.com/blog/2021/06/siloscape-malware-windows-containers/?lang=ja(日本語ブログ)
SiloscapeはWindowsコンテナを標的としてKubernetesクラスタへのバックドアを開きます。これにより攻撃者は被害者のクラスタ内のあらゆる場所で任意のコードを実行できるようになります。攻撃者はさまざまな攻撃を組織に対して行う可能性があります。たとえばランサムウェア(クラスタのロックや暗号化)、クリプトジャック(クラウドのコンピューティング能力を利用)、分散型サービス拒否(DDoS)(ボットネットの一部としてクラウドのコンピューティング能力を利用)、データ漏出(クラスタ内のデータを窃取)などです。クラスタ内のコンテナが1つシャットダウンされても攻撃者はまだコントロールを握ったままです。新しいコンテナを作成したり既存コンテナでコードを実行したり他のコンテナを停止したりすることができます。
感染の最終段階で、マルウェアは匿名通信ネットワーク「Tor」上のIRCを介してコマンド&コントロール(C2)サーバーとの通信チャネルを確立し、マスターからの命令を待ち受けます。
このマルウェアのC2サーバーにアクセスしたPrizmantは23の現在進行系の被害サーバがいることを確認することができました。
「C2サーバを調査した結果、このマルウェアは大規模なネットワークのごく一部であり、このキャンペーンは1年以上にわたって行われていることがわかりました。さらにこの攻撃の特定の部分がオンラインになっており、現在進行系の被害者がいることを確認しました」とPrizmantは付け加えています。
Siloscapeの攻撃の流れ
- 攻撃者は既知の脆弱性、または脆弱なWebページやデータベースを使用して、Windowsコンテナ内でリモートコード実行(RCE)を実行
- 攻撃者は必要なC2接続情報をコマンドライン引数として、Siloscape(CloudMalware.exe)を実行
- SiloscapeはCExecSvc.exeになりすましてSeTcbPrivilege特権を取得
- Siloscapeはホストへのグローバルシンボリックリンクを作成し、そのコンテナ化されたXドライブをホストのCドライブに接続
- Siloscapeはグローバルリンクを使用して、ホスト上でkubectl.exeバイナリを名前で検索し、Kubernetesの設定ファイルを正規表現で検索
- Siloscapeは侵害されたノードが新しいKubernetesデプロイメントを作成するのに十分な権限を持っているかどうかをチェック
- Siloscapeはunzipバイナリを使用してアーカイブファイルからTorクライアントをディスクに抽出。両方のファイルは、メインのSiloscapeバイナリに格納される
- SiloscapeはTorネットワークに接続
- 提供されたコマンドライン引数を使用して、SiloscapeはC2サーバのパスワードを復号化
- Siloscapeはコマンドライン引数として提供される.onionドメイン(Torネットワークを通じてアクセス可能なドメイン)を使用してC2サーバに接続
- SiloscapeはC2からのコマンドを待ち実行
被害者をランサムウェアやサプライチェーン攻撃にさらす
クラウド環境を標的としたマルウェアの多くは、クリプトジャッキング(感染したデバイスで密かに暗号通貨を採掘すること)や、感染したシステムを悪用してDDoS攻撃を仕掛けることに重点を置いていますが、Siloscapeはまったく別の目的を持っています。
まず、クリプトジャッキングを含め感染したクラスターの所有者に攻撃を警告するような行為を避けることで検出を回避することに集中しています。
この攻撃の目的は、Kubernetesクラスターにバックドアを仕掛けることで、これによりKubernetesクラスターの運営者は侵害されたクラウドインフラを認証情報の窃盗、データの流出、ランサムウェア攻撃、サプライチェーン攻撃など、より幅広い悪意ある目的に利用できるようになります。
「クラスタは複数のクラウドアプリケーションを実行する可能性があるのに対し、個々のコンテナは通常1つのクラウドアプリケーションを実行するため、クラスタ全体の危殆化は個々のコンテナの危殆化よりもはるかに深刻です」とPrizmantは結論付けています。
セキュリティ機能としてWindowsコンテナを使用しないことを推奨するマイクロソフトのガイダンスに従うべきで、マイクロソフトによるとセキュリティの境界としてコンテナを使用する時は必ずHyper-Vコンテナを使用することを推奨しています。
Windows Serverコンテナで実行されているプロセスは、ホスト(この場合はKubernetesノード)上のadminと同じ権限を持っていると仮定する必要があり、Windows Serverコンテナでセキュリティが必要なアプリケーションを実行している場合は、これらのアプリケーションをHyper-Vコンテナに移行することが推奨されています。
Siloscapeマルウェアに関する妥協の指標(IOC)と詳細な技術情報は、Prizmantのレポートに記載されています。
Comments