This post is also available in: English (英語)
概要
パロアルトネットワークス脅威インテリジェンス調査チーム Unit 42のリサーチャーは、Perl Shellbotを利用した新しいボットネットキャンペーンを発見しました。本キャンペーンは新しいルートキットで検出を回避しつつ、ビットコインをマイニングすることを目的としています。このボットは侵害したデバイスに悪意のあるシェルスクリプトを送信し、さらにそのデバイスに他のスクリプトをダウンロードさせることで感染を広げます。侵害されたデバイスは自身にダウンロードしたスクリプトを実行後、コマンド & コントロール(C2)サーバーからのコマンド待機を開始します。Perlプログラミング言語はその互換性の高さからマルウェアによく利用されますが、このボットネットはUnixベース システムのみならず、Linuxサブシステムを使うWindows 10システムにも影響を与える可能性があります。この新しい攻撃キャンペーンは、 共有ライブラリlibprocesshider.soを使い、感染デバイス上のマイニング プロセスと新しいルートキットを非表示にすることで検出を回避します。悪意のあるアクターが名乗っている「Los Zetas - MX」は、メキシコ国内で最も危険な麻薬カルテルの1つと見なされている犯罪組織を暗示する名前ですが、攻撃者が実際にこの犯罪組織の一員であるとは考えにくいと思われます。またこのボットネットにはマルウェアやサイバー犯罪などのさまざまなトピックが議論される最大のIRC(インターネット リレーチャット)ネットワークの1つ、UnderNetとのつながりがみられます。当該ボットネットは発見当時まだ開発中だったのでその採用者もさほど多くありませんでしたが、大切なのは攻撃者にそれ以上多くのデバイスを侵害させる前にくいとめることでした。
シェルスクリプト ドロッパー
侵害されたデバイスは悪意のあるシェルスクリプトをダウンロードし、ディレクトリを作成してそこにダウンロードしたファイルをコピーします。そのときダウンロードされるシェルスクリプトには、ボットネットの構成部品をダウンロードするコマンドがふくまれています。次に侵害デバイスはダウンロードしたファイル(procps.h、ps、setup、m)を実行してIRCサーバーとの通信を開始します。さらにlibprocesshider.so (図1)というライブラリをダウンロードして実装します(これについては後述)。
ルートキットでプロセスを隠す
私たちは当該ボットネットがxmrigやemechなどの既存マイニングツールを使い、侵害済みデバイス上でビットコインのマイニングを拡大させている様子を観測しました。これらのツールはVictoryGateやMoneroなど最近のコインマイニング攻撃キャンペーンでも観測されており、こうしたマイニングによって 6,000 USドル以上の利益をあげています。今回のEleethubボットネットも1〜2年かけて拡大すれば、数千ドル規模に成長する可能性があるものと考えられます。本ボットネットはマイニング タスクの隠蔽手法レベルをさらに引き上げるもので、まずは有名どころのオープンソースのプロセス隠蔽 ライブラリlibprocesshiderを再利用してマイニング プロセスをLD_PRELOAD で非表示にしています(図2参照)。この手法はすでにいくつかのコインマイニング攻撃キャンペーンでも使用されたことがあります(たとえばUnit 42が2019年に見つけたボットネットがその例)。
今回、攻撃者はこれにくわえて特別に細工されたルートキットを使用し、マイニング オペレーションをps (プロセスステータス)コマンドで検出されないようにしています。具体的には、元のpsツールを細工したバージョンに差し替えることで、細工済みツールが本物のps (図3)を呼び出すさい、xmrig、emechなどのマイニング プロセスのほか、psから返される結果に含まれる取り扱い注意のキーワード(たとえばproc、netstats、tops。図4参照)などをフィルタリングして除外するのです。これらのキーワードは既存コインマイナーの侵害指標と見なされるもので、これらのキーワードを削除することで、マイニング エクスプロイトはアンチウイルスによる監視をごまかし、競合する他のコインマイナー(たとえばOutlawなど)から自身を強制終了されないようにしています(コインマイナーが実行中のプロセスをスキャンし、他にもマイナーが存在していないかどうか検出するのはよくあることです)。
ボットネットへの接続
ルートキット(図5)の全ファイルをダウンロードし、悪意のあるスクリプトの実行を開始した感染デバイスは、自身に割り当てられたニックネーム(図6)を送信してIRCサーバーに接続します。このニックネームは「darkで始まり、後ろに0〜8999のランダムな整数が続く」ものになっています。
最初のPINGの後には、「LAG」という単語と現在のエポックタイムが続きます(図8)。
これにはこのほかにUnderNet IRCサーバーと通信するためのスクリプトも含まれています(図8)。
当該ボットネットは発見時点でまだ未完成だったため、IRCサーバーからのコマンドは受信できませんでした。ただし、IRCサーバーに手動で接続することにより、利用可能なチャネルを調査することはできました。さいわい、このMinersチャネルにはまだ限られた採用者とゾンビ(図10、図11)しかありませんでした。
この後で侵害デバイスは、UDPフラッド、TCPフラッド、ポートスキャン、HTTP攻撃などの攻撃送信コマンドの受信を開始できるようになります(図7)。
図11 利用可能な攻撃
EleethubのLos Zetas
当該C2サーバーに関連付けられていたドメインはeleethub[.]comです。webサイトを訪問すると何らかの発表準備中を告げるメッセージが見つかりました。おそらくこれがその準備中のボットネットだったのでしょう(図12)。
またIRC サーバーは、このドメイン名を含むバナー(本日のメッセージ、message of the day: MOTD)を表示するようになっていました(図 13)。
「Los Zetas」というフレーズはボットネットを形成する悪意のあるスクリプト内で複数回言及されていました。目につくものとしては、メインのルートキット ディレクトリのセットアップファイル(図14)内と、ボットネット オペレーターからの情報undead[@]los[.]zetas[.]mx(図15)内があげられます。「Los Zetas」はメキシコ国内で最も危険な麻薬カルテルの1つと見なされている犯罪組織を示していますが、攻撃者が実際にこの犯罪組織の一員とは考えにくいと思われます。
結論
この新たなPerlシェルベースのボットネットは、libprocesshider.soなどのライブラリを活用し、マイニング アクティビティを隠蔽し、特別に細工したルートキットを使用してマイニング オペレーションが発覚しにくいようにしています。Perlプログラミング言語は、互換性の高さからUnixベースのさまざまなシステムでマルウェアに多用されており、こうしたシステムには、Linuxサーバー、PC、IoT デバイスなどもふくまれます。Perlはスクリプト言語なので、異なるCPUアーキテクチャやファームウェアバージョンごとにコンパイルする必要がありません。Perlスクリプトを使用するもう1つの利点は、実装しやすいライブラリが多数利用できることです。この手のボットネットは侵害したデバイスのコンピューティング能力を利用してコインマイニングやDDoS攻撃開始など、さまざまなタスクを実行します。なお、パロアルトネットワークスのお客様は、以下のセキュリティプラットフォームでこのPerlスクリプト ボットネットから保護されています。
- 脅威防御シグネチャ85843がIRCのC2通信を識別します。
- PAN-DBとDNS Securityが攻撃者のC2サーバーのURLとドメインをブロックします。
- WildFireとAntivirusがこのPerlスクリプトボットネットを識別してブロックします。
IoC
サンプル
- 7ed8fc4ad8014da327278b6afc26a2b4d4c8326a681be2d2b33fb2386eade3c6
- dbef55cc0e62e690f9afedfdbcfebd04c31c1dcc456f89a44acd516e187e8ef6
- d9001aa2d7456db3e77b676f5d265b4300aaef2d34c47399975a4f1a8f0412e4
- 14c351d76c4e1866bca30d65e0538d94df19b0b3927437bda653b7a73bd36358
- 6d1fe6ab3cd04ca5d1ab790339ee2b6577553bc042af3b7587ece0c195267c9b
C2サーバー
- eleethub[.]com
- irc.eleethub[.]com
- ghost.eleethub[.]com
- 62.210.119[.]142
- 82.76.255[.]62
サーバー上で見つかった公開鍵
1 2 3 4 5 6 |
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiF+LxAh219ufrvy9Pe1ujDZrIfLBtNlRVojyol/e/G PUNn+S/k78WaEgqsAXSdpLagCly2FxxZ6JWQx4f4js7DngLm3HWAyX3orlmMljmj60OmMDXPeWDfm3EMul/aVMUUfzXdriAWmHCIKdFrnal/MZhzgQ1evEPLFraKcvqkQrrcQTmsyKdE fRm4coFgGaIi938ehd1IMdNdeEgyFfRZoEkd7PNVGtTLNtIcwkMF4XHZuS4WQvC95M5yga rrqB5PNTOS2oTOU36m3rXWFOhQ7N/NX4W+uLMExOWecHr4XIV3qzkeSu5wBoD0Vqi3wUvm 9a+lJFFqnQ8w0ZX4J1mQ== |
1 2 3 4 5 6 7 |
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiF+LxAh219ufrvy9Pe1ujDZrIfLBtNlRVojyol/e/G PUNn+S/k78WaEgqsAXSdpLagCly2FxxZ6JWQx4f4js7DngLm3HWAyX3orlmMljmj60OmMD XPeWDfm3EMul/aVMUUfzXdriAWmHCIKdFrnal/MZhzgQ1evEPLFraKcvqkQrrcQTmsyKdE fRm4coFgGaIi938ehd1IMdNdeEgyFfRZoEkd7PNVGtTLNtIcwkMF4XHZuS4WQvC95M5yga rrqB5PNTOS2oTOU36m3rXWFOhQ7N/NX4W+uLMExOWecHr4XIV3qzkeSu5wBoD0Vqi3wUvm 9a+lJFFqnQ8w0ZX4J1mQ== |