LemonDuck、Dockerを標的にしたクリプトマイニングオペレーションを展開
クラウドベースのエンドポイント、クラウドワークロード、アイデンティティ、データ保護の業界リーダーであるCrowdStrike Holdings, Inc.(NASDAQ: CRWD)の日本法人であるクラウドストライク 株式会社(本社:東京都港区、以下クラウドストライク)は本日、Dockerを標的にしたクリプトマイニングオペレーション「LemonDuck」に関する詳細情報をブログで紹介します。
最近の暗号通貨ブームによって暗号通貨の価格がこの数年で急上昇しています。その結果、即座に金銭的な報酬を得ようとする攻撃者による、クリプトマイニングのアクティビティが著しく増加しています。2021年11月29日に公開されたGoogle Threat Horizonレポートによれば、侵害されたGoogle Cloudインスタンスのうちの86%がクリプトマイニングに使用されました。 CrowdStrike Cloud Threat Researchチームは、Linuxプラットフォームで暗号通貨マイニングを実行するためにDockerを標的とする、LemonDuckを検出しました。このキャンペーンは現在も続いています。 LemonDuckはProxyLogonを介してMicrosoft Exchangeサーバーを標的にし、EternalBlueやBlueKeepなどを使用して、暗号通貨のマイニング、権限のエスカレーション、侵害されたネットワークでの横方向の移動を実行する、よく知られたクリプトマイニングボットネットです。このボットネットは、Moneroなどの暗号通貨をマイニングするためのさまざまなキャンペーンを同時に実行して、収益化を試みています。 公開されたDocker APIとは? Dockerは、コンテナ化されたワークロードの構築、実行、管理のためのプラットフォームです。Dockerでは、開発者の自動化を支援する数多くのAPIが提供されており、このAPIは、ローカルのLinuxソケット、またはデーモン(デフォルトポート2375)を使用して利用できるようになります。 Dockerは主にクラウド上のコンテナワークロードを実行するために利用されており、クラウドインスタンスの設定に誤りがあった場合、Docker APIがインターネットに公開される可能性があります。すると、攻撃者はそのAPIを悪用して、攻撃者が制御するコンテナ内で暗号通貨マイナー(クリプトマイナー)を実行することができます。さらに、権限や構成ミスおよび、Docker、Containerd、CRI-Oなどのコンテナランタイムで特定された複数の脆弱性の悪用により、実行中のコンテナをエスケープすることができます。 Cr8escapeは、CrowdStrikeが発見したコンテナランタイムCRI-Oの脆弱性の一例です。 Dockerを介した最初の侵害 LemonDuckは公開されたDocker APIを標的として最初の侵入を行います。公開されたDocker API上で、カスタムのDocker ENTRYPOINTを使用してBashスクリプトに偽装した“core.png”イメージファイルをダウンロードすることで、悪意のあるコンテナを実行します。図1は、最初の悪意あるエントリポイントを示しています。 [caption id="attachment_13811" align="aligncenter" width="700"] 図1.偽装されたBashファイルをダウンロードする悪意あるエントリポイントのイメージ[/caption] “core.png”のファイルは、LemonDuckと関連付けられているドメイン、t.m7n0y[.]comからダウンロードされました。CrowdStrikeがこのドメインをさらに分析した結果、複数のキャンペーンがWindowsおよびLinuxのプラットフォームを同時に標的とするドメインを経由して実行されていたことを確認しました。 図2に示すように、このドメインには、2021年5月に生成された、期限が2022年5月である自己署名証明書がインストールされています。また、このドメインが現在使用中であることも示されています。 [caption id="attachment_13820" align="aligncenter" width="625"] 図2.LemonDuckのドメイン証明書[/caption] この一意の証明書署名から、この攻撃者が積極的に利用している他のドメインに調査を広げ、このキャンペーンで使用されている他のコマンドアンドコントロール(C2)を特定することが可能です。図3に示すように、現時点の調査で、同じ証明書を使用していたいくつかのドメインが特定されています。しかしながら、その他の関連するドメインによる“core.png”ファイルの配布に関しては、執筆時点では確認されていません。図4に示すように、CrowdStrikeにより収集された履歴データからは、この攻撃者が過去に使用した複数のドメインで、“core.png”が配布されていたことがうかがえます。 [caption id="attachment_13824" align="aligncenter" width="250"] 図3.同じ証明書を共有するドメイン[/caption] [caption id="attachment_13882" align="aligncenter" width="700"] 図4.過去に配布されたcore.pngに類似したファイル[/caption] 攻撃者は通常、単一のC2サーバーから単一のキャンペーンを実行します。しかしながら、LemonDuckの場合は興味深いことに複数のC2が使用され、LinuxプラットフォームだけでなくWindowsも標的とする複数のキャンペーンが実行されています。図5は、複数のキャンペーンで使用されているさまざまなドロッパーファイルを示しています。 [caption id="attachment_13830" align="aligncenter" width="700"] 図5.WindowsおよびLinuxを標的とする複数のキャンペーンで使用されるドロッパーファイル[/caption] マイナーをセットアップする偽装スクリプト 図6に示すように、コンテナ内部にLinux cronjobを設定することで、“core.png”ファイルはピボットとして機能します。その後、このcronjobは別の偽装ファイル“a.asp”をダウンロードしますが、この“a.asp”は、実際にはBashファイルです。 [caption id="attachment_13886" align="aligncenter" width="700"] 図6.cronjobを追加してa.aspをダウンロードするcore.png[/caption] “a.asp”ファイルは、この攻撃の実際のペイロードとなります。このファイルは、cronjobによりトリガーされると、ダウンロードしてマイニングオペレーションを開始する前に、以下のような複数の手順を実行します。- 名前に基づいてプロセスを強制終了。既知のマイニングプール、競合するクリプトマイニンググループなどの名前に基づいてプロセス数を強制終了します。
- 既知のデーモンを強制終了。デーモンのプロセスIDを取得して、crond、sshd、syslogなどのデーモンを強制終了します。
- 既知の侵害指標(IOC)ファイルパスを削除。競合するクリプトマイニンググループの既知のIOCファイルパスを削除し、既存のオペレーションを妨害します。
- 既知のネットワーク接続を切断。競合するクリプトマイニンググループの既知のC2へのESTABLISHEDまたは進行中(SYN_SENT)の接続を切断します。