ASEC 分析チームは、2021年5月頃から現在まで PseudoManuscrypt マルウェアが韓国国内で拡散している状況を捕捉した。PseudoManuscrypt マルウェアはこれまでに ASEC ブログで紹介してきた Cryptbot マルウェアと類似した形式のインストールファイルを装って配布されており、ファイルの形式だけでなく検索エンジンに Crack、Keygen 等の商用ソフトウェア関連の違法プログラムを検索すると検索結果の上位に表示される不正なサイトを通じて配布される方式も Cryptbot と同じである。
当社 ASD(AhnLab Smart Defense)インフラで確保された PseudoManuscrypt 検知ログからは以下のような実行ファイルパスが確認された。これは、Windows のライセンス認証プログラムを不正なサイトからダウンロードしようとしたものと見られる。
- 実行ファイルパス
…\downloads\60b63e_kmsauto-net-201\kmsauto-net-2016-v154-windows-10-activator-portable\60b63e21e82a660b63e21e_setup_v18.2.9\main_setup_x86x64.exe

このような方式は不特定多数のユーザーをターゲットとする配布方式であり、韓国国内の多数の PC で感染が発生したことを確認した。上記の図は、拡散が始まった2021年5月から現在までに検知されたログの数量を示すグラフである。緑色のグラフは感染した PC の台数、赤いグラフは検知されたファイル数を示している。平均すると毎日約30台の PC が感染し続けていることが確認できる。

違法プログラムに偽装した最上位ファイルは NSIS(Nullsoft Scriptable Install System) Installer の形式をとっており「setup_installer.exe」ファイルを生成したあとに実行する。「setup_installer.exe」は 7z SFX 形式で、Loader ファイルと様々なマルウェア、および複数の dll を生成する。複数の dll はすべて正常なファイルであり、Loader ファイルの実行に必要なライブラリである。Loader は同時に生成された様々なマルウェアを実行する役割を持ち、このようなプロセスは Cryptbot が実行されるプロセスと同じである。Loader によって実行されるマルウェアのうち PseudoManuscrypt 以外に SmokeLoader、Glupteba 等も含まれており、PseudoManuscrypt は 7z SFX 形式である。最終的に PseudoManuscrypt は %TEMP% パスに install.dll(デコードを実行する Loader)と install.dat(エンコードされたシェルコード)ファイルを生成する。その後「install.dll.lnk」という名前のショートカットファイルを作成して実行し、install.dll ファイル内の特定の関数を動作させる。
- install.dll.lnk のプロパティ
C:\Windows\system32\rUNdlL32.eXe “%TEMP%\install.dll”,install

install.dll ファイルは install.dat ファイルをデコードしてメモリ上で実行する。install.dat ファイルには shellcode とエンコードおよび圧縮された pe データが存在し、shellcode はエンコードおよび圧縮された pe データをデコードした後に解凍して実行する機能を担っている。その後、この pe データが実際の不正な振る舞いを実行し、内部に存在する追加データをデコードして tmp の拡張子で生成した後、サービスに登録する。Pe データに関する詳細な説明は以下で紹介する。

呼び出された pe データはまず、現在実行中のプロセス名が svchost.exe かどうかを確認する。この時、現在のプロセスはショートカットファイルによって rundll32.exe で実行されている状態である。

svchost.exe プロセスではない場合、特定のレジストリキーを生成して不正なデータを保存する。生成するレジストリキーの名前は HKLM\SOFTWARE\Microsfot\Cryptography レジストリに存在する MachineGuid の値を使用する。MachineGuid は HardwareID の値で PC 毎にユニークな値を持っており、この特徴を利用してレジストリキー名を生成する。
MachineGuid の値は「Global」文字列を使用してエンコードされ、エンコードされた MachineGuid の値を使用して以下のパスにレジストリキーを生成する。このレジストリキーにエンコードされた「install.dat」データを保存する。
– HKLM\SOFTWARE\Classes\CLSID\MachineGuid(“Global”):1 = エンコードされた「install.dat」

レジストリキーを作成した後、全体のサービスのうち、引数に「-k netsvcs」が含まれているサービスの process id を取得し、デコードされた「install.dat」データをそのプロセスに injection する。その後 %TEMP% パスに存在する「install.dat」ファイルは削除され、インジェクションされたプロセスはレジストリキーに保存されているエンコードされた「install.dat」データを参照する。
インジェクションされた svchost.exe は以前と同じプロセスを経て command line をチェックする。現在のプロセス名が svchost.exe かどうか、また引数に netsvcs が含まれているかどうかをチェックした後、2つの thread を実行する。
最初に実行される thread は、プロセスが終了する時に特定のファイルをサービスに登録する機能を実行する。まず、プロセス終了の優先順位を最下位に設定した後、制御ハンドラを設定する。

