クラウド サイバーセキュリティ リサーチ

Dockerハニーポットにより最も一般的なクラウドの脅威はクリプトジャックであることが明らかに

Clock Icon 2 min read

This post is also available in: English (英語)

概要

クラウド関連の脅威を評価・監視するという継続的ミッションの一環として、私たちは数種類のハニーポットを導入して定期的に監視しています。本リサーチでは、構成に不備のあるDockerデーモンを模したハニーポットに着目し、2021年3月から4月の間に得られた合計850件の攻撃試行から33種類の異なる攻撃を含むデータを調査します。その75%以上はクリプトジャッキング攻撃で、Kinsingは攻撃合計数が360件と最も多用されたマルウェアでした。本稿ではこれらインスタンスがどのくらいの頻度で攻撃されていたのかや、ペイロードの詳細についての知見を提供します。なおこれらの活動には悪意のあるイメージも含まれていたため、Dockerセキュリティチームには弊社からすでに連絡して情報を開示済みです。同チームにはすばやいご対応をいただき、これらのイメージはすでにDocker Hubから削除されています。

構成に不備のあるDockerデーモンはよく知られたセキュリティ問題です。こうしたデーモンにより、リモートにいる攻撃者がDockerインスタンスを完全に制御し、新しいコンテナのデプロイやホストへのエスカレーションなどのオペレーションを行えるようになります。過去の私たちの調査では1,400件の脆弱なDockerインスタンスがWeb上に存在することが判明しており、CetusPro-OceanGraboidBlack-Tなど、このセキュリティ問題を利用して伝播する多数のクリプトジャッキングマルウェアが確認されています。

Prisma Cloudをお使いのパロアルトネットワークスのお客様は、構成に不備のあるDockerデーモン設定について警告するPrisma Cloud Computeのホストコンプライアンス保護機能とランタイム保護機能を通じて上記のマルウェアから保護されています。

構成の不備

Dockerデーモンはユーザーがデーモンと対話できるようにRESTful APIを公開しています。このデーモンはデフォルトではUnixソケットでリッスンしていますが、リモートアクセスが必要であれば、かわりにTCPソケットをリッスンするよう設定することができます。そのさい問題となるのがTCPソケットを使用する場合にデフォルトでは認証・認可のメカニズムがないことです。つまりデーモンにアクセスさえできれば完全な権限を得られることになります。

調査から分かったこと

50日間に850回の攻撃試行から33種類の攻撃が確認されました。つまり約90分ごとにこのハニーポットは攻撃を受けていたということになります。

攻撃は頻繁に多くの異なる脅威アクターによって行われていました。このことは攻撃者も認識しているようで、ライバルのマルウェアに対抗すべく、これらを識別して停止させてシステム内のマルウェアが自分だけになるようにマルウェアを設計しています。

攻撃の大半は、クリプトジャックを目的としたものでした。シンプルなマイナーだけのものもあれば、以下のような機能を含むものもありました。

  • マイナーの活動を隠す
  • ライバルのマルウェアを停止する
  • 他のマシンに伝播する
  • 情報収集を行う
  • コマンド&コントロール(C2)通信を確立する

その他の攻撃は情報を収集してリモートサーバーに送信するだけのものか、DDoS(分散型サービス拒否攻撃)エージェントやボットネットエージェントなど、ツールを展開するだけのものでした。

弊社のDockerハニーポットに捕捉された攻撃の内訳は、76.2%がクリプトジャッキング、9.5%がボットネット、9.5%が情報収集、4.8%がDDoSエージェントとなっています。
図1 攻撃ペイロードの内訳

他と比べて発生数の多い攻撃もありました。下のグラフから分かるとおりKinsingは合計360件の攻撃を行っており最もよく確認されたマルウェアでした。

Dockerハニーポットが捕捉した最もよく見られた攻撃トップ5は、Kinsing、Cetus、TeamTNT Botnet A、Team TNT Botnet B、Miner A。
図2 最もよく見られた攻撃トップ5

もう1点興味深かったのが、これら5つの最もよく見られた攻撃のうち、TeamTNTによるものがCetus、TeamTNT Botnet A、TeamTNT Botnet Bと3つもあった点です。

TeamTNT Botnet Bのバナー
図3 TeamTNT Botnet Bのバナー

これらのボットネットは、ボットネットと悪意のあるクリプトマイナーの展開を最終目的とする2つの異なる新しい亜種です。これらはAWSの認証情報を盗む、ziggy(IRCエージェント)を展開するなど、TeamTNTのよくとる手法を使っています。

この図はTeamTNTがAWSの認証情報を窃取している例
図4 AWSのの機密情報を窃取

これら亜種の1つに、構成に不備のあるDockerインスタンスを介して伝播する機能があります。構成に不備のあるDockerインスタンスをインターネット上でスキャンし、見つかればそのIPをC2サーバーに送り、脆弱なインスタンス上で悪意のあるイメージを実行することで伝播します。

これら亜種の1つには、ここに示したように、構成に不備のあるDockerインスタンスを介して伝播する機能があります。
図5 伝播メカニズム

Unit 42はこれまでたびたびTeamTNTの悪意のあるアクティビティを暴いてきました。私たちは同攻撃グループのアクティビティを監視しており、新たに作成される複雑なマルウェアを数ヶ月おきに発見しています。

なお最後にあげた攻撃についてはそのオペレーターを特定できていないことから「Miner A」と呼んでいます。これはMoneroを採掘するシンプルなXMRigマイナーです。

結論

