AhnLab SEcurity intelligence Center(ASEC)は、正常なサーバーを侵害し、C2 に悪用する Lazarus グループの攻撃事例を確認した。韓国国内の Web サーバーを対象に Web シェルおよび C2 スクリプトをインストールする攻撃事例は継続的に発生しており、さらに LazarLoader マルウェアと権限昇格ツールが確認される事例も存在する。
1. C2 スクリプト (Proxy)
2024年5月、Lazarus グループが韓国国内の Web サーバーを攻撃して第一段階の C2 サーバーとして活用した事例が確認された。初期段階の C2 サーバーは次の段階の C2 サーバーに対するプロキシとして動作しながら、マルウェアと第二段階の C2 サーバーとの通信を仲介する役割を担う。参考に、攻撃対象の Web サーバーは IIS サーバーだったため、ASP フォーマットの Web シェルおよび C2 スクリプトが使用された。これは、2020年12月に Kaspersky 社が公開したタイプと同様であった。[1] (外部サイト、英語にて提供)

2025年1月に確認された攻撃事例も、過去の事例と同じく Lazarus グループが第一段階の C2 サーバーとして悪用するためのインフラに使用したものと推定される。すなわち、第一段階の C2 スクリプトが確認されており、過去の事例と同じではないものの、プロキシとして動作するという実質的な機能は類似している。以前の事例と比較して異なる点の1つは、通信プロセスで Form データだけでなく Cookie データをサポートしている点である。

Form データの場合、コマンドは「code」の項目で伝達された番号に応じて異なり、Cookie を通じて伝達された場合は内部で構文解析を行って使用する。
| code | コマンド | 機能 |
| 0 | MidRequest | データのリダイレクト |
| 1 | ProxyCheck | Mid Info 保存 |
| 2 | ReadFile | ファイルの読み取り |
| 3 | WriteFile | ファイルの書き込み |
| 4 | ClientHello | Mid Info レスポンスおよび Proxy Log 書き込み |
| 5 | ProxyLog | Proxy Log レスポンス |
| 6 | CheckFileTransfer | ファイル照会 |
| code | コマンド | 機能 |
| 0 | MidRequest | データのリダイレクト |
| 2 | ReadFile | ファイルの読み取り |
| 3 | WriteFile | ファイルの書き込み |
| 4 | ClientHello | Mid Info レスポンスおよび Proxy Log 書き込み |
過去の事例では「_ICEBIRD007.dat」、「~F05990302ERA.jpg」のようなファイルを使用していたのに対し、今回使用しているデータは Web シェルの変数名を参考にした場合、以下の通りである。
| パス | 目的 |
| Bottom1.gif | Mid Info (Mode および ID 番号) |
| Bottom2.gif | Proxy Log |
| Bottom3.gif | Response Page |
2. WebShell の解析
2025年1月に公開された攻撃事例も、2024年5月に公開された事例と同じく RedHat Hacker Web シェルが使用されたが、「function2.asp」という名前でインストールされた。参考に、以前の事例で RedHat Hacker Web シェルでは、過去に HvS-Consulting AG が公開したレポートと同じパスワードである「1234qwer」が使用されたが、今回使用された Web シェルでは「2345rdx」が使用されたことが特徴である。

感染したシステムには RedHat Hacker の他にも「file_uploader_ok.asp」、「find_pwd.asp」の2つの Web シェルが同時に確認されており、実質的には同じ Web シェルである。UI は提供されていないが、ファイルおよびプロセスタスクや SQL クエリのような照会機能をサポートする Web シェルである。参考に、確認された Web シェルおよび C2 スクリプトはすべてエンコードされた形式の VBE フォーマットとなっており、復号化したあとも難読化されていることが特徴である。
Web シェル「file_uploader_ok.asp」、「find_pwd.asp」は、渡されたデータの2番目および3番目のバイトが「OK」文字列かどうかをチェックし、1番目のバイトはパケットデータ復号化のキーとして使用する。パケットデータは最初の1バイトキーだけでなく、ランダムな文字列も使用するが、それぞれ「xdmCz1eQ:?EkQ0d%c%r%jgY!fjabTTA0」と「#N@BGjn8g5!yCJAfiEFzq04Cqr%dFvcX」が使用される。

この Web シェルは JSON フォーマットのデータを渡されて動作し、以下のようなコマンドをサポートしている。
| コマンド | 機能 |
| check | OS バージョンおよび Web シェルバージョンを返す |
| index | Web サーバールートパス、現在のスクリプトパス、使用可能なドライブ情報を返す |
| dir | ディレクトリの照会 |
| dn | ファイルのダウンロード |
| up | ファイルのアップロード |
| del | ファイルまたはディレクトリの削除 |
| create | ファイルまたはディレクトリの作成 |
| mv | ファイルの移動 |
| mtime | ファイルの更新日時変更 |
| mhash | ファイルのハッシュ計算 |
| read | ファイルの読み取り |
| write | ファイルの書き込み |
| run | コマンド実行 |
| test | 渡されたアドレスに対する SQL 接続テスト |
| sql | SQL クエリまたはダンプ |
3. LazarLoader および権限昇格ツールの解析
上記で取り上げた Web シェルが確認された別の Web サーバーでは、LazarLoader マルウェアと UAC Bypass 機能を担う権限昇格マルウェアが確認されることもあった。ここでは、ローダーマルウェアとして外部からペイロードをダウンロードしたり、システムに保存されているファイルまたはレジストリからペイロードを読み込みメモリ上で復号化して実行するマルウェアを LazarLoader と分類する。
自社の ASD(AhnLab Smart Defense)インフラによると、攻撃者は初期侵入のプロセスで Web シェルをインストールしたあと、これを悪用して LazarLoader をさらにインストールしたものと推定される。以下は IIS Web サーバーのプロセスである w3wp.exe を通じて LazarLoader がインストールされたログである。

