Elasticセキュリティインテリジェンス&アナリティクスチームは、さまざまな種類の敵対的イノベーションを研究しており、最近では、リモートテンプレート、VBAコード回避、DLLサイドローディング技術を活用したアクティビティグループに焦点を当てています。 コードの類似性と共通の戦術、技術、手順(TTP)に基づいて、チームはこの活動がAPT40またはLeviathanとして知られる中国を拠点とするグループに関連している可能性があると評価しました。 このグループのキャンペーンは、 2020 マレーシアの政治危機に関する誘惑でマレーシア政府関係者をターゲットにしているように見えます。
攻撃の構造
このグループは、APT(Advanced Persistent Threat)キャンペーンを開始するために、Microsoft Word文書をフィッシングルアーの添付ファイルとして配信したと思われます。 ルアーに使用されている画像(図2)は、マレーシアのブロガーが共有した放送アナウンスから作成されたようです(図1)。 ルアー画像には同じ放送時間が含まれていますが、日付とスピーチトピックは削除されています。 この添付ファイルを開くと、バックグラウンドでおとりドキュメントが表示され、次のアクションが実行されます。
- おとりドキュメントは、リモートテンプレート RemoteLoad.dotm をダウンロードします
- リモート テンプレートは VBA マクロ コードを実行します
- VBA マクロ コードは、base64 でエンコードされた 2 つの埋め込み DLL (sl1.tmp と sl2.tmp) をアンパックして c:\users\public\ に実行します
この手法はテンプレートインジェクションとして知られており、 Gamaredonグループに対する防御のプレイに関するブログ記事で覚えているかもしれません。 これは、攻撃者が電子メールゲートウェイなどの境界制御をバイパスするために使用する効果的なアプローチです。
両方の埋め込み DLL (sl1.tmp と sl2.tmp) は類似しており、同じ関数名 (RCT と RCP) をエクスポートします。 最初の DLL (sl1.tmp) は、LogiMailApp.exe という良性の実行可能ファイルと関連するライブラリ LogiMail.dll をダウンロードするために使用されます。 2番目のDLL(sl2.tmp)はLogiMailApp.exeを実行するために使用されます。 これは、まもなく取り上げるDLL検索順序の脆弱性に固有の脆弱性により、自動的にLogiMail.dllを実行しようとします。
ファイル名 | ファイルの種類 | サイズ (バイト) | MD5 | コンパイル時間 |
LogiMailApp.exe | Win32 EXEの | 311656 | 850a163ce1f9cff0367854038d8cfa7e | 2012-09-26 22:13:13+00:00 |
LogiMail.dll | Win32 DLLの | 105984 | b5a5dc78fb392fae927e9461888f354d | 2020-06-03 04:08:29+00:00 |
sl1.tmp | Win32 DLLの | 3072 | ccbdda7217ba439dfb6bbc6c3bd594f8 | 2019-11-29 17:15:29+00:00 |
sl2.tmp | Win32 DLLの | 3072 | dbfa006d64f39cde78b0efda1373309c | 2019-11-29 21:23:44+00:00 |
表 1: ドロップされたファイルのメタデータ
この実装は、行動の特異性により、研究者にとって際立っていました。
- sl1.tmp を読み込み、DLL sl2.tmp winword.exe Microsoft Office アプリケーションでは、LoadLibraryA メソッドが使用されますが、これはややまれです
- これらの DLL は、CallWindowProcA メソッドを使用して明示的なコマンドを実行したり、URL からペイロードをインストールしたりしますが、これは非常にまれなことのようです
- 両方の DLL は実行後に削除されます
組み込み DLL
埋め込まれた DLL (sl1.tmp と sl2.tmp) の機能は、RCP 関数と RCT 関数のエクスポートが非常に限られています。 RCP 関数は、WinExec メソッドを実装してコマンドを実行し、RCT 関数は URLDownloadToFileA メソッドを使用して、指定した URL からファイルをダウンロードします。
バックドアのDLLサイドローディング
sl1.tmpによってダウンロードされ、sl2.tmpによって実行されるLogiMailApp.exeは、サイドローディングと呼ばれるDLL検索順序のハイジャックの一種に対して脆弱であり、同じディレクトリで見つかった場合は自動的にLogiMail.dllを検索して実行します。 DLL検索順序ハイジャックの形式は、多くのサードパーティソフトウェアアプリケーションで使用できます。 このケースでは、検索順序のハイジャックを使用して、次の注目すべき機能をエクスポートするバックドアをロードしました。
敵対者が作成したバイナリLogiMail.dllは、このサンプルの実行フローの重要なロジックを含む関数 DllGetClassObject をエクスポートします。
- AES で暗号化された第 2 ステージのオブジェクトを %TEMP%~liseces1.pcs にダウンロードします。
- ハードコードされた文字列の SHA256 から 128 ビット AES キーと初期化ベクトルを派生させます
- ReadFile 関数と CryptDecrypt 関数を使用して、メモリ内の %TEMP%~liseces1.pcs を読み取って復号化します
- ディスクから %TEMP%~liseces1.pcs を削除します
セカンドステージバックドア
復号化された第2段階のバックドアはメモリにマッピングされ、その後、元のエントリポイント(OEP)が呼び出されるため、ファイルシステムのスキャンに基づく正常な検出がバイパスされます。
ペイロード ステージング サーバーと第 2 段階のインフラストラクチャは、どちらも動的 DNS を使用します。
このペイロードは、次の機能をサポートします。
- 基本的なアンチデバッグチェック
- システムとユーザーの検出
- コマンドラインによる実行
- ファイルの検出、アップロード、ダウンロード
- run レジストリによる永続性
- 同じAESキーを使用してC2トラフィックを暗号化する
APT40/Leviathan接続可能
今年の初めに、マレーシアのコンピューター緊急対応チーム(MyCERT)は、自国を標的としたスパイ活動に関連する 勧告 を発表しました。 このレポートには、さまざまなTTPがリストアップされ、APT40/Leviathanと呼ばれる脅威グループと一致する複数のサンプルやその他のテクニカル指標が含まれていました。
大まかに言うと、このサンプルは、リモート テンプレートなどの特定の TTP を使用してマレーシアの被害者を標的にし、マクロを使用し、DLL サイドローディング手法を使用し、コマンド アンド コントロールにダイナミック DNS を備えたインメモリ インプラントを活用するという継続的な傾向を示しています。 具体的には、このルアーからの第 2 段階のインプラントは、一意の文字列と URL 参照を共有し、APT40/Leviathan の以前のレポートと相関する同様の機能を含んでいます。 これらの類似性から、当社のインテリジェンス&アナリティクスチームは、このアクティビティがAPT40/Leviathanに関連していると中程度の信頼性で評価しています。
インプラントストリングと MyCERT サンプルの類似性:
- /list_direction
- /post_document
- /post_login
- 次の場合にリモート ファイル %s を開くことができませんでした: %s
- パイプのオープンに失敗しました %s
- 読み取りパスのダウンロードに失敗しました %s
- %02X-%02X-%02X-%02X-%02X-%02X
- Software\Microsoft\Windows\CurrentVersion\Run
- ntkd
まとめ
この投稿では、高度に組織化された敵の作業を表す可能性が最も高い最近のサンプルに焦点を当てました。 このような活動グループは、エクスプロイト後のイノベーションの成熟度が高いという理由だけでも、誰もが注目する価値があります。 彼らの最先端のTTPは、今日は明日にはみんなの走り道になってしまう。これらの出来事から学ぶことが重要です。
これらの洞察の一部を共有することで、世界のデータを攻撃から保護する意識を高め、引き続き注力できることを願っています。 組織をさらに強化するために、観察されたすべての MITRE ATT&CK® 手法と侵害の兆候 (IoC) を以下に追加しました。
MITRE ATT&CK®のテクニック
- T1193 - スピアフィッシング添付ファイル
- T1221 - テンプレートインジェクション
- T1060 - レジストリ実行キー/スタートアップフォルダ
- T1073 - DLL サイドローディング
- T1129 - モジュールの読み込みによる実行
- T1055 - プロセスインジェクション
- T1107 - ファイルの削除
- T1140 - ファイルまたは情報の難読化/デコード
- T1059 - コマンドラインインターフェイス
侵害の痕跡 (IOC)
ファイル名とパス
Bubar Parlimen.zip
Bubar Parlimen.docx
RemoteLoad.dotm
C:\Users\Public\sl1.tmp
C:\Users\Public\sl2.tmp
C:\Users\*\AppData\Local\Temp\~liseces1.pcs
C:\Users\*\AppData\Local\Microsoft\Office\LogiMailApp.exe
C:\Users\*\AppData\Local\Microsoft\Office\LogiMail.dll
レジストリ キー
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ntkd
URLの
hxxps[:]//armybar[.]hopto[.]org/LogiMail.dll
hxxps[:]//armybar[.]hopto[.]org/LogiMailApp[.]exe
hxxps[:]//armybar[.]hopto[.]org/Encrypted
hxxp[:]//tomema.myddns[.]me/postlogin
hxxp[:]//tomema[.]myddns[.]me/list_direction
hxxp[:]//tomema[.]myddns[.]me/post_document
IPアドレス
104[.]248[.]148[.]156
139[.]59[.]31[.]188
HTTPS証明書
74b5e317527c93539dbaaf84d6a61da92a56012a
ハッシュ
523cbdaf31ddc920e5b6c873f3ab42fb791fb4c9d1f4d9e6a7f174105d4f72a1
ab541df861c6045a17006969dac074a7d300c0a8edd0a5815c8b871b62ecdda7
145daf50aefb7beec32556fd011e10c9eaa71e356649edfce4404409c1e8fa30
93810c5fd9a287d85c182d2ad13e7d30f99df76e55bb40e5bc7a486d259810c8
925f404b0207055f2a524d9825c48aa511199da95120ed7aafa52d3f7594b0c9
feca9ad5058bc8571d89c9d5a1eebce09e709cc82954f8dce1564e8cc6750a77
06a4246be400ad0347e71b3c4ecd607edda59fbf873791d3772ce001f580c1d3
77ef350639b767ce0a748f94f723a6a88609c67be485b9d8ff8401729b8003d2
ヤラ
rule APT_APT40_Implant_June2020 {
meta:
version = "1.0"
author = "Elastic Security"
date_added = "2020-06-19"
description = "APT40 second stage implant"
strings:
$a = "/list_direction" fullword wide
$b = "/post_document" fullword wide
$c = "/postlogin" fullword wide
$d = "Download Read Path Failed %s" fullword ascii
$e = "Open Pipe Failed %s" fullword ascii
$f = "Open Remote File %s Failed For: %s" fullword ascii
$g = "Download Read Path Failed %s" fullword ascii
$h = "\\cmd.exe" fullword wide
condition:
all of them
}