** 本記事は、 Ransomware operators use SystemBC RAT as off-the-shelf Tor backdoor の翻訳です。最新の情報は英語記事をご覧ください。**
ソフォスが実施したランサムウェア攻撃に関する調査で、さまざまなランサムウェアと関連性がある複数のツールが、類似した手法で展開されていることが確認されました。このことから、1 人または複数の RaaS (Ransomware-as-a-Service) アフィリエイトがこれらのツールを使用していると考えられます。そうしたツールの 1 つが、標的システムへの接続を攻撃者に永続的に提供するバックドアである「SystemBC」です。
2019 年に初めて確認された SystemBC は、プロキシであると同時にリモート管理ツールでもあります。SystemBC という名前は、コントロールパネルで使用されている URI 内の文字列にちなんでセキュリティ研究者が命名したものです。SystemBC は、通信を隠蔽するためのネットワークプロキシとして、またリモート管理ツール (RAT) として機能し、Windows コマンドの実行、スクリプト、悪意のある実行ファイル、ダイナミックリンクライブラリ (DLL) の配信・実行が可能です。別のマルウェアにドロップされた SystemBC は、攻撃者に永続的なバックドアを提供します。
SystemBC の出現から 1 年以上が経過しますが、その用途と機能は進化を続けています。SystemBC の最新のサンプルには、SOCKS5 プロキシを介して仮想プライベートネットワークとして機能する代わりに、匿名化ネットワークの Tor を使用して C&C トラフィックの宛先を暗号化・隠蔽するコードが含まれています。
ソフォスはこの数か月の間に、世界中で数百回にわたって SystemBC の展開が試みられたことを検出しています。SystemBC は、Sophos MTR の Rapid Response チームが調査した最近の Ryuk 攻撃や Egregor 攻撃で使用されていましたが、CobaltStrike などの攻撃後ツールと組み合わせて使用されることが多くなっています。場合によっては、攻撃者が管理者の認証情報を取得し、標的ネットワークの深部に侵入した後で、SystemBC RAT がサーバーに展開されていました。
展開
ドロップされ実行された SystemBC は、それがコマンドライン「start」 で起動されたかどうかをチェックします。これは、スケジューリングされたサービスとして実行されたことを示しています。そうでない場合、SystemBC は、ProgramData ディレクトリ内のランダムに命名されたディレクトリとファイル名に自身をコピーした後、そのコピーを (「start」コマンドで起動される) タスクとしてスケジューリングして、標的ネットワーク内に常駐します。
しかし、a2guard.exe (Emsisoft のマルウェア対策ソフトウェアのコンポーネント) というプロセスが実行されていることを SystemBC が発見した場合には、サービスの作成はスキップされます。この動作は、2019 年に検出された SystemBC のサンプル第 1 号にまで遡ることができます。
スケジュールされたタスクによって起動された SystemBC は、C&C への接続を開始します。
C&C へのコールホーム
C&C には 2 つの要素があります。1 つは、マルウェアにハードコードされた 2 つのドメインのいずれかにあるリモートサーバーへのビーコン接続、もう 1 つは軽量な Tor クライアントです。
Tor 以外の通信はロー TCP で、リモートサーバーのポート 4044 (通常は位置追跡プロトコルで使用される) に接続します。ドメインはサンプルごとに異なっており、ビルド時に特定の攻撃キャンペーン用に設定されていると考えられます。主に調査したサンプルでは、advertrex20[.]xyz と gentexman37[.]xyz という 2 つのドメインが使用されていました。1 つ目のドメインは解析時に解決できなくなっていました。また、解析中に 2 つ目のドメインも到達不可になりました。
SystemBC は、ハードコードされたドメインの 1 つを選択し、データの初期ブロック (この例では 100 バイト) を送信した後、オープンソケットを維持します (接続は時々リセットされます)。
SystemBC RAT との C&C 通信の大部分は、Tor 接続経由で行われます。SystemBC の Tor と通信する部分は、匿名ネットワーク Tor への軽量接続のためのオープンソースライブラリである mini-tor をベースにしているようです。ini-tor のコードは SystemBC では複製されません (mini-tor は C++ で記述されており、SystemBC は C からコンパイルされているため)。しかし、Tor クライアントのボットの実装は、Windows Crypto Next Gen (CNG) API の Base Crypto (BCrypt) 関数が多用されている点など、オープンソースプログラムで使用されている実装に酷似しています。
スケジュールされたタスクからボットが実行されると、以下の情報を収集してバッファに格納し、Tor 接続を介して C&C に送信します。
- アクティブな Windows ユーザー名
- 感染したシステムの Windows ビルド番号
- WOW プロセスチェック (感染したシステムの OS が 32 ビットか 64 ビットかどうか)
- ボリュームのシリアル番号
収集したデータは、C&C に送信する前にハードコードされたキーを使用して RC4 暗号化されます。この時、マルウェアの mini-tor ライブラリとソケット API によって処理されるソケット接続が使用されます。
リモートコントロール
ボットのオペレーターは、C&C サーバーを使用して、感染したシステムで実行する多数のペイロードを送信することができます。SystemBC は、Tor 接続を介して渡された EXE または DLL データブロブ、シェルコード、VBS スクリプト、Windows コマンド、バッチスクリプト、PowerShell スクリプトを解析・実行できます。
このボットは、VBS、BAT、および CMD コマンドについては %TEMP% ディレクトリにランダムな名前のファイルを作成し、スクリプト用にスケジュールされたタスクを作成します。Powershell コマンドについては、スクリプト用にスケジュールされたタスクを作成し、以下のコマンドラインを追加して非表示にします。
'-WindowStyle Hidden -ep bypass -file "'
受信したデータがスクリプトとして解析されていない場合、SystemBC はデータ内の MZ ヘッダーをチェックして Windows 実行ファイルであるかどうかを判断します。Windows 実行ファイルであれば、ファイルを書き込むことなく、直接ロードして実行します。C&C から受信したデータに MZ シグネチャがない場合、ボットはシェルコードであると判断し、それを実行するスレッドをスポーンします。そして、DLL バイナリデータであると判断された場合、SystemBC は execute_pe_from_mem_thread を使用して DLL をロードし、call_dll_export_function_thread を使用してそのエクスポート関数を呼び出します。
運任せの攻撃から狙撃型攻撃へ
攻撃者は、これらの機能を総合的に利用することで、キーボードに手を触れなくても、パッケージ化されたスクリプトや実行ファイルを使用してデータの発見と窃取、およびラテラルムーブメントの実行がピンポイントで可能となります。これらの機能は当初、大規模な攻撃を目的としたものでしたが、現在ではランサムウェアなどの標的型攻撃用ツールキットに組み込まれています。
今年 9 月の Ryuk 攻撃 (リンク先: 英文) では、標的ネットワークのドメインコントローラー上に SystemBC が展開されましたが、これは CobaltStrike によって展開されたものと思われます。そして 11 月には、Egregor 攻撃に関連して SystemBC が確認されていますが、これも CobaltStrike が関与していました (ドロップした側がどちらであるのかは不明)。
上記のケースでは、 SystemBC は標的ネットワーク全体に常駐するための複数のコモディティツールの 1 つとして展開されていました。SystemBC が使用されていた Ryuk 攻撃では、最初の侵入は Buer Loader マルウェアを配信するフィッシングメッセージがきっかけとなっていましたが、同じキャンペーンの別の攻撃では Bazar や Zloader が使用されていました。ソフォスが確認した Egregor 攻撃では、悪意のあるメールによってドロップされた別のローダー「Qbot」が使用されていました。
これらの攻撃はいずれも、ランサムウェアオペレーターのアフィリエイトによって開始されたか、複数の MaaS (Malware-as-a-Service) プロバイダーを通じてランサムウェア攻撃集団自身によって開始されたようです。これらの攻撃では、標的ネットワークの調査とデータの抜き取りに数日から数週間の時間が費やされていました。SystemBC は、この種の攻撃にうってつけのツールです。なぜなら、タスクが自動化されているので複数の標的を同時に狙うことができ、認証情報を入手しさえすれば、Windows に組み込まれたツールを使用して自動的にランサムウェアを展開できるからです。
ただ幸いなことに、SystemBC は、ソフォスを含む数多くのマルウェア対策ツールによって (シグネチャと機械学習の両方に基づいて) 検出されています。攻撃者が引き続き状況に応じて SystemBC を利用し、成功を収めているのは、企業組織内で一貫性のないマルウェア対策が導入されていたり、一部のマルウェア対策を無効化する際に正規の認証情報が使用されているためです。
SystemBC の IOC のリストは SophosLabs の GitHub ページに掲載されています。