This post is also available in: English (英語)
概要
2018年の始まりとともに、私たちは暗号通貨マイニング ソフトが増大している傾向を認識しました。特定された最新の脅威は、ロシアのBitTorrentサイトという形で現れ、このサイトは密かにマルウェアをユーザーに配信し、主に 暗号通貨(仮想通貨)Monero をマイニングしています。この特定のロシアのBitTorrentサイト、b-tor[.]ruは、2017年7月以来アクティブで、2017年9月以降、ユーザーへ提供された正規のファイルにバンドルされているマルウェアが観察されてきました。多くの同様な活動のように、暗号通貨マイニング ソフトはユーザーの知らないうちに配信されています。事実、この攻撃の背後にいる攻撃者は、エンド ユーザーが自分のマシンにマルウェアがロードされたことに気付かないようにするための特定の試みを行っています。
配信
攻撃はユーザーがb-tor[.]ruにアクセスすると開始されます。ユーザーにBitTorrentファイルが提供され、その後、ユーザーはそれを使用して多数のアイテムをダウンロードできます。リストには、ゲーム、オペレーティング システム、ソフトウェア、書籍、雑誌、オーディオブック、TV番組、映画が含まれています。このロシアのBitTorrentサイトによって提供されたデータによると、重複ファイルを除いても275,000を超えるtorrentファイルがホストされています。
図1 b-tor[.]ruのロシア語から英語に翻訳されたビュー
ユーザーがこのWebサイトで提供されているいずれかのファイルのダウンロードを試みると、インターネットからファイルを検索、ダウンロード、または再生するために設計されたロシアのプログラムであるubar-pro[.]ruを介して直接ファイルをダウンロードするよう導かれます。タイトルが提示されたファイルに関連付けられたtorrentファイルをユーザーがダウンロードしようとすると、最も興味深いイベントが発生します。
図2 b-tor[.]ruからのファイル ダウンロード オプション
ユーザーがtorrentファイルのダウンロードを試みると、対応する名前の圧縮ファイルが代わりに提供されます。解凍すると、同じ名前の実行可能ファイルがこのユーザーに提供されます。
図2を例として使用します。ユーザーがtorrentファイルをダウンロードすると、以下のファイルが提供されます。
klient_world_of_.torrent.zip
解凍すると、ユーザーには以下のファイルが提供されます。
klient_world_of_.torrent.exe
ご覧のとおり、さらに攻撃者は二重のファイル拡張子を使用して、ユーザーにこのファイルが正規のtorrentファイルだと信じ込ませようとしています。また、実行可能ファイルでは一般的なuTorrent BitTorrentクライアントのアイコンが使用されています。実行すると、このファイルはHTTPSを介してb-tor[.]ru/dl.phpから実際のtorrentファイルをダウンロードして実行します。同時に、バックグラウンドで稼働するXMRig Moneroマイニング プログラムのインスタンスもダウンロードして実行します。
被害者によってマルウェアがダウンロードされた後の実行フロー全体は次のとおりです。
図3 b-tor[.]ruによって提供されたマルウェアによる実行フロー
マルウェアの分析
この分析全体にわたり、「配信」セクションで示したイメージ例で提示したファイル、klient_world_of_.torrent.zipを使用しています。これは以下の特徴を備えています。
元のファイル名 | klient_world_of_.torrent.zip |
ファイル タイプ | Zipアーカイブ データ、解凍するにはv2.0以降 |
SHA256 | 792dd221088a6f023021d8709b30229a738dca492784a884f6dfa69f20e14c01 |
元のファイル名 | klient_world_of_.torrent.exe |
ファイル タイプ | PE32実行可能ファイル (GUI) Intel 80386 Mono/.Netアセンブリ、MS Windows対応 |
SHA256 | 0007f17157e9fe34a305d938bc55e9a7189cf15d91ff3bde6af13fbea6852ece |
コンパイル日 | 2018-01-29 22:05:3 UTC |
これらの攻撃で使用されるマルウェアは、初期ダウンロード/ドロッパ、セカンダリ ペイロード、最終ペイロードといったいくつかの部分に分割されている場合があります。
初期ドロッパ/ダウンローダ
被害者が受け取った最初のファイルは、2つのアクションを実行します。まず、埋め込み.NET実行可能ファイルを被害者のマシンにドロップして実行します。また、被害者が予期した正規の.torrentファイルをダウンロードします。このドロッパ/ダウンローダは初回実行時に、まず埋め込み.NET実行可能ファイルをロードし、それを以下のディレクトリに配置します。
%APPDATA%\Defender Utility\defupdater.exe
このファイルは、ファイル システムにドロップされた後、新しいプロセスで起動されます。その後、マルウェアは新規ファイル保存ダイアログ ボックスを表示し、予期した.torrentファイルを保存する場所を指定するよう求めます。
図4 マルウェアによって表示されるファイルの保存ダイアログ
上記のスクリーンショットに示されたウィンドウのタイトルは、ロシア語の「Загрузка файлов」から英語の「Uploading files」(ファイルのアップロード)に翻訳されます。ユーザーがこのファイルを保存しようとすると、マルウェアは以下のURLから.torrentファイルをダウンロードして、指定された場所に配置します。
hxxps://b-tor[.]ru/dl.php?id=33308
保存しようとしなかった場合、マルウェアは予期された.torrentファイルをドロップせずに終了します。にもかかわらず、セカンダリ ペイロードがシステム上にドロップされ、実行されます。
第2段階
この第2段階のペイロードは、このマルウェアのすべてのインスタンスで「defupdater.exe」という名前であることが確認されています。さらに、内部の.NET名は「defupd」です。そのため、この投稿では以降、マルウェアのこの段階を「defupdater」と呼びます。この特定のマルウェアの段階は、永続性を確保するとともに、マルウェアの実行中の次の段階をダウンロードする役割を担っています。
最初に「defenderutility」のミューテックスを作成し、一度にこのマルウェアの単一のインスタンスのみが実行されるようにします。その後、実行可能ファイルの内部アセンブリ バージョンをチェックします。バージョンが存在しない場合は、デフォルトで「0.0.0.1」が使用されます。次に以下のディレクトリを作成します。
%APPDATA%\Defender Utility\
このディレクトリの作成後、このパス内に「update.exe」ファイルが存在するかどうかチェックします。存在する場合は、それを削除します。その後、マルウェアは2つのスレッドを作成します。1つは永続性を設定し、マルウェアの最終段階が継続的に動作するようにするためのもので、もう1つは第3段階のペイロードをダウンロードして実行するためのものです。「defupdater」マルウェアは、10分ごとに発生するループに入ります。これにより永続性確保のためのレジストリ キーの設定と、特定プロセスの存在確認の両方が行われます。
永続性を設定するため、以下のレジストリ キーが書き込まれます。
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Defender Updater Utility – %APPDATA%\Defender Utility\defupdater.exe
レジストリ キーが書き込まれると、ループにおいて、「taskhostms」プロセスが実行中かどうか確認が行われます。このプロセスは、最終的には、このマルウェア ファミリの第4段階で作成されます。このプロセスの実行が確認されない場合、ループは以下のファイルを実行します。
%APPDATA%\AdGuard\taskhostms.exe
第3段階のペイロードをダウンロードして実行するため、defupdaterは以下のURLに対して要求を行い、内容を取得します。
- hxxps://strak[.]xyz/updateinfo.xml
書き込みの時点で、このURLの内容は以下のとおりでした。
図 5 strak[.]xyzに対するHTTPS要求で返された結果
defupdaterマルウェアは、各XML要素を確認し、「wave2」のIDを持つ要素を検索します。この要素のバージョンは、前に抽出されたdefupdaterのアセンブリ バージョンと比較され、XMLに含まれているバージョンのほうが大きい場合、defupdaterは指定されたURLからファイルをダウンロードします。図5の例を使用して、defupdaterは、第3段階のペイロードを以下のURLからダウンロードします。
- hxxps://strak[.]xyz/wave2/update
このファイルには、「update.gz」という名前の圧縮ファイルが含まれており、前に作成された「Defender Utility」ディレクトリ内に配置されています。「update.gz」ファイルは展開され、その結果、「update.exe」が同じディレクトリにドロップされます。その後、元の「update.gz」ファイルは削除されます。最後に「update.exe」の第3段階のペイロードが実行されます。
第3段階
このマルウェア ファミリの第3段階は、内部名が「update」の、もう1つの.NET実行可能ファイルです。このファイルは、中に含まれている埋め込まれた2つの実行可能ファイルをドロップして実行する役割を持っています。最初に「defenderupdate」のミューテックスを作成し、一度に単一のインスタンスのみが実行されるようにします。
次に以下のディレクトリを作成します。
%APPDATA%\AdGuard\
この段階で、以下の2つのペイロードをディスクにドロップします。
- %APPDATA%\Defender Utility\defupdater.exe
- %APPDATA%\AdGuard\taskhostms.exe
「defupdater.exe」は第2段階のペイロードの更新済みインスタンスであり、「taskhostms.exe」ファイルにはこのマルウェア ファミリの第4段階が含まれています。これらの検体はどちらも第3段階で実行されます。
第4段階
この第4段階も.NET実行可能ファイルであり、内部名は「taskhostms」です。最初に、常時「taskmgr」プロセスの存在を確認する新規スレッドを生成します。このプロセスが見つからない場合、ブール型のグローバル変数「canMine'」がTrueに設定されます。見つかった場合、この変数はfalseに設定されます。マルウェアはこのフラグを使用して、被害者のマシンでマイニングが実行されているかどうか判断します。
永続性を確保するため、以下のレジストリ キーが設定されます。
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Defender Launcher Utility - %APPDATA%\AdGuard\taskhostms.exe
マルウェアは、オペレーティング システム(OS)のバージョンを確認します。32ビットOSを使用中の場合、マルウェアは内部名「xm32」の埋め込み実行可能ファイルをドロップします。そうでない場合、内部名「xm64」の埋め込み実行可能ファイルをドロップします。これらは、それぞれXMRigの32ビット版、64ビット版のコピーです。
このXMRigのインスタンスは、以下の場所にドロップされます。
- %APPDATA%\AdGuard\adGuardms.exe
最後にマルウェアは、一連の引数を付けて、新しくドロップされた、XMRigのこのインスタンスを実行します。分析されたファイルでは、以下の引数が使用されていました。
-o 185.154.13[.]213:3333 -u wave7 -p wave7 -k --nicehash --donate-level=1 --max-cpu-usage=100 --cpu-priority 1
注目すべきなのは、b-tor[.]ruおよびstrak[.]xyzの両ドメインが同じIPアドレス「185.154.13.213」に解決される点です。同じホストがXMRigプロキシとしての役割を果たしています。この攻撃者による活動は、最初から最後まですべて同じIPアドレスで発生しています。
また、攻撃者によって、マイニング ソフトが被害者のCPU処理能力を100%使用するよう設定されている点にも注目する必要があります。これによって、被害者はマイニング ソフトの存在に気づく可能性が高くなります。この値を変更して被害者のCPUを少ない比率のみ使用するようにした攻撃者も、過去に観察されています。これは、被害者がバックグラウンドでマルウェアが実行されていることに気づく可能性を最小に抑えるのが狙いです。
結論
暗号通貨マイニング ソフトの配信は、もはや目新しいトラフィックではなくなりました。実際、2017年12月初めに暗号通貨の価値が急上昇したこともあり、こうしたソフトウェアは、この4、5か月間に、きわめて一般的な存在になりつつあります。今回の活動は、多くの場合非合法とされるコンテンツを求める、ロシア語圏の少数のユーザー層を標的にしたものです。そのため、感染したのは比較的少数のユーザーと考えられます。しかし、犯罪者が暗号通貨の生成という最終目標を持って、被害者のマシンを悪意で利用しようと試みたケースも示されています。この傾向はしだいに強まっており、今後も増加傾向が見られると思われます。
Palo Alto Networksのお客様は、この脅威から以下に示す方法で保護されています。
- この活動に関連したすべての検体は、WildFireプラットフォームで、悪意があるものとしてフラグが設定されます。
- また、すべての関連ドメインも、悪意があると判定されます。
- Trapsは、ホスト マシンでこれらの検体が実行されることを防ぎます。
付録
作成されるファイル
- %APPDATA%\Defender Utility\defupdater.exe
- %APPDATA%\AdGuard\taskhostms.exe
- %APPDATA%\AdGuard\adGuardms.exe
作成されるミューテックス
- defenderutility
- defenderupdate
レジストリ キー
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Defender Launcher Utility
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Defender Updater Utility
SHA256ハッシュ
この攻撃に関連したハッシュの完全なリストについては、GitHubリポジトリを参照してください。
ドメイン/IPアドレス
- b-tor[.]ru
- strak[.]xyz
- 185.154.13[.]213