構成に不備のあるDockerデーモンは、何年も前から存在するよく知られたセキュリティ問題で、攻撃者たちはこの問題を利用し続けています。1年前のハニーポットの調査結果と直近2021年3月~4月の結果とを比較してみると、攻撃者がクラウド環境のもつ可能性に気づくにつれ、クラウド標的型マルウェアの数が増えてきていることが分かります。

Prisma Cloudをお使いのパロアルトネットワークスのお客様は、構成に不備のあるDockerデーモン設定について警告するPrisma Cloud Computeのホストコンプライアンス保護機能とランタイム保護機能を通じて上記のマルウェアから保護されています。

この画像はPrisma CloudのホストアラートがDockerデーモンの設定が不十分であることを警告する際に表示する内容を示しています。
図6 Prisma Cloudのホストアラート

IoC

今回の調査で検出された新しいマルウェアのIoCは以下の通りです。

コンテナイメージ

私たちはDockerのセキュリティチームに情報を開示し、同チームにはすばやいご対応をいただいています。これらのイメージはDocker Hubから削除済みです。

イメージ名
mangletmpuser/dockgeddon
0xe910d9fb6c/docker-network-bridge-ipv6

表1 悪意のあるイメージ

ドメイン/IP

45[.]9[.]148[.]85
88[.]218[.]17[.]151
85[.]214[.]149[.]236
34[.]66[.]229[.]152
209[.]141[.]40[.]190
45[.]81[.]235[.]31
185[.]239[.]239[.]32
156[.]96[.]150[.]253
oracle[.]zzhreceive[.]top

表2 Malicious domains/IPs.

ファイル

ファイル名 Sha256 説明
NM 1a0a3b52ff90fdd37d3036ec624e1dea2e78d6509c743ba2b5b815ece2e902d7 Campaign A - Miner
NM.sh 1b52560f4705b9cbeb95526a9736b1f1b48630270a7e1f308bf9b83e2b8d93ae Campaign A - Deployment script
autom.sh a0ca0dbaa0694fd7d837005d6221adf18d88bd0598cc7de807c2ccd14e6b579d Campaign B - Deployment script
trace 6f2825856a5ae87face1c68ccb7f56f726073b8639a0897de77da25c8ecbeb19 Campaign B - Miner
log_rotate.bin 3663d7640cdb63d2f0806fe6d382dafa7f453c98bda518492efddd29c3cc0cb9 Campaign B - Deployment script
luk-cpu d54157bb703b360bb911363d9bb483a2ee00ee619d566d033a8c316f06cf26cc Campaign B - Miner
kinsing 6e25ad03103a1a972b78c642bac09060fa79c460011dc5748cbb433cc459938b Kinsing - Malware
d.sh 981bea9cf9fbeda11088fcb9553ef5b27d09ef0fda3cbf3e7dd275b32c042976 Kinsing - Deployment script
DDoS.pl da3bc510087dbc49782dd9532de5c0a8213de077d943847969c9f8a83de5f181 Campaign C - DDos script
init.sh d1967ce49110fc6e9f25e3737463316911bcac616d7232f306407604b742f1a8 TeamTNT Botnet A -Deployment script
dockerd bd94b5629f71845314b3df4f1bfa9b17e0b0292d82d33c467d3bd6e52c5f3f4b TeamTNT Botnet A - Miner
TNTfeatB0RG 9504b74906cf2c4aba515de463f20c02107a00575658e4637ac838278440d1ae TeamTNT Botnet A - Malware
stock.jp 2c40b76408d59f906f60db97ea36503bfc59aed22a154f5d564d8449c300594f TeamTNT Botnet B - Decompressed miner
mod.jpg feb0a0f5ffba9d7b7d6878a8890a6d67d3f8ef6106e4e88719a63c3351e46a06 TeamTNT Botnet B - Decompressed miner
dk.sh 7b6f7c48256a8df2041e8726c3490ccb6987e1a76fee947e148ea68eee036889 TeamTNT Botnet B - Deployment script
cf.jpg eca42c42f0909cf4e6df6bf8de35ab93ef6a3dd10d0d5e556721ec1871a9990c TeamTNT Botnet B - miner configuration
[crypto].pid a674b55c3cf007418316f6ec2e774e757cb1c802ab47f8074ea0ffcf3dcb38a1 TeamTNT Botnet B - miner configuration
[crypto] 0d95f767c5f828695761e199b6e0b9fe62ace2902221540a33d331859648e761 TeamTNT Botnet B - Miner
m bffe45488cfe6fa309b380170eefcf731d9ff96aab919975664c537ad9cd1c9a Campaign D - Miner
yy.sh 305c87e43962f08206f3f923072ba3bb2bc0fa92e89f8b2a6319cbc21ccffe9d Campaign E - Miner
x.sh 2229b73467ef06091f1b86ef5592d65ac466bcf9bb953aec59920d2d23fdc5fa Campaign E - Deployment script
d 0c6231e4c68e127a89691cc8b396027fabdce11f2dd0ca9cf5617b7981e33c9f Campaign F - Deployment script
dk32 fe98548300025a46de1e06b94252af601a215b985dad31353596af3c1813efb0 Campaign F - Malware
dk86 0e574fd30e806fe4298b3cbccb8d1089454f42f52892f87554325cb352646049 Campaign F - Malware
xms 08f29a12f2be9deb2e73f3b22c13445ed9cc00d4898323ccb91b1775fa4a13da Campaign G -Miner

表3 マルウェアのハッシュ

Enlarged Image