攻撃事例で確認された LazarLoader はダウンローダータイプであり、以下のようにペイロードをダウンロードするのに使用するアドレスがハードコーディングされていることが特徴である。復号化の過程を経て PE の有無を確認し、最終的にメモリ上でロードする部分は他の LazarLoader のタイプと同様である。ダウンロードしたペイロードを復号化するプロセスでは、「Node.Js_NpmStart」という 16Bytes サイズのキーが使用される。

攻撃に使われた LazarLoader は現在ダウンロードが不可能だが、バックドアタイプをダウンロードしたものと推定される。インストール後、以下のようにさらなるマルウェアを実行するログも確認された。
> rundll32.exe C:\ProgramData\USOShared\sup.etl,SerializeMarketTable_32 x9nsB3iYUWiDT6BZKO5pgtMW -v 62 -m D:/www/**********/********/******/****/ac_lst.exe > C:\ProgramData\USOShared\log.txt

「sup.etl」は権限昇格マルウェアであり、フレームワークはパッカーである。初めて実行すると、引数として渡されたキー「x9nsB3iYUWiDT6BZKO5pgtMW」を利用して内部に暗号化されている元のマルウェアを復号化し、メモリ上で実行する。
1番目の引数は内部ペイロードの復号化に使用され、2番目の引数、すなわち「-v」以降の値は62が使用された。復号化されたペイロードは、攻撃者が UACMe から特定の機能だけを引用して製作したものと推定される。引数に62が使用される場合、「ComputerDefaults.exe」を悪用する方式の UAC Bypass 手法が使われるが、これは実際の UACMe でサポートする番号と同じであるためである。「-v」オプションが62の場合は「ComputerDefaults.exe」を悪用し、そうでない場合は「fodhelper.exe」を悪用する。そして、もし「11259375」、すなわち「0xABCDEF」である場合は、動作せずに終了することが特徴である。
| 順序 | 引数 | 機能 |
| 1 | N/A | 内部ペイロードの復号化に使われるキー |
| 2 | -v | UACMe 番号 |
| 3 | -m | 実行するファイルのパス |
「ComputerDefaults.exe」および「fodhelper.exe」を悪用する UAC Bypass 手法は、すべてレジストリキー「HKCU\Software\Classes\ms-settings\Shell\Open\command」を悪用する方式である。以下のようにレジストリにマルウェアのパス、すなわちここでは「-m」を引数として渡された「ac_lst.exe」を設定したあと、「ComputerDefaults.exe」または「fodhelper.exe」を実行すると、当該プログラムが指定したマルウェアである「ac_lst.exe」を管理者権限で実行させる方法である。

「ComputerDefaults.exe」と「fodhelper.exe」はどちらも UAC ポップアップなしで、管理者権限で実行される autoElevate プログラムである。実行時、上記レジストリのパスを参照して子プロセスとして指定したプログラムを実行するが、管理者権限で実行されるプロセスの子プロセスであることにより、自動的に権限昇格が可能な方式である。
参考に、権限昇格マルウェアを通じて実行されたプロセスは当該マルウェア自体を実行した「ac_lst.exe」であるため、初期侵入プロセスでバックドアとして「ac_lst.exe」をインストールした後、再度管理者権限に権限を昇格させるための目的で悪用したものと推定される。
4. 結論
ASEC は、最近 Lazarus グループが韓国国内の Web サーバーを攻撃し、Web シェルと LazarLoader をインストールしていることを確認した。攻撃者はこのような攻撃を実行したあと、C2 スクリプトをインストールし、他の攻撃の C&C アドレスとして悪用した。
攻撃者は、不適切に管理されている、または脆弱性に対するパッチが適用されていない Web サーバーを攻撃し、Web シェルをインストールすることができる。管理者は、Web サーバーに存在するファイルアップロードの脆弱性をチェックし、初期侵入経路となる Web シェルのアップロードを事前に防止できるように努める必要がある。また、パスワードを定期的に変更してアクセス制御を設定し、窃取されたアカウント情報を利用したラテラルムーブメント攻撃に対処する必要がある。また、V3 を最新バージョンにアップデートしてマルウェアへの感染を事前に遮断できるように注意を払うべきである。
ファイル検知
– Trojan/ASP.Proxy.SC198862 (2025.01.16.02)
– WebShell/ASP.Generic (2025.01.20.02)
– WebShell/ASP.Generic (2025.01.20.02)
– WebShell/ASP.Generic (2025.01.17.01)
– Trojan/Win.LazarLoader.C5730315 (2025.02.14.03)
– Trojan/Win.LazarLoader.R692195 (2025.02.14.03)
– Trojan/Win.UACMe.R455616 (2021.12.28.00)
IOC 関連情報
MD5
0620fa617bc9ef32b93adcf40fe291a4
0734a2c3e827ccf558daf48290d06d8c
41ffc15c24259156db000af297c71703
89921e5f39407a5e63df013468181991
adabf920682fac1e6a81e655b1182590
追加 IoC は ATIP で提供しています。