クラウド環境
AWS EC2を標的とした認証情報窃取の攻撃を解説
Amazon Elastic Compute Cloud(EC2)ワークロードのアクセスキーやトークンをタイポスクワッティング(ユーザがURLを入力する際に犯す打ち間違いを利用し不正なサイトへ誘導する手口)や正規ツールの不正利用によって盗み出そうとする試みが確認されました。
Amazon Elastic Compute Cloud(EC2)ワークロードのアクセスキーやトークンをタイポスクワッティング(ユーザがURLを入力する際に犯す打ち間違いを利用し不正なサイトへ誘導する手口)や正規ツールの不正利用によって盗み出そうとする試みが確認されました。
トレンドマイクロは、監視・可視化ツール「Weave Scope」を不正使用することにより環境変数及びIMDS(インスタンスメタデータサービス)エンドポイントを通じて、Elastic Compute Cloud (EC2)インスタンスからAWS(Amazon Web Services)における IMDSの情報を列挙する不正な試みを確認しました。このツールを不正に使用すると、攻撃者が所有している可能性の高いドメインへのアクセスキーやトークンの転送が可能になります。さらに、AWSが所有するドメイン「amazonaws.com」においてタイポスクワッティングを使用することが可能となります。その後、攻撃者はmasscan及びzgrabを利用することによりWeave ScopeのUI(ユーザインターフェース)インスタンスを探し出し、IPアドレス及びポートを抽出します。トレンドマイクロは、これらの攻撃による影響を最小化するために、現在使用しているクラウドセキュリティポリシー及び開発ツールを安全にカスタマイズするようにユーザにアドバイスを行っています。
実行フロー
トレンドマイクロは、正規のツールを用いた不正な手口、特にWeave Scopeを使用したケースについて以前報告を行いました。トレンドマイクロのハニーポット(攻撃者を引き寄せるように設計された仕掛け)を用いた試みでは、攻撃者は無防備なDocker REST APIサーバを介して侵入(TeamTNTのような攻撃グループによって頻繁に利用される手口)していたことが確認されました。このサンプルでは、攻撃者はコンテナを作成し、基盤となるホストのルートディレクトリをコンテナ内のパス</host>にマウントしました。その後、他のコマンドを実行することなく、コンテナの作成時に init.sh という名称のスクリプトを実行しました。
環境変数HOMEは/rootとして設定され、このスクリプトから生じる他のプロセスは/rootディレクトリをHOME変数とみなすようになります。コマンドの履歴は記録されず、後に環境変数自体も削除されます。また、PATH変数には、パス</root/.local/bin>が含まれます。スクリプトの実行中、言語を強制的に統一するために、言語ローカライズに特化したパラメータが設定されます。
その後、攻撃者のスクリプトを実行可能にする特定のツールをAlpine Package Keeperまたはapkを使用してインストールし、alpineベースのコンテナイメージのベースイメージにwget、curl、jq、masscan、libpcap-dev、そしてdockerをインストールします。ここでは、以下2つの変数が確認されています。
- SCOPE_SH:Weave Scope をインストールする Base64 エンコード文字列
- WS_TOKEN:ホストをフリートへ含めるために使用する機密のアクセス用トークン
スクリプト関数
スクリプトの分析では、攻撃用に設計された4つの関数、main、wssetup、checkkey及びgetrangeを確認しました。
main
main関数は、3つの関数を順番に呼び出します。最初の nohup は Docker daemonを実行し、シェルから退出した後もプロセスを実行し続けます。STDOUT及びSTDERRのストリームは/dev/nullと接続され実行時には画面に何も出力されません。
wssetup
この関数は、変数 SCOPE_SH の内容を base64 ユーティリティを使用しデコード(復号化)します。wssetup は、コマンドライン 「scope launch -service-token=$WS_TOKEN 」を密かに実行し、ホストを攻撃者の Weave Scopeフリートの一部とします。
トレンドマイクロは、以前Docker REST APIが不正利用され、攻撃者のインフラストラクチャからスコープ・トークンが不正に取得されたことを確認しました。このケースでは、トークン自体がスクリプト内にハードコードされていました。
checkkey
この関数は、「/host/root/.aws/credentials」ファイルが存在するか否かを確認します。なお、コンテナ内のパス/hostは、ホスト上のルートディレクトリ「/」において特定可能です。ファイルが存在する場合、そのファイルは攻撃者のエンドポイントに curl リクエストとして送信されます。
この関数がローカルファイルシステムやリモートファイル共有で認証情報を見つけられない場合(Mitre ID T1552.001 Unsecured Credentials: Credentials In Files)、IMDSエンドポイントはその情報が入手可能かcurlやwgetを使用することにより問い合わせます。アウトプットは一連の grep 及び sed オペレーションによって処理され、隠しファイル 「.iam」及び 「.ec2」に蓄積されます (Mitre ID T1564.001 Hide Artifacts: Hidden Files and Directories)。
認証情報を収集した後には「.aws」という名称の一つの隠しファイルにまとめられ、元のファイルは削除されます。その後、各プロセスの環境変数をAWSまたはEC2により検索し「.aws」ファイルに追加されます。
<$HOME/...aws>にあるファイルが、全ての認証情報を収集し準備が整った際には、そのファイルはcurl経由でドメイン「amazon2aws.com」に送出され、その後削除されます。
getrange及びrangescan
この関数は RANGE という名称の変数を取り込みます。この変数は、後に rangescan という名称の別の関数に引き渡されます。この関数は zgrab を使用しRANGE にある IP アドレスをスキャンし、Weave Scope UI のデフォルトポートである 80、443及び 4040で起動しているアクセス可能なWeave Scope UI を検索します。
トレンドマイクロの調査によると、getrangeにvalue(値)は提供されていません。その代わりに、Weave Scope UI インスタンスをスキャンするための CIDR (Classless Inter-Domain Routing)を含む ipranges.txt から IP アドレスを取得します。IP アドレス及び UI インスタンスを探し出すために、masscan や zgrab のようなネットワークを列挙するツールが使用されます。アクセス可能なWeave Scope UIのインスタンスが見つかると、対応するIPアドレスとポートは、amazon2aws.com(攻撃者が管理するサーバ)にcurlを使用することにより抽出されます。
ドメインの移行
攻撃者が管理するサーバを分析したところ、Amazon.com, Inc.の子会社であるAmazon Technologies, Inc.から不正なドメインの元所有者であるNice IT Services Group Inc./Customer Domain Adminに対して提起された苦情を確認しました。UDRP (Uniform Domain Name Dispute Resolution Policy )は、登録者間のドメインに関する紛争を解決するための法的枠組みです。評議会の決定を確認すると、「Findings(所見)」の箇所で、このドメインが2022年6月にAmazon Technologies, Inc.に移行されたことが記されています。
ドメインに関する問題を解決する際に使用されたIPアドレスをVirusTotalで確認したところ、amazon2aws[.]com及びteamtnt[.]redのドキュメント履歴は、攻撃グループであるTeamTNTに関連している可能性があることが分かりました。
まとめ
Shodanのスキャン結果によるとDocker REST APIの露出は減少していますが、上記攻撃テクニックや手順がシステム内において他の脆弱性と組み合わされる可能性があります。攻撃者は、様々なツールをテストした上で構築しており、多くの場合、正規のツールやプラットフォームを不正に利用する手口を採用しています。トレンドマイクロは、2021年12月にApache HTTP Serverの脆弱性「CVE-2021-40438」に関する情報を公開し、不正利用された場合にはSSRF(Server Side Request Forgery)攻撃が可能になることを警告しました。また、AWS IMDSがクエリされる試みも確認されています。
企業や組織がクラウドプラットフォームを導入するのに伴い、攻撃者側もこれらのクラウドサービスやインフラストラクチャを不正利用するためのツールを構築しています。防御側としては、攻撃者が侵入後に何を狙っているのか、また同時にどのような方法により脅威を無効化、解除し、そして封じ込めることができるのかを再確認する必要があります。トレンドマイクロは、機密情報や認証情報が環境変数を使用し保存されることに関し「脅威のシナリオ」及び「その被害を最小限にとどめる対策」の研究結果を発表しました。
トレンドマイクロのソリューション
Trend Micro Cloud One™ - Workload Securityは、脆弱性、エクスプロイト、そしてマルウェアによる脅威に対し、オンプレミスからクラウドに至るまでのワークロード及びシステムを強力に保護します。さらに、仮想パッチは、正式なパッチが提供される前段階においても重要なシステムを保護します。
Trend Micro™ Vision One™は、重要なイベントを迅速かつ簡潔にアラートとして表示します。そして、マルチクラウド環境やオンプレミスのワークロードの保護においてセキュリティを優先すべき事項をテレメトリに基づくXDR機能を使用することで明確に判断します。
IOC(痕跡情報)
IOC(痕跡情報)のリストは、こちらをご覧ください。
参考記事
「Threat Actors Target AWS EC2 Workloads to Steal Credentials」
By: Nitesh Surana
翻訳:新井 智士(Core Technology Marketing, Trend Micro™ Research)