テレメトリを調査しているときに、データベースサーバープロセス (sqlservr.exe) が実行可能なダウンローダーファイルを起動していたログが複数見つかりました。このダウンローダーは、このデータベースサーバー上に外部からインストールされたのではなく自発的に現れたように見え、MrbMiner と呼ばれるクリプトマイナーを取得していました。オープンソースのインテリジェンスによると、このクリプトマイナーはイランに拠点を置く小規模のソフトウェア開発会社によって作成、ホスト、および管理されているようです。
<p記録からは、マルウェアがデータベースサーバーに侵入した方法ははっきりと判明していませんが、以前に記事で紹介した MyKings、Lemon_Duck、または Kingminer マイナーなどと同様の手法を使用した可能性があります。
IT 管理者は、一定のパフォーマンス要件のもとで、データベースをホストします。たとえば大量のデータの読み取りと書き込みを処理する機能、クエリに迅速に応答するのに十分な RAM とプロセッサオーバーヘッドなどです。その結果、データベースをホストするサーバーでは、強力なパフォーマンスが求められることが多くあります。こういったサーバーがクリプトマイナーの拡散を目的とする攻撃者にとって格好のターゲットとなるのはこのためです。イランのように金融の分野で厳しい国際的な制裁を受けている国に住む人々は、暗号通貨を活用すれば、既存の銀行システムを迂回することができます。
Mrbminer の調査は、Microsoft の SQL サーバー (sqlservr.exe) プロセスが assm.exe というダウンローダー型のトロイの木馬を起動することから始まります。assm.exe プログラムは、Web サーバーからクリプトマイナーのペイロードをダウンロードし、コマンドアンドコントロールサーバーに接続して、マイナーのダウンロードと実行が成功したことを報告します。
ほとんどの場合、ペイロードは sys.dll という名前のファイルでした。このファイルは dll という拡張子がついているものの Windows DLL ファイルではなく、クリプトマイナーのバイナリ、構成ファイル、および関連ファイルを含む zip アーカイブでした。
また、これと同じ sys.dll のペイロードのコピーがある Github ユーザーのアカウントから入手可能であり、その後停止されていることもわかりました。いくつかのサーバーは、クリプトマイナーのペイロードの Linux ビルドもホストしていましたが、その構成ファイルは Windows のバージョンが使っていたものとは異なる暗号通貨ウォレットのアドレスを使用していました。
MrbMiner クリプトジャッキングのペイロードには、カーネルレベルのデバイスドライバー (WinRing0x64.sys) と、その目的を難読化するための Windows Update Service.exe という名前の実行可能なクリプトマイナーファイルが含まれていました。実行可能ファイルは、XMRig マイナーの修正バージョンでした。
WinRing0x64.sys ファイルは、UserLAnd のアプリケーションが ring0 のレベルのリソースにアクセスできるようにするカーネルドライバーです (作成者の Github ページで公開されています)。攻撃者は CPU のモデルに固有のレジスタなどの機能にアクセスでき、メモリから直接読み取りまたはメモリに書き込むことができます。特に、クリプトマイナーはこのドライバーを使用してMSR レジスタを変更し、CPU プリフェッチャーを無効にします。これにより、パフォーマンスが 6 ~ 7% 向上します。このドライバーは 2019 年 12 月頃から XMRig マイナーに追加された標準機能です。
ソースドメイン間で共有されている疑わしいファイル名
最初に見つけた MrbMiner の検体は、sys.dll という名前の zip で存在していました。さらに精査したところ、関連ファイルとそれらをホストする URL の大規模なネットワークが見つかりました。
まず、マイナーの構成ファイル vihansoft.ir にハードコードされたドメインを調査しました。
このドメインは、agentx.dll や hostx.dll など、クリプトマイナーのコピーを含むほかの多くの zip ファイルと繋がっていました。これらの意図的に誤ったファイル名の zip アーカイブには、Windows Security Service.exe、Windows Host Management.exe、Install Windows Host.exe、Installer Service.exe、Microsoft Media Service.exe、および linuxservice と netvhost という名前の実行可能な (Linux) ELFファイルが含まれていました。
同一のファイルの多くは、mrbfile.xyz や mrbftp.xyz などのほかのドメインからダウンロードされていました。これらのサイトでは、sys.dll および syslib.dll という名前の zip ファイルと、Windows Security Service.exe、SecurityService.exe、および PowerShellInstaller.exe. というアーカイブ内のペイロードを含む複数の悪意のあるファイルもホストされていました。
攻撃の発生源
多くの点で、この攻撃はこれまでに確認されているものと同様にインターネットに接続されたサーバーを標的とした典型的なクリプトマイナー攻撃に見えました。明らかに異なっていたのは、攻撃者が自らの身元を隠蔽することについて十分な注意を払っていなかったことです。クリプトマイナーの構成、ドメイン、および IP アドレスに関連する多くの記録は、イランに拠点を置く小規模なソフトウェア会社の一点を指し示しています。
暗号通貨マイニング攻撃について困った問題の 1 つは、法執行機関に取り締まりを求めることが難しいことです。通常、攻撃者は匿名であり、収集された暗号通貨の宛先も同様です。しかし、MrbMiner に関しては簡単に作成者を特定できる可能性があります。
ペイロードの場所と C2 サーバーのアドレスは両方ともダウンローダーにハードコードされています。
C2 サーバーとペイロードサーバーの 2 つの用途で使用されているドメインは、イランに拠点を置くソフトウェア開発会社に登録されている vihansoft.ir でした。ペイロードは、vihansoft.ir のホストに使用されたものと同じ IP アドレス (および、mrbfile.xyz などの「mrb」という文字列を含むほかのいくつかのドメイン) から直接ダウンロードされていました。
正規の企業に登録されている Web ドメインが攻撃に発生源となっている時は、攻撃者が企業の Web サイトを利用し、(ほとんどの場合一時的に) Web ホスティング機能を使ってマルウェアのペイロードをホストする「デッドドロップ」を作成しているケースがほとんどです。ただし今回の場合、ドメインの所有者もマルウェアの拡散に関与しています。
ペルシア語の地図サイト neshan.org 上で、vihansoft.ir の背後にある企業の情報が見つかりました。 Google Maps や Waze と同様に、Neshan は、地図サービスの一部として企業情報を提供しています。Neshan 上では企業の HP として vihansoft.ir へのリンクが表示されており、代表取締役などの情報も記載されています。
クリプトマイナーのダウンロードファイルは、vihansoft ドメインの Web ルート上、現在は公開停止中の Github のユーザーアカウントのリポジトリ、mrbfile.xyz と mrbftp.xyz のドメイン上、またいくつかの IP アドレス上で見つかりました。
コンパイルされたクリプトマイナーのバイナリは、.PDB のデバッグ情報を含む zip ファイルに圧縮されていました。これらの文字列は、実行可能ファイルが作成されたマシン上で使用されるコンパイラの副産物です。PDB のデバッグ文字列には、C:\Users\_____\ という行 (記事内では名前を編集) を含むビルドパスが含まれており、バイナリがコンパイルされているユーザーアカウントを示しています。この文字列は、Github アカウントに関連付けられている名前と一致します。
暗号通貨データは、ドメイン poolmrb.xyz と mrbpool.xyz のウォレット、および pool.supportxmr.com に送信されました。 vihansoft.ir、mrbfile、および mrbftp のドメインからダウンロードされたクリプトマイナーマルウェアは、poolmrb および mrbpool ドメインとの通信が確認されました。
「mrb」ドメインと vihansoft ともに、使用可能な WHOIS 情報は保持していませんでしたが、もう 1 つ共通点がありました。それらはすべて、パナマに拠点を置く同一の WHOIS プライバシーサービス WhoisGuard を使用して、ドメイン所有権情報を隠蔽していました。
MrbMiner の検知とセキュリティ侵害の痕跡 (IoC)
MrbMiner のクリプトマイナーの検体は、Sophos Endpoint Protection によって Troj/Miner-ZD という分類で検出されます。
SophosLabs Github にて、攻撃に関する追加の情報が確認できます。