サイバー犯罪集団「Lazarus」、改良された「RATANKBA」と遠隔操作ツールを利用し仮想通貨を狙う

その活動内容によって悪名をはせるサイバー犯罪集団「Lazarus」は、正体に関する謎も相まって多くの関心を集めています。同集団は、2007 年の韓国政府に対する一連のサイバー諜報活動によって登場して以来、大きな被害をもたらした注目すべき標的型攻撃をいくつか成功させており、最近では、広く報道された 2014 年の Sony Pictures における情報漏えいや、2016 年のバングラデシュの銀行に対する攻撃が例として挙げられます。規模と影響の両面で Lazarus の活動の歴史に匹敵する集団はほとんどありません。その大きな理由の 1 つが、Lazarus が利用するツールと手法の多様性にあります。

「RATANKBA(ラタンクバ)」として知られるマルウェアは Lazarus が利用する攻撃ツール武器の 1 つに過ぎません。このマルウェアは 2016 年後半から確認されており、2017 年 2 月には金融機関を狙った「水飲み場型攻撃」で利用されました。これらの攻撃で利用された RATANKBA の亜種(「TROJ_RATANKBA.A」として検出)はハッキングツールやオンライン銀行詐欺ツールなど、複数のマルウェアを拡散していました。トレンドマイクロは、2017 年 6 月に確認された新しい RATANKBA の亜種(「BKDR_RATANKBA.ZAEL.A」として検出)を解析しました。この亜種は、従来のような Windows 用実行ファイル(PE ファイル)ではなく、Microsoft が 開発した多目的のコマンドラインシェルおよびスクリプト言語「PowerShell」のスクリプトでした。この亜種については、2017 年 12 月に他のリサーチャも報告しています。

トレンドマイクロは、窃取した情報を一時的に保存するバックエンドシステムとして Lazarus が利用していた多くのサーバを特定しました。それらのサーバへのアクセスにも成功し、Lazarus による攻撃やその対象に関する貴重な情報を入手しました。

PowerShell バージョンの RATANKBA による被害者のおよそ 55% はインドおよびその近隣諸国に位置していました。このことから、Lazarus は同地域を対象に諜報活動していることがうかがえます。おそらくインドを対象にした攻撃を計画中またはそのための演習中だと考えられますが、まだ初期段階にあるようです。

確認された被害者のうち、エンタープライズ版の Windows オペレーティング・システム(OS)を利用していたのは 5% 未満でした。このことから、RATANKBA は大企業ではなく、中小企業または個人に影響を与えていたことが分かります。しかし、Lazarus は、より大きな法人を標的とするために RATANKBA 以外のツールを利用している可能性もあります。

Lazarus のバックエンドシステムのログには、標的となったユーザの IP アドレスも記録されています。それらの IP アドレスから WHOIS 情報を逆引きしたところ、インドから3名、韓国から1名のWeb 開発企業の従業員と思われる情報が確認できました。大きな銀行や金融機関に関連する情報は確認されていません。

■感染の流れ

図1

図 1:RATANKBA の感染の流れ

RATANKBA は、Microsoft Office 文書や「オンライン・ヘルプ・ファイル(拡張子:CHM)」形式の不正なおとり文書、またはスクリプト形式のダウンローダのように、さまざまな形式で不正なファイルを対象に送り込みます。おとり文書の内容はソフトウェア開発または仮想通貨に関するものでした。仮想通貨への関心の高まりを受けて、関連した内容をおとり文書に利用したものと思われます。

図 2 は RATANKBA による攻撃で利用されたおとり文書の一例です。

図2

図 2:RATANKBA のおとり文書として利用された不正な CHM ファイル

おとり文書の受信者がこのファイルを開いて実行すると、感染 PC にバックドア型マルウェアが作成されます。このバックドア型マルウェアは、RATANKBA のコマンド&コントロール(C&C)サーバとの通信に利用されます。HTTP GET または HTTP POST メソッドによって行われる初期の 2 つの通信が確認されています。

HTTP メソッド URI 説明
POST <スクリプト>.jsp?action=BaseInfo&u=XXX 感染 PC の情報を C&C サーバに送信
GET <スクリプト>.jsp?action=What&u=XXX 保留中のタスクが無いか確認

上記より、このバックドア型マルウェアは、感染 PC 情報のアップロードと、C&C サーバから割り当てられたタスクの実行という 2 つの役割を担っていることが分かります。タスクには以下のようなものがあります。