制御ハンドラに追加する関数は上記の通りであり、受け取る制御信号を確認する。この関数でチェックする制御信号の値は5、6である。5(ユーザーがログオフするとき)の場合、プロセス終了の優先順位および制御ハンドラを再設定し、6(システムが終了するとき)の場合、不正なサービスを生成する関数を実行する。不正なサービスは以下のプロセスを経て作成される。
SYSTEM\\CurrentControlSet\\Services\\AppService[a-z] レジストリを生成した後、当該サービスのレジストリに対するエントリを以下のように設定する。
– Start : 0x02 (システム起動時に自動で開始)
– imagepath : %SystemRoot%\System32\svchostexe -k AppService
生成するサービス名と当該サービスによって実行されるファイルは以下のように設定される。
– SYSTEM\\CurrentControlSet\\ServicesAppService[a-z]\\Parameters:servicedll = %System%\エンコードされた文字列.tmp
– SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Svchost:AppService =AppService[a-z]

サービスに登録されるファイルは特定のパスに存在するデータをデコードし、System パスに tmp の拡張子で生成される。生成された tmp ファイルは特定のレジストリキーに存在するエンコードされた「install.dat」データをデコードして実行する Loader の役割を実行する。これらのプロセスは、ユーザーが PC をシャットダウンした後に再起動した場合でも、不正な振る舞いを継続して実行するための目的と見られる。

サービスの生成後、System フォルダーを Windows Defender のチェックで例外処理した後で最初の Thread は終了する。

二番目に実行される thread は %System%\svchost.exe -k SystemNetworkService のコマンドでプロセスを生成し、デコードされた「install.dat」データをインジェクションする機能を実行する。
injection された svchost.exe は以前と同じプロセスを経て command line をチェックし、SystemNetworkService の引数で実行された svchost.exe の場合は、実際に不正な機能を実行することになる。このプロセスにより以下のデータを含む様々なユーザー情報を窃取し、攻撃者のサーバーに転送する。
- VPN 接続情報
- クリップボードデータ
- オーディオデータ
- ネットワーク共有フォルダーのリスト
- TCP および UDP ポートを許可しているプロセスの情報
- 実行中のプロセスファイルのバージョン情報
- C2 : email.yg9[.]me
上記のような不正な機能以外にも、C2 サーバーに接続して攻撃者のコマンドによってファイルダウンロード、画面キャプチャ、キーロガー、cmd コマンドの実行等、様々な不正な振る舞いを実行することができる。
上記で紹介したマルウェアは、違法なソフトウェアのインストーラーに偽装し、不正なサイトを通じて不特定多数をターゲットに拡散しているため、ユーザーは関連するプログラムをダウンロードしないように注意しなければならない。また、不正なファイルがサービスに登録されてユーザーの知らないうちに何度も不正な振る舞いを実行することもあるため、定期的に PC を検査しておく必要がある。
[ファイル検知]
- Trojan/Win.Generic.R420870 (2021.05.16.01)
- Malware/Win.Generic.R421780 (2021.05.21.03)
- Trojan/Win.Generic.C4512227 (2021.06.04.01)
- Trojan/Win.Generic.C4512246 (2021.06.04.01)
- Trojan/Win.Generic.R421722 (2021.08.17.03)
- Trojan/Win.Generic.R436809 (2021.08.17.03)
- Trojan/Win.Generic.R436811 (2021.08.17.03)
- Trojan/Bin.Encoded (2022.01.28.02)
[IOC 情報]
- 1fecb6eb98e8ee72bb5f006dd79c6f2f
- 5de2818ced29a1fedb9b24c1044ebd45
- 58efaf6fa04a8d7201ab19170785ce85
- 839e9e4d6289eba53e40916283f73ca6
- 89c8e5a1e24f05ede53b1cab721c53d8
- 5e6df381ce1c9102799350b7033e41df
- a29e7bbe6dee4eea95afa3f2e3a1705a
- 8ae40c8418b2c36b58d2a43153544ddd
- email.yg9[.]me
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報
[…] [ASEC ブログ] PseudoManuscrypt が Cryptbot と同じ方式で韓国国内において拡散中 […]