This post is also available in: English (英語)
概要
5月初めに、パロアルトネットワークス脅威インテリジェンスチームUnit 42は、ロシアの少なくとも1つの国防企業と韓国の特定されていない1つの組織に対してBisonalマルウェアの亜種を配信する攻撃キャンペーンを発見しました。これまで公には報告されていませんが、この亜種は遅くとも2014年には出回っています。この亜種とこれまでのBisonalマルウェアには主な違いが3つあります。C2通信に使う暗号アルゴリズム、その暗号化、そしてネットワーク通信と永続性維持のためのコードの大規模な書き換えです。これまでに収集されたこの亜種のサンプルは14個だけであり、これが限定的にのみ使用されている可能性を示しています。これらの攻撃を実施した攻撃者は、(偽のPDFアイコンを使用して)PDFファイルに見せかけ、このおとりPDFファイルの内容として、公開されているデータを再利用することにより、標的となった相手にMicrosoft Windowsの実行可能マルウェアを起動させようとしていました。
Bisonalを使用した攻撃については、過去にもブログに記載されています。2013年には、COSEINCとFireEyeの両方が、日本の組織に対するBisonalを使用した攻撃を明らかにしています。2017年10月には、AhnLabが、「Operation Bitter Biscuit」と呼ばれる、Bisonalおよびその後継であるBioazihとDexbiaを使用した、韓国、日本、インドおよびロシアに対する攻撃キャンペーンについてのレポートを公開しました。弊社は、これらのツールは単一の攻撃者グループによって使用されていると確信しています。
Bisonalマルウェアは少なくとも7年間出回っており、頻繁に更新されていますが、その攻撃者はハイレベルな同じ戦略を使用し続けています。Bisonalが関与する攻撃の一般的な特徴は以下のとおりです。
- 通常、韓国、ロシアおよび日本の政府、軍事産業、国防産業に関連する組織を標的としている。
- 場合によっては、C2サーバーにDynamic DNS(DDNS)を使用する。
- C2でターゲット コードまたはキャンペーン コードを使用して、被害端末または攻撃キャンペーンの接続を追跡する。
- BisonalマルウェアをPDF、Microsoft Officeドキュメント、またはExcelファイルに偽装する。
- 悪意のあるPEファイルに加え、おとりファイルを使用する。
- 場合によっては、ロシア語のオペレーティング システムでキリル文字を処理するコードを追加する。
弊社では、ロシアおよび韓国の両方に対する最近の攻撃で、これらすべての特徴を確認しています。
ロシアを標的に
攻撃キャンペーンを調査する際に、Unit 42は、ロシア内で少なくとも1つの組織を標的にした攻撃を発見しました。この標的となった組織は通信セキュリティ関連サービスおよび製品を提供しており、暗号化および暗号化サービスを専門として、多数のセキュア通信製品(テレコミュニケーション システム、データ保護設備も含む)を開発しています。標的となった組織が機密性の求められる製品を開発していることから、既知の脅威の攻撃者によってこの組織を標的にした攻撃が行われても驚くべきことではありません。
図1に、標的となった組織に送信されたスピアフィッシング メールを示します。この電子メールは、ハイテク産業製品の開発、製造、および輸出を促進するロシア国営企業、Rostecから送信されたように偽装されています。この電子メールは、Rostecのリーガル サポートおよびコーポレート ガバナンス部門から送信されていることを伺わせる内容で、国防産業従事者の住宅事情の改善を目的としたプロジェクトの詳細を含んでいます。興味深いのは、標的となった企業とRostecとの間に関連が見られる点です。攻撃者は、Rostecと標的の関係性を悪用して、合法であるかのような雰囲気を攻撃にまとわせようとしている可能性があります。
図1: ロシアの企業に送信されたスピアフィッシング メール
以下に、Google翻訳でロシア語から英語に翻訳したものを示します。
件名:
国防産業従事者の住宅供給および建設協同組合設立のための包括的プロジェクト
本文:
同業者の皆さま、こんにちは。
メーデーに間に合うよう、国防産業従事者の住宅事情の改善を目的としたプロジェクトに関するメールを送ります。
おめでとうございます。
添付ファイル:
国防産業従事者の住宅建設協同組合設立のための包括的プロジェクト.exe
図1に示されているように、電子メール クライアントによっては、この添付ファイルをPDFとして表示しないものもあります。しかし、コンピューターにこのファイルを保存すると、この実行可能ファイルのリソースにPDFアイコンがあるため、PDFドキュメントのように見えます。
悪意のある実行可能添付ファイルが開かれると、メインとなるペイロードが被害端末にドロップされ、この被害端末におとりファイルが表示されます。図2にこのおとりファイルの内容を示します。この内容は、2018年1月30日にRostecのWebサイトで公開された記事とまったく同じです。この記事には、Rostecとその他の官庁による新しい住宅供給プロジェクト計画、およびこのプロジェクトの下で無償で住宅供給を受けることができる国防産業従事者の利益が記載されています。
図2: おとりPDFファイル
マルウェア ペイロードをさらに分析した結果、これはBisonalマルウェア ファミリの一部であると特定されました。このマルウェア ファミリの詳細はすでに公開されているので、Bisonalの背後にいる脅威の攻撃者がこのキャンペーンで採用した固有のインジケータおよび技法についていくつか説明します。
マルウェアの分析
マルウェアのドロッパー
ロシアの攻撃におけるドロッパー実行可能ファイルには、本文の最後に、暗号化されたBisonal DLLファイルと悪意のないおとりファイルが隠されています。実行されたドロッパーは、キー「34123412」によるRC4暗号を使用してデータBLOBを復号し、以下に示すパスにこれらを保存して実行します。
タイプ | パス | SHA256 |
ドロッパーEXE | N/A | b1da7e1963dc09c325ba3ea2442a54afea02929ec26477a1b120ae44368082f8 |
Bisonal DLL | C:\Windows\Temp\pvcu.dll | 1128D10347DD602ECD3228FAA389ADD11415BF6936E2328101311264547AFA75 |
ロシア語のおとりPDF | C:\Windows\Temp\Комплексный проект по созданию жилищно-строительных кооперативов для работников оборонки.pdf | F431E0BED6B4B7FFEF5E40B1B4B7078F2538F2B2DB2869D831DE5D7DF26EE6CD |
表1: ロシアを標的としたファイルのハッシュ値およびパス
その後、ドロッパーは次のレジストリ エントリを作成し、コンピューターのリブート時にBisonalサンプルを実行します。
HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Run\"vert" = "rundll32.exe c:\windows\temp\pvcu.dll , Qszdez"
Bisonalメイン モジュール
このDLL(pvcu.dll)はBisonalマルウェアですが、他の公に報告されているサンプルとは異なるC2通信用の暗号を使用しています。2014年にはBooz Allen Hamilton、2015年にはAhnLabが、本文にC2アドレス文字列を隠す単純なXOR暗号化を使用したBisonalについて報告しています。今回、弊社が確認したBisonalサンプルでは、キー「78563412」によるRC4暗号が採用されています。これまでに弊社が確認したRC4を使用するすべてのBisonalサンプルでは、この同じキーが使用されています。弊社の最も古いサンプルは2014年のものなので、この亜種は数年間にわたって出回っています。
暗号化タイプの変更に加え、ネットワーク通信手順や持続方法など、コードの大半が書き換えられています。たとえば、2012年のBisonalマルウェアでは、そのC2との通信にsend()およびrecv() APIが使用されていました。この亜種では、開発者は、HttpSendRequest()やInternetReadFile()など、他のネットワークAPIを使用することによって、C2コードを最初からすべて作成し直しています。
最近の攻撃で使用されているこのBisonal亜種は、TCPポート443でHTTP POSTメソッドを使用して、ハードコードされた次のC2ドメインのいずれかと通信します。
- kted56erhg.dynssl[.]com
- euiro8966.organiccrap[.]com
これらのドメインは、無料のDDNSサービスにより提供され、どちらも同じIPアドレス、116.193.155[.]38に解決されます。
このBisonal亜種がそのC2と通信する際、静的文字列「ks8d」および「akspbu.txt」と侵害されたマシンのIPアドレスを使用して、HTTP POSTリクエストを送信します。図3に、C2サーバーへの最初のHTTP POSTリクエストを示します。
図3: 最初のネットワークC2ビーコン
読者の方々は、ユーザー エージェントのリクエスト ヘッダーに閉じ丸括弧がないことに気付くかもしれません。この文字列は、このマルウェア亜種ではハードコードされています。弊社にはBisonalのサンプルが合計で230個ありますが、この不完全なユーザー エージェント文字列を使用しているものは2014年以降の14サンプルのみです。コードの開発時に作成者が閉じ丸括弧を追加し忘れたのか、C2サーバーへの接続の検証用に意図的にこの文字列を使用しているのかは明らかではありません。どちらにしても、これは、ネットワーク ログでBisonalの感染の可能性を示す良い指標になり得ます。
C2通信
感染のもう1つのサインは、最初の接続の際にC2サーバーに送信されるデータです。このBisonal亜種は、C2と通信するたびに、最初の8バイトで固有のID番号とバックドア コマンドを送信します。このマルウェアは最初の接続用にハードコードされたDWORD値(0x10000および0x3E7)を送信し、C2から更新された値を受信して、それらを以降の通信に使用します。前述したとおり、Bisonal亜種とC2との通信はすべて、静的キー「78563412」によるRC4暗号で暗号化されます。静的な値を暗号化した結果、バックドアは必ず最初に同一の8バイト データ(81b2a8977ea31b91)をC2に送信します。
Bisonalに感染した被害端末から最初のビーコンを受信するとすぐに、C2はセッションID番号とバックドア コマンドを返信します。セッションID番号はC2通信を通じて一貫しています。次にマルウェアは、侵害したシステムで特定のコマンドを処理し、その結果をセッションID番号とバックドア コマンド番号とともにC2に返送します。するとC2は、同じセッションID番号を返します。バックドアは5秒待機してから、同じセッションID番号でC2との通信を再開します。
以下に、コマンド「get system info」に対する応答の例を示します。左側がC2とBisonalサンプル間の実際のトラフィックで、右側が復号されたペイロードです。最初のDWORD(4バイト)は指定されたセッション ID 0x00000003で、次のDWORDはバックドア コマンド0x000000C8です。復号されたペイロードのオフセット8には、キャンペーン コードまたはターゲット コードがあります。このサンプルでは「0425god」です。
図4: ターゲット/キャンペーン コードを示す復号されたペイロード
次の図は、BisonalとC2間のセッションを示しています。
図5: BisonalとC2間の通信フロー
次の表は、このサンプルでサポートされているバックドア コマンドのリストを示しています。
コマンド | 意味 |
0x000000C8 | システム情報の取得 |
0x000000C9 | 実行中プロセスのリストの取得 |
0x000000CA | プロセスの終了 |
0x000000CB | cmdシェルへのアクセス |
0x000000CD | ファイルのダウンロード |
0x000000CF | ファイルの実行 |
0x000000D1 | ファイルの作成 |
表2: バックドア コマンド
キリル文字への強い関心
以前のレポートでは、日本、韓国、およびロシアに対する攻撃で使用されたBisonalマルウェアについて説明しました。弊社が発見したこの特定のサンプルは、ロシアの組織を標的としたもので、キリル文字のみに対して特定のシステム言語チェックが行われます。バックドアがシェル アクセス コマンドを受信すると、侵害したシステムのコード ページがチェックされます。チェックの結果がキリル文字であり、シェルへのコマンドが「ipconfig」ではない場合、コマンドの結果テキストのエンコーディングがキリル文字からUTF-16に変換されます。その他のコード ページでは、マルウェアは結果テキストをデフォルトのWindows ANSIコード ページと見なし、UTF-16に変換します。マルウェアが任意のテキストをUTF-16に変換する際、マルウェア作成者がなぜ特にキリル文字を呼び出したのかははっきりしていません。Windows ANSIコード ページは、OSの言語に応じてASCII文字および非ASCII値を国際文字としてサポートしています。UTF-16は、最大で100万文字のUnicodeをサポートしています。結果のキリル文字(およびその他の言語)が文字化けすることを避けるため、開発者はマルウェアにコードを追加しています。
図6: キリル文字セットのチェック
この「シェル アクセス」バックドア コマンドでのキリル文字/ipconfigチェックは、2012年に発見された元のBisonalのサンプルに存在しています。サンプル(43459f5117bee7b49f2cee7ce934471e01fb2aa2856f230943460e14e19183a6)には、マルウェア名の由来となった「bisonal」というマーカー文字列が含まれています。これは、最新のサンプルがBisonalの亜種であることを弊社が強く確信している理由の1つです。
図7: 「bisonal」マーカー文字列
韓国を標的に
その他のBisonalサンプルの調査において、3月6日にオンライン マルウェア データベースに別のドロッパーが送信されたことが判明しました。元のファイル名は「2018년 해양경찰청 공무원 (7급 9급) (2018.03.05).pdf.exe」でした。これを日本語に翻訳すると、「2018年韓国海洋警察庁職員(7級、9級).pdf.exe」になります。ロシアの組織を標的としたBisonalの亜種と同様に、このサンプルもPDF文書に偽装していました。
図8: PDFに偽装したマルウェア
ドロッパーの実行可能ファイルは、Bisonalおよびおとりファイルを以下の表3に示すパスにインストールします。
タイプ | パス | SHA256 |
ドロッパーEXE | N/A | 0641fe04713fbdad272a6f8e9b44631b7554dfd1e1332a8afa767d845a90b3fa |
Bisonal EXE | %Temp%\[random].tmp | 359835C4A9DBE2D95E483464659744409E877CB6F5D791DAA33FD601A01376FC |
韓国語のおとりPDF | [ドロッパーのパス]\[同じファイル名(.exeなし)].pdf | B2B764597D097FCB93C5B11CBD864AB1BCB894A2A1E2D2DE1C469880F612431C |
表3: 韓国を標的としたファイルのハッシュ値およびシステム インストール パス
2つのドロッパー サンプルの機能は非常に似ていますが、このサンプルのドロッパー コードは、前述のロシアを標的としたサンプルとは完全に異なるものです。
- ドロッパーは、Bisonal EXEファイルとおとりのPDFファイルをインストールします。これらのファイルは暗号化されておらず、ドロッパー内のEXEおよびPDFファイルへのオフセットがドロッパー ファイルの最後に付加されています。ロシアのサンプルでは、これらのファイルへのオフセットは、コード内にハードコードされています。
- おとりファイルのファイル名は、ドロッパーのファイル名に基づいています。ドロッパー コードは、同じディレクトリにPDFを作成し、おとりファイルに自身と同じ名前を付けて、コード内の.exeを削除して.pdfを追加します。たとえば、ファイル名がABCDEFG.pdf.exeの場合、おとりファイル名はABCDEFG.pdf.pdfになります。
- また、ドロッパーは、ランダムな4桁の16進数による名前を持つ2つのVBSスクリプトを、%Temp%ディレクトリに作成します。その1つはおとりのPDFファイルを開きます。残りの1つはドロッパーとVBSスクリプト自身を削除します。
おとりのPDFの内容は、韓国海洋警察庁の職務説明です。元の文書は、2018年3月5日に韓国海洋警察庁のWebサイトに投稿されたHangul Word Processor(HWP)ファイルでした。PDFで確認できるメタデータから判断して、攻撃者がHWPをPDFに変換したと確信しています。以下の図8は、元のファイルをPDFに変換する際に、おとりファイルに追加されたメタデータを示しています。メタデータは、このファイルが3月6日に「조영태」(英語表記はCho Young Tae)によってAdobe Distiller 8.00(Windows)で作成されたことを示しています。
興味深いことに、2014年9月にオンライン マルウェア データベースに送信されたBisonalの亜種の別のサンプル(dfa1ad6083aa06b82edfa672925bb78c16d4e8cb2510cbe18ea1cf598e7f2722)のおとりPDFファイルでも、同じ作成者名が見つかっています。このおとりファイルは、大韓民国の国家行政機関である農林畜産食品部の連絡先一覧です。メタデータによると、このファイルも同じ作成者によって同じツールを使用してHWP文書から変換されています。作成者が実在するのか偽の情報なのかは定かではありませんが、攻撃者がこのツールと技法を何年間も変更していないことは事実です。
図8: おとりファイルのメタデータ
主要なEXE
インストールされたEXEファイルは、ロシアの組織に対して使用されたBisonalの亜種のDLLバージョンとほとんど同じです。Bisonal EXEの動作を以下に簡単にまとめます。DLLサンプルとの違いは、レジストリ エントリを自身で作成すること、C2ドメイン、ターゲット コードまたはキャンペーン コードの3つのみです。EXEの動作を以下に示します。
- EXEは、永続性を実現するためレジストリ エントリ、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\"mismyou" = %Temp%[random].tmpを作成します。一方、DLLバージョンはレジストリ エントリを作成せず、DLLのドロッパーが作成します。
- 同一のキー「78563412」によるRC4暗号を使用して、C2ドメイン アドレスを復号します。
- 同じ不完全なユーザー エージェント文字列「Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322」でHTTP POSTメソッドを使用して、hxxp://games.my-homeip[.]com:443/ks8d[IPアドレス]akspbu.txtに接続します。
- 同じ初期ビーコン値81b2a8977ea31b91をC2サーバーに送信します。
- 異なるターゲット コードまたはキャンペーン コードの「pmo」を使用します。
- 16進数の0x000000C8から始まる同一のバックドア コマンドを持っています。
- また、コード ページと「シェル アクセス」のコマンドをチェックし、テキストをキリル文字からUTF-16に変換します。
次の表は、この記事で説明したBisonalサンプルの概要です。
年 | 標的の国 | キャンペーン コードまたはターゲット コード | SHA256 | 暗号 | Bisonalマーカー | キリル文字/ ipconfigチェック |
C2 |
2012 | 未確認 | 1031 | 43459f5117bee7b49f2cee7ce934471e01fb2aa2856f230943460e14e19183a6 | XOR | はい | はい | jennifer998.lookin[.]at, 196.44.49[.]154 |
2014 | 韓国 | 0919-1 | dfa1ad6083aa06b82edfa672925bb78c16d4e8cb2510cbe18ea1cf598e7f2722 | RC4 | いいえ | はい | www.hosting.tempors.com |
2018 | ロシア | 0425god | 1128D10347DD602ECD3228FAA389ADD11415BF6936E2328101311264547AFA75 | RC4 | いいえ | はい | kted56erhg.dynssl[.]com, euiro8966.organiccrap[.]com |
2018 | 韓国 | pmo | 359835C4A9DBE2D95E483464659744409E877CB6F5D791DAA33FD601A01376FC | RC4 | いいえ | はい | games.my-homeip[.]com |
表4: このブログのBisonalサンプルの概要
結論
Bisonalの背後にいる攻撃者は、7年以上にわたって活動をしており、このブログで説明したロシアおよび韓国を標的として使用された亜種は、2014年から出回っています。攻撃者は頻繁に機能を最初から書き直し、インフラストラクチャの再利用を避けているため、一部のサンプルは元のBisonalマルウェアとはまったく別のように見えます。ただし、このブログで説明したように、一部のサンプルには、マルウェア名「bisonal」を参照している元のコードの同一部分が残されています。
弊社は、このブログで説明した最新の攻撃と、同業者によって報告された以前のBisonal攻撃との関係を引き続き調査しています。これらのBisonalサンプルの背後にいる攻撃者のハイレベルな技術、戦略、攻撃の流れは、以前のBisonal活動と一致します。標的となっているのは特定の国の軍事または防衛産業で、C2サーバーに対してDDNSを使用し、ターゲット コードまたはキャンペーン コードを使用して被害端末からの接続を追跡し、マルウェアを文書ファイルとして偽装し、ドロッパーを使用してマルウェアおよびおとりファイルをインストールします。弊社は現在、これらの攻撃の背後に単一のグループが存在することを確信しており、引き続き調査を行っていきます。
パロアルトネットワークスのお客様は、以下の製品によってこの脅威から保護されています。
- WildFireは本稿に述べたすべてのBisonalファイルを悪意があるものとして検出します。
- AutoFocusをご利用中のお客様は、Bisonalタグでこれらのサンプルを追跡できます。
- Trapsは、Bisonalに関連付けられたすべてのファイルをブロックします。
IoC
ドロッパーのSHA256:
- B1DA7E1963DC09C325BA3EA2442A54AFEA02929EC26477A1B120AE44368082F8
- 0641FE04713FBDAD272A6F8E9B44631B7554DFD1E1332A8AFA767D845A90B3FA
BisonalのSHA256:
- 43459F5117BEE7B49F2CEE7CE934471E01FB2AA2856F230943460E14E19183A6
- DFA1AD6083AA06B82EDFA672925BB78C16D4E8CB2510CBE18EA1CF598E7F2722
- 1128D10347DD602ECD3228FAA389ADD11415BF6936E2328101311264547AFA75
- 359835C4A9DBE2D95E483464659744409E877CB6F5D791DAA33FD601A01376FC
C2 サーバー:
- jennifer998.lookin[.]at
- 196.44.49[.]154
- www.hosting.tempors[.]com
- kted56erhg.dynssl[.]com
- euiro8966.organiccrap[.]com
116.193.155[.]38 - games.my-homeip[.]com