タスク 説明
Killkill RATANKBA の活動を停止
Interval RATANKBA がタスクをダウンロードする間隔の変更、初期設定では 120 秒
Cmd シェルコマンドの実行
Exe 特定の URL からダウンロードした DLL をリフレクション機能を利用して注入

上記のタスクに加え、攻撃者Windows を管理する正規ツール「Windows Management Instrumentation(WMI)」を利用し、以下のコマンドを利用して感染システムの実行中プロセス一覧を C&C サーバに送信します。

  • “C:\Windows\system32\cmd.exe” /c “wmic process get processid,commandline,sessionid | findstr SysWOW”
  • “C:\Windows\system32\cmd.exe” /c “wmic process get processid,commandline,sessionid | findstr x86”

■技術的な解析

解析の間、トレンドマイクロは RATANKBA を操作するために Lazarus が利用する遠隔操作ツールのコピーを収集しました。この遠隔操作ツールはユーザインターフェースを備えており、侵入に成功したエンドポイントにタスクを送信することができます。攻撃者はこのツールを利用して C&C サーバのキューにタスクを追加します。RATANKBA は C&C サーバからタスクを受信して実行します。また、感染 PC から収集した情報を C&C サーバにアップロードします。

図3

図 3:RATANKBA の通信の流れ

攻撃者は、RATANKBA との間でリアルタイムの通信は行いません。代わりに、遠隔操作ツールと RATANKBA の両方が C&C サーバに接続し、情報を送受信します。遠隔操作ツールは、C&C サーバにタスクを送信するための「グラフィカルユーザインタフェース(GUI)」を備えています。遠隔操作ツールが送信するタスクには、すべての RATANKBA に対するタスクと、対象に特化したタスクがあります。RATANKBA は定期的にサーバに接続し、待機中のタスク有無を確認します。また、遠隔操作ツールは C&C サーバから感染 PC の情報をダウンロードします。ダウンロード済みの情報は C&C サーバから削除されます。

以下は、RATANKBA の遠隔操作ツールが送信するタスクです。

コマンド名 機能
get_time サーバの時刻を取得
delete_inf ダウンロードした対象 PC の除法を削除
delete_con ダウンロード済みの接続ログファイルを削除
Kill RATANKBA を停止させるタスクを送信
inject DLLを注入するタスクを送信
Interval スリープ間隔を変更
Cmd コマンドシェルを実行するタスクを送信
delete_cmd タスクの実行結果を取得、当該タスクを削除
broadcast_cmd サーバに接続しているすべての RATANKBA にタスクを送信

図4

図 4:RATANKBA の主コンソール画面

図5

図 5:RATANKBA の操作コンソール

RATANKBA の遠隔操作ツールは、通信時に「ユーザエージェント(User Agent)」情報として文字列「Nimo Software HTTP Retriever 1.0」を使用します。遠隔操作ツールと RATANKBA の通信プロトコルの形式は以下の通りです。

<ドメイン>/<jspファイル名>.jsp?action=<対応するアクションと追加で必要なパラメータ>

今回確認された新しい RATANKBA の亜種で最も注目すべき変更点は、以前の RATANKBA が PE 形式だったのに対して、新しい亜種は Microsoft が開発した多目的のコマンドラインシェルおよびスクリプト言語「PowerShell」で書かれていることです。PE 形式から PowerShell に変わったことにより、セキュリティ対策ソフトウェアによる検出がより困難になっています。図 6 および図 7 は、それぞれ C/C++ のコードと PowerShell のコードです。プロトコルに変更はありません。

図6

図 6:RATANKBA のC/C++ バージョン

図7

図 7:RATANKBA の Powershell バージョン

■攻撃者の正体

Lazarus の攻撃者が実際に何者なのかは分かっていませんが、同集団の構成員が保有していると思われるバックエンドシステムから収集した情報から、インターネットの使用パターンについていくらかの洞察が得られました。また、少なくとも 1 人のオペレータと何人かの開発者について、その正体に関する手がかりを確認しています。確認された攻撃者は全員、韓国語母国語話者か、それに準ずる韓国語能力を持っており、少なくとも 1 人は中国語も理解できるようです。

