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上に存在することが判明しており、CetusやPro-Ocean、Graboid、Black-Tなど、このセキュリティ問題を利用して伝播する多数のクリプトジャッキングマルウェアが確認されています。
Prisma Cloudをお使いのパロアルトネットワークスのお客様は、構成に不備のあるDockerデーモン設定について警告するPrisma Cloud Computeのホストコンプライアンス保護機能とランタイム保護機能を通じて上記のマルウェアから保護されています。
構成の不備
Dockerデーモンはユーザーがデーモンと対話できるようにRESTful APIを公開しています。このデーモンはデフォルトではUnixソケットでリッスンしていますが、リモートアクセスが必要であれば、かわりにTCPソケットをリッスンするよう設定することができます。そのさい問題となるのがTCPソケットを使用する場合にデフォルトでは認証・認可のメカニズムがないことです。つまりデーモンにアクセスさえできれば完全な権限を得られることになります。
調査から分かったこと
50日間に850回の攻撃試行から33種類の攻撃が確認されました。つまり約90分ごとにこのハニーポットは攻撃を受けていたということになります。
攻撃は頻繁に多くの異なる脅威アクターによって行われていました。このことは攻撃者も認識しているようで、ライバルのマルウェアに対抗すべく、これらを識別して停止させてシステム内のマルウェアが自分だけになるようにマルウェアを設計しています。
攻撃の大半は、クリプトジャックを目的としたものでした。シンプルなマイナーだけのものもあれば、以下のような機能を含むものもありました。
- マイナーの活動を隠す
- ライバルのマルウェアを停止する
- 他のマシンに伝播する
- 情報収集を行う
- コマンド&コントロール(C2)通信を確立する
その他の攻撃は情報を収集してリモートサーバーに送信するだけのものか、DDoS(分散型サービス拒否攻撃)エージェントやボットネットエージェントなど、ツールを展開するだけのものでした。
他と比べて発生数の多い攻撃もありました。下のグラフから分かるとおりKinsingは合計360件の攻撃を行っており最もよく確認されたマルウェアでした。
もう1点興味深かったのが、これら5つの最もよく見られた攻撃のうち、TeamTNTによるものがCetus、TeamTNT Botnet A、TeamTNT Botnet Bと3つもあった点です。
これらのボットネットは、ボットネットと悪意のあるクリプトマイナーの展開を最終目的とする2つの異なる新しい亜種です。これらはAWSの認証情報を盗む、ziggy(IRCエージェント)を展開するなど、TeamTNTのよくとる手法を使っています。
これら亜種の1つに、構成に不備のあるDockerインスタンスを介して伝播する機能があります。構成に不備のあるDockerインスタンスをインターネット上でスキャンし、見つかればそのIPをC2サーバーに送り、脆弱なインスタンス上で悪意のあるイメージを実行することで伝播します。
Unit 42はこれまでたびたびTeamTNTの悪意のあるアクティビティを暴いてきました。私たちは同攻撃グループのアクティビティを監視しており、新たに作成される複雑なマルウェアを数ヶ月おきに発見しています。
なお最後にあげた攻撃についてはそのオペレーターを特定できていないことから「Miner A」と呼んでいます。これはMoneroを採掘するシンプルなXMRigマイナーです。
結論
構成に不備のあるDockerデーモンは、何年も前から存在するよく知られたセキュリティ問題で、攻撃者たちはこの問題を利用し続けています。1年前のハニーポットの調査結果と直近2021年3月~4月の結果とを比較してみると、攻撃者がクラウド環境のもつ可能性に気づくにつれ、クラウド標的型マルウェアの数が増えてきていることが分かります。
Prisma Cloudをお使いのパロアルトネットワークスのお客様は、構成に不備のあるDockerデーモン設定について警告するPrisma Cloud Computeのホストコンプライアンス保護機能とランタイム保護機能を通じて上記のマルウェアから保護されています。
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 マルウェアのハッシュ