fbpx

クラウド環境の遠隔操作ツール:KubernetesのUIツールを悪用 #aqua #コンテナ #セキュリティ #k8s #RAT

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2021年11月18日に公開された「 RATs in the Cloud: Kubernetes UI Tools Turn into a Weapon 」の日本語翻訳です。

クラウド環境の遠隔操作ツール:KubernetesのUIツールを悪用


長年にわたり、攻撃者は正規のリモートアクセスツール(RAT)を悪用し、被害者のシステムを完全に制御することに成功してきました。同様に、クラウドネイティブの世界では、攻撃者が Docker や Kubernetes インスタンスへのアクセスを得るために、ユーザインターフェース(UI)ツールを標的とするケースが増えています。このブログでは、UI ツールの設定ミスにより、クラウドネイティブ環境へのアクセスや制御が可能になってしまうことを説明し、攻撃者が UI ツールを利用して利益を得るための方法を解説します。

1年前、攻撃者が UI ツールを使って Docker や Kubernetes の環境にアクセスしていることを初めて知りました。それ以来、この現象は拡大し、今日では悪意のある攻撃者が様々な方法を使用して UI ツールを悪用しています。

Kubernetes UI ツール

Kubernetes 環境の可視化を提供する多くのアプリケーションが存在します。cAdvisorKubernetes Operational View のように、クラスタの可視性を提供するだけのものもありますが、Kubernetes 環境にアクセスと制御を提供するものもあります。今回の分析では、後者に注目しました。これらのツールは、攻撃者に悪用された場合、はるかに大きな被害をもたらす可能性があるからです。今回は、以下のツールに注目しました。

  • Weave Scope:Docker と Kubernetes のための可視化・監視ツールです。アプリケーションやインフラへのリアルタイムなアクセスを可能にし、ログの閲覧や問題の診断ができます。また、「Weave Scope」は Docker コンテナの管理にも使用でき、コマンドラインの起動、コンテナの起動、一時停止、停止、再起動などの操作が可能です。
  • Kubernetes DashboardKubernetes のために設計された公式の Web ベースの UI です。クラスタ内で実行されているすべてのワークロードを表示できます。また、ワークロードの制御や変更、Pod のアクティビティログを表示する機能も備えています。さらに、Kubernetes ノードの基本的なリソース使用状況も表示できます。
  • Octant は、Kubernetes クラスターとそのアプリケーションを検査するためのオープンソースの Web ベースの UI です。Octant では、クラスターの可視化のほか、デバッグ、コンテナログのストリーミング、コマンドラインインターフェースによる対話が可能です。

攻撃者はUIツールで何ができるのか

私たちは、この3つの UI ツールの設定ミスの状況を調べることにしました。これらのダッシュボードの一部は、私たちのようなセキュリティ研究者が設置したハニーポットであると想定しています。しかし、公開されている UI の中には実環境の痕跡があり、そのうちのいくつかは攻撃者によって積極的に悪用されたものあるようです。

Weave Scope

Weave Scope のダッシュボードを見つけるために、インターネットに接続されたデバイスの検索エンジンである Shodan を使用したところ、58件の結果が得られました。さらに無関係な結果やパスワードで保護されたダッシュボードを除外したところ、インターネットに公開されている10個のダッシュボードが見つかりました。

これらのダッシュボードは、攻撃者が Kubernetes 環境を完全に可視化することを可能にします。また、UI にはインバウンドとアウトバウンドのトラフィックが表示されるため、悪意のある通信を簡単に検出できます。例えば、Tsunami マルウェアが IRC プロトコルを介してサーバと通信している様子などです。

また、Weave Scope は、この通信の背後にあるプロセスを可視化します。これは、TeamTNT の手口と一致しています。下の図では、攻撃者がホスト上で動作する他のアプリケーションと一緒に masscan を実行していることがわかります。Weave Scope では、攻撃者が高い CPU 使用率や大量のスキャン行為を隠ぺいするためにルートキットを使用しているため、基盤となるホストを見逃している可能性があります。