攻撃者はビットコイン(BTC)やネオ(NEO、旧 AntShare)のような仮想通貨への関心も示しています。ある攻撃者は市場価格が上がったタイミングで NEO を販売していました。

図8

図 8:空になっている攻撃者の仮想通貨ウォレット

図9

図 9:ある攻撃者は 594 NEOを別のウォレットに送金
(その後、追跡を逃れるためにミキサーに送信)

図10

図 10:攻撃者は NEO を発掘

■RTANKBA への対策

広範なツールや手法を利用する Lazarus の活動を考慮すると、今後もその手法を絶え間なく変化させながら活動を続けていくことが十分予想されます。Lazarus やその他の類似したサイバー犯罪集団は、組織的な防御を回避するためにさまざまな戦略を駆使します。そのため、法人には多層的なセキュリティ戦略が必要となります。

RATANKBA の影響は、定期的なネットワークスキャンのような効果の実証された技術によって不正活動をチェックし、マルウェアの侵入と拡散を防ぐことで回避することが可能です。さらに、ソーシャルエンジニアリングの手法について従業業員や法人内の主要人物を教育することで、不正な攻撃に際して注意すべき点を周知することができます。

他には、エンドポイントの保護アプリケーションコントロールのような、法人の境界を守る多層的なアプローチがあります。

トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security™」および「Trend Micro Virtual Patch for Endpoint(旧 Trend Micro 脆弱性対策オプション)」が提供する仮想パッチは、マルウェアをホストする不正なURLへのリダイレクトや、更新プログラムが公開されていない脆弱性を狙う攻撃からエンドポイントを保護します。「OfficeScan™(ウイルスバスター™ コーポレートエディション)」は、更新プログラム適用前であっても既知および未知の脆弱性からエンドポイントを防御します。ネットワーク挙動監視ソリューション「Deep Discovery™」のサンドボックスやファイル解析エンジンは、他のエンジンやパターンの更新がなくても、この脅威をその挙動から検出することができます。

Lazarus の活動に関する詳細はこちらを参照してください。

■侵入の痕跡(Indicators of Compromise、IoC)

「BKDR_RATANKBA.ZAEL.A」のハッシュ値

  • 1768f2e9cea5f8c97007c6f822531c1c9043c151187c54ebfb289980ff63d666
  • 6cac0be2120be7b3592fe4e1f7c86f4abc7b168d058e07dc8975bf1eafd7cb25
  • d844777dcafcde8622b9472b6cd442c50c3747579868a53a505ef2f5a4f0e26a
  • db8163d054a35522d0dec35743cfd2c9872e0eb446467b573a79f84d61761471
  • f7f2dd674532056c0d67ef1fb7c8ae8dd0484768604b551ee9b6c4405008fe6b

「CHM_DLOADER.ZCEL.A」のハッシュ値

  • 01b047e0f3b49f8ab6ebf6795bc72ba7f63d7acbc68f65f1f8f66e34de827e49
  • 030b4525558f2c411f972d91b144870b388380b59372e1798926cc2958242863
  • 10cbb5d0974af08b5d4aa9c753e274a81348da9f8bfcaa5193fad08b79650cda
  • 650d7b814922b58b6580041cb0aa9d27dae7e94e6d899bbb3b4aa5f1047fca0f
  • 6cb1e9850dd853880bbaf68ea23243bac9c430df576fa1e679d7f26d56785984
  • 6d4415a2cbedc960c7c7055626c61842b3a3ca4718e2ac0e3d2ac0c7ef41b84d
  • 772b9b873100375c9696d87724f8efa2c8c1484853d40b52c6dc6f7759f5db01
  • 9d10911a7bbf26f58b5e39342540761885422b878617f864bfdb16195b7cd0f5
  • d5f9a81df5061c69be9c0ed55fba7d796e1a8ebab7c609ae437c574bd7b30b48

「JS_DLOADER.ZBEL.A」のハッシュ値

  • 8ff100ca86cb62117f1290e71d5f9c0519661d6c955d9fcfb71f0bbdf75b51b3

「X97M_DLOADR.ZBEL.A」のハッシュ値

  • 972b598d709b66b35900dc21c5225e5f0d474f241fefa890b381089afd7d44ee

「VBS_DLOADR.ZAEL.A」のハッシュ値

  • 4722138dda262a2dca5cbf9acd40f150759c006f56b7637769282dba54de0cab

参考記事:

翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)