Windows IIS Web サーバーを狙う Lazarus グループ

AhnLab Security Emergency response Center(ASEC)は、国家レベルのサポートを受ける攻撃グループとして知られている Lazarus グループが、最近 Windows IIS Web サーバーを対象に攻撃を実行したことを確認した。一般的に攻撃者たちはスキャンの結果、脆弱なバージョンを持つ Web サーバーが確認されると、バージョンに応じた脆弱性を利用して Web シェルをインストールするか、悪意を持ったコマンドを実行する。以下[図1]の当社 AhnLab Smart Defense(ASD) ログを見ると、攻撃対象が Windows サーバーシステムであり、IIS Web サーバープロセスの w3wp.exe によって不正な振る舞いが実行されたことが確認できる。したがって、攻撃者は不適切に管理されている脆弱な Web サーバーを初回侵入経路とした後、不正なコマンドを実行したものと推定される。

攻撃者は Windows IIS Web サーバープロセスの w3wp.exe を通じて、正常なアプリケーションプログラム(Wordconv.exe)と、このプログラムが参照する不正な DLL(msvcr100.dll)を同じフォルダーパスに配置した後、不正な DLL を実行するために正常なアプリケーションプログラムを実行した。このような攻撃の実行方式を MITRE ATT&CK では DLL Side-Loading(T1574.002)手法と分類している。

[図1] 不適切に管理されている Windows IIS Web サーバーを悪用した Lazarus グループの初期侵入振る舞いログ

Lazarus グループが DLL Side-Loading 手法を使用してマルウェアを実行する振る舞いは、すでに何回も確認されている。攻撃者は DLL Side-Loading 手法に使用する正常なプロセスの名前を変更し続けているが、このブログでは攻撃者が初期侵入プロセスで使用した DLL Side-Loading 手法と、その後の振る舞いに関して紹介する。

1. 初期侵入:Windows IIS Web サーバーを利用した DLL Side-Loading (Wordconv.exe, msvcr100.dll)

攻撃者は Windows IIS Web サーバープロセス(w3wp.exe)を通じて Wordconv.exe、msvcr100.dll、msvcr100.dat を生成し、Wordconv.exe を実行していた。Wordconv.exe のインポート DLL リストには以下の[図2]のように msvcr100.dll が存在しているため、Wordconv.exe が実行されると OS の DLL 検索順序によって同じパスの DLL ファイルが先にロードされる。結果的に不正な msvcr100.dll が Wordconv.exe プロセスのメモリで実行される。

[図2] Wordconv.exe のインポート DLL リスト

msvcr100.dll の機能は、以下の[図3]のように Wordconv.exe 実行時点で実行引数として渡されたキー(df2bsr2rob5s1f8788yk6ddi4x0wz1jq)と、エンコードされた PE ファイル(msvcr100.dat)を Salsa20 アルゴリズムで復号化し、メモリ上で PE ファイルを実行することである。そして、FreeLibraryAndExitThread WinAPI 呼び出しによってロードされた不正な DLL モジュールを解除した後、自身(msvcr100.dll)を削除する機能を実行する。

[図3] Wordconv.exe の実行ログ

また msvcr100.dll は、2022年にASECがBYOVD 手法でアンチウイルスプログラムを無力化する Lazarus 攻撃グループによるマルウェア感染事例」で紹介した cylvc.dll マルウェアの機能とアウトラインが非常に類似している。そのため、msvcr100.dll は cylvc.dll の変形マルウェアであると推定される。

[図4] msvcr100.dll と cylvc.dll の API Hashing 値の比較

cylvc.dll は msvcr100.dll と同じく、Salsa20 アルゴリズムで dat 拡張子を持つデータファイルを復号化した後、メモリ上で PE を実行していた。2022年当時、メモリ上で実行された PE は攻撃者の C&C サーバーと通信するバックドアマルウェアであった。

[図5] msvcr100.dll と cylvc.dll のデータ復号化コードルーティン比較

2. 拠点確保および資格証明情報の窃取

攻撃者は初期侵入に続いて拠点確保を実行した後、Notepad++ プラグインとして知られているColor picker plugin」オープンソースを悪用した追加マルウェア(diagn.dll)を生成していた。

[図6] diagn.dll アイコンリソース情報
[図7] Color picker plugin オープンソースページ (github)

diagn.dll の機能は、RC6 アルゴリズムでエンコードされた PE ファイルを実行引数値として渡され、内部にハードコーディングされたキーでデータファイルを復号化し、メモリ上で PE ファイルを実行することである。

  • RC6 キー : 5A 27 A3 E8 91 45 BE 63 34 23 11 4A 77 91 53 31 5F 47 14 E2 FF 75 5F D2 3F 58 55 6C A8 BF 07 A1

攻撃当時のエンコードされた PE データファイルが収集されなかったため、メモリ上で実行された PE ファイルの不正な振る舞いに関して把握できなかったが、ASD インフラで攻撃者がこのモジュールを通じて lsass.exe プロセスメモリにアクセスした履歴が確認された。そのため、攻撃者が Mimikatz のような資格証明情報の窃取ツールを実行したと推定される。

[図8] 資格証明情報の窃取振る舞い履歴ログ

3. ラテラルムーブメント

システムの資格証明情報を獲得した攻撃者は内部偵察を実行した後、リモートアクセス(3389ポート)を利用して内部ネットワークにラテラルムーブメント(Lateral Movement)を実行した。ラテラルムーブメントの後、攻撃者が行った追加の不正な振る舞いは現在まで確認されていない。

[図9] ラテラルムーブメント状況ログ

4. 結論および対応方法

Lazarus グループは初期侵入のため、Log4Shell公認認証書の脆弱性3CX サプライチェーン攻撃など、様々な攻撃ベクトルを使用している非常に脅威的なグループであり、世界的に活発に活動している攻撃グループの1つである。そのため、企業のセキュリティ担当者は攻撃対象領域管理(Attack Surface Management)を通じて攻撃者にさらされる恐れのある財産を識別し、持続的に最新のセキュリティパッチを適用するなどの管理をしなければならない。

特に、攻撃者が初期侵入に際して、主に Dll Side-loading 手法を使用しているため、企業では異常なプロセスの実行関係などをモニタリングすることで、攻撃者が情報の窃取、ラテラルムーブメントなどを実行できないように先制的な対応をしなければならない。

現在、AhnLab 製品群ではこの攻撃事例で確認したマルウェアに対して以下の検知名で検知している。

[ファイル検知]
– Trojan/Win.LazarLoader.C5427612 (2023.05.15.02)
– Trojan/Win.LazarLoader.C5427613 (2023.05.15.03)

[IOC]
[Dll Side-loading ファイルパス]
– C:\ProgramData\USOShared\Wordconv.exe
– C:\ProgramData\USOShared\msvcr100.dll

[MD5]
– e501bb6762c14baafadbde8b0c04bbd6 : diagn.dll
– 228732b45ed1ca3cda2b2721f5f5667c : msvcr100.dll
– 47d380dd587db977bf6458ec767fee3d : ? (msvcr100.dll の変形マルウェア)
– 4d91cd34a9aae8f2d88e0f77e812cef7 : cylvc.dll (msvcr100.dll の変形マルウェア)

Categories:マルウェアの情報

Tagged as:

5 3 votes
評価する
Subscribe
Notify of
guest

0 コメント
Inline Feedbacks
View all comments