Kubernetes Dashboard

前回同様に Shodan にて Kubernetes Dashboards を照会したところ、2,073件の結果が得られました。それらの結果を整理したところ、ユーザ認証を必要としないダッシュボードが27件となり、悪用されやすい環境が残されていました。

下のスクリーンショットでわかるように、露出した Kubernetes Dashboard は、攻撃者が Kubernetes 環境を完全に可視化することを可能にします。

攻撃者は、実行中の Pod にシェルログインをしたり、コンテナを起動したり、デプロイを変更できます。

また、Kubernetes Dashboard には、簡単にアクセスできる Secret リソースも確認できます。

それに加えて、設定変更やボリュームの取得など、攻撃者が被害を与える方法はたくさんあります。

この攻撃ベクトルは、新しいものではありません。過去には、Tesla などの企業が Kubernetes Dashboard の設定ミスによって攻撃を受けたことがあります。

Octant

同じ方法で Octant のダッシュボードを探したところ、9件の結果が得られました。無関係な結果やパスワードで保護されたダッシュボードを除外した後、ユーザ認証を必要としない4つのダッシュボードが残り、したがって環境が悪用にさらされていることがわかりました。しかし、これらはすべてハニーポットのようです。

とはいえ、以下は攻撃者が露出した Octant ダッシュボードで何ができるかの例です。

スクリーンショットにあるように、Octant ダッシュボードは、攻撃者が Kubernetes 環境を完全に可視化することを可能にしています。

攻撃者は、実行中の Pod にシェルログインをしたり、コンテナを起動したり、デプロイを変更できます。

また、Octant には簡単にアクセスできる Secret リソースも確認できます。

さらに深く掘り下げてみると、Jack Wink 氏による素晴らしいブログがあり、Octant を使ってクラスターを乗っ取る方法が紹介されています。

我々の知る限り、管理された Kubernetes サービスの一部として使用された場合、これらの UI ツールはデフォルトで設定ミスなしに設定されています。したがって、これらの誤設定されたインスタンスは、ヒューマンエラーまたは知識不足のために手動で作成/変更されたものであると結論づけています。

緩和策の推奨

クラウドサービスを堅牢化し正しく設定することで、潜在的な攻撃対象を大幅に減らし、誤って設定された Kubernetes の UI ツールを狙った攻撃を防ぐことができます。このような脅威から身を守るためには、Kubernetes セキュリティのベストプラクティスに従うことが重要です。

過去数ヶ月の間に、Aqua は Kubernetes のセキュリティと堅牢化に関するいくつかのガイドを執筆しました。

テストと精査を行い、マルウェアや脆弱性がなくセキュリティ要件に準拠していると判断されたイメージの許可リストを作成することを強くお勧めします。Aqua では、これらのコンテナだけが実行を許可されるように設定できます。

Kubernetes UI ツールを使用していない場合は、ランタイム中にこれらのツールの起動を制限することをお勧めします。Aqua のランタイムポリシーを使用して、これらのツール実行をコンテナ内でブロックすることにより実現できます。

ランタイムにおいて、Aqua の DriftPrevention は、Weave Scope、Kubernetes Dashboard、または Octant を起動するように設計されたバイナリの実行をブロックできます。

また、Aqua はブロックされたドメインや IP アドレス(teamtnt[.]red など)のリストを管理しています。これらのドメインや IP アドレスとの通信をブロックすることで、悪意のあるペイロードの実行を防ぐことができます。

さらに、Aqua の高度なマルウェア保護機能により、既知の脅威のダウンロードや実行を防ぐことができます。

まとめ


Kubernetes の UI ダッシュボードは、開発者にクラスターの可視性を与えることを目的とした便利なツールです。しかし、UI ツールの設定を誤ると、攻撃者に環境を完全にコントロールされてしまい、組織が深刻な攻撃にさらされる可能性があります。攻撃者が使用している様々な方法は、この攻撃ベクトルがいかに普及しているかを強調しています。

New call-to-action

新規CTA