njRAT マルウェアは、攻撃者のコマンドを受け取って様々な不正な行為を実行できる RAT マルウェアである。代表的に、ファイルのダウンロードおよびコマンドの実行、キーロガー、さらにはユーザーアカウント情報の奪取のような様々な機能を提供するため、以前から攻撃者によって継続的に使用されている。
また、ネット上で容易にビルダーを入手できるために、韓国国内ユーザーを対象としても様々な形で拡散している。代表的な例としては Torrent とウェブハードを利用して、正常なプログラムに偽装して配布する方式がある。参考に、njRAT マルウェアについては過去 ASEC ブログでも何度も紹介したことがあり、下段のブログリンクから参考できる。
njRAT のような既知のマルウェアはセキュリティプログラムにより容易に遮断されるため、攻撃者は様々な方式を利用して検出を回避している。ここでは、最近拡散している njRAT の配布方式と感染フロー、攻撃者が追加でインストールした履歴が確認されるマルウェアについて扱っていく。
攻撃者は今年頃から主に Torrent を通して njRAT をゲームインストールプログラムと共に配布しており、最近ではウェブハードで配布される事例も確認されている。当然、攻撃者が直接ウェブハードにアップロードしたものか、または Torrent でダウンロードしたファイルをアップローダーがそのままアップロードしたものかは不明である。以下は現在特定のウェブハードでダウンロードが可能なマルウェアであり、「[매우긍정적/도트액션] LostRuins-Chronos(翻訳:[超ポジティブ/ドットアクション] LostRuins-Chronos)」という名前でゲームのプログラムと共に LostRuins.zip 圧縮ファイルに含まれている。
参考に、上記の事例以外にも Torrent でゲームプログラムと共に配布される事例が更に存在し、以下のように相対パスおよびファイル名を見たとき、同じ形式であることが確認できる。(ファイルは「vxrlib86.dll」だけを対象としたが、単独で実行される形式ではないところを見ると、実際にはマルウェアは更に存在する)
\survival.z-unleashed\data\vxrlib86.dll
\hundred days – winemaking simulator\data\vxrlib86.dll
\teamfight.manager.v1.2.0\data\vxrlib86.dll
\lacuna.a.sci-fi.noir.adventure.v1.0.3\data\vxrlib86.dll
\until we die\data\vxrlib86.dll
\cardnarok – raid with gods\data\vxrlib86.dll
圧縮ファイルを解凍すると、以下のような構成が確認できる。ゲームをダウンロードしたユーザーは、アイコンおよびファイル名を見て Lostruins.exe がゲームプログラムであると思いこみ、当該ファイルを実行する。
しかし、Lostruins.exe ファイルはマルウェアのローダーであり、実際のゲームプログラム Lostruins.exe は Maindata.dll の名前で存在する。ローダーは Maindata.dll とマルウェアを同時に実行し、これによってゲームと njRAT マルウェアが同時に実行される形式である。このように正常なプログラムに偽装して実際の正常なプログラムとマルウェアを同時に実行する方式は、過去の拡散方式と類似している。
ローダー Lostruins.exe を更に詳しく見ると、実行時に現在の日付を取得したあと、6月4日以降は例外を発生させて終了させるルーティンが存在する。すなわち、このマルウェアは2021年6月3日までに限って動作するのである。また、現在のパスに実際のゲームプログラムである「Maindata.dll」ファイルが存在するかをチェックし、存在しない場合にも終了する。
以降、data フォルダに存在する vmxlib98.dll ファイルと vxrlib86.dll ファイルを「Program Data」フォルダーにコピーして実行する。最後に Run Key に登録して、再起動後にも動作するようにする。ここで使用される文字列はエンコードされており、実行中にデコードして使用される。以下は Main() 関数の一部であり、エンコードされた文字列をデコードした結果である。
> cmd.exe start Maindata.dll && cd data && copy /y vmxlib98.dll %PROGRAMDATA% && copy /y vxrlib86.dll %PROGRAMDATA%\vxrlib86.exe
> reg add “HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /v “Start” /t REG_SZ /d “C:\Windows\System32\cmd.exe /c start C:\ProgramData\vxrlib86.exe” /f
過去の形式ではマルウェアが exe ファイル単体で存在しており、ダブルクリックだけでマルウェアの行為が発現したが、今回確認された形式は vxrlib86.exe ファイル単独では実行が不可能であり、vmxlib98.dll ファイルが同じパスに同時に存在することで実行される。
Vxrlib86.exe のルーティンは以下のような関数がすべてであるため、単独では実行できない。すなわち、Frp クラスが実装されていないので、Frp クラスの Spr() メソッドを呼び出すことができない。
しかし、詳しく見ると vmxlib98 ライブラリを参照することが確認でき、同じパスに vmxlib98.dll ファイルが存在する場合、このファイルに実装されている Frp クラスの Spr() メソッドを呼び出す。
vmxlib98 ライブラリに実装されている Spr() メソッドはエンコードされたデータをデコードしたあと Assembly.Load() および Assembly.Invoke() してメモリ上で実行するが、復号化されたものが実際の njRAT である。
njRAT の C&C アドレス:ipipip1079.kro[.]kr:449
攻撃者はこのようにして時間条件を含め、各々のファイルが単独では実行されないように実装することで、サンドボックス型のようなセキュリティシステムにおいて不正な行為が発現しないようにする妨害手法を使用している。これらの点は過去のブログで取り上げた njRAT とは区別される点であり、時間の経過とともに解析および検知を回避する機能が追加されているという事実を確認できる。
次に、攻撃者がこの njRAT マルウェアを利用して感染 PC に追加でインストールしたマルウェアを取り上げる。まず、異なる形式の njRAT がある。攻撃者は異なるファイルだけではなく、C&C アドレスも変更してインストールする。これは C&C アドレスが遮断された場合に備えて njRAT をさらにインストールする目的であると推定される。
追加 njRAT 1 の C&C アドレス:discordpff.kro[.]kr:449
追加 njRAT 2 の C&C アドレス:dltlgn071105.kro[.]kr:1
そして NirSoft の WebBrowserPassView ツールをインストールして実行した履歴が存在する。このプログラムは名前のとおり Web ブラウザに保存されているアカウント情報を抽出して表示するプログラムである。攻撃者が /stext 引数を与えて実行し、GUI なしで抽出したアカウント情報をテキストファイル形式で生成できる。これに従って WebBrowserPassView は攻撃者によってよく使用されており、代表的なものでは HawkEye キーロガーも WebBrowserPassView を /stext 引数と一緒に使用している。
実際に実行させたコマンドラインを見ると、WebBrowserPassView を nirsoft.exe という名前でインストールし、感染 PC の Web ブラウザのアカウント情報を browser.txt ファイルで生成することが確認できる。
> cmd.exe /c c:\users\[ユーザー名]\appdata\roaming\nirsoft.exe /stext c:\users\[ユーザー名]\appdata\roaming\browser.txt
攻撃者は njRAT マルウェア以外にも Simple UDP Rat という簡易的な形式の RAT マルウェアをインストールしている。Simple UDP Rat は以下のように GitHub にも存在するオープンソース DDoS RAT マルウェアである。
このマルウェアは UDP DDoS 攻撃のみをサポートする簡易的な形式のマルウェアであり、ビルダーが存在する形ではなくソースコードで存在するため、攻撃者が直接ビルドを行わなければならない。以下は、攻撃者が Simple UDP Rat をビルドするときに生成した pdb ファイルのパスである。参考に、UDPnet というキーワードで検索すると、韓国国内においてオープンソースの Simple UDP Rat を攻撃ツールとして販売した履歴があったことを推定できる。
– C:\Users\tomag\OneDrive\바탕 화면\Vexxie\내가크랙한 툴\UDPNET 소스\Simple-UDP-Rat-master\Client\x64\Release\Client.pdb
(翻訳:C:\Users\tomag\OneDrive\デスクトップ\Vexxie\クラックしたツール\UDPNET ソース\Simple-UDP-Rat-master\Client\x64\Release\Client.pdb)
– C:\Users\Administrator\Desktop\UDPnet 김딸딸 전용\UDPnet 김딸딸\Client\x64\Debug\Client.pdb
(翻訳:C:\Users\Administrator\Desktop\UDPnet キムタルタル専用\UDPnet キムタルタル\Client\x64\Debug\Client.pdb)
特異事項があるとすれば、Simple UDP Rat サンプルのうち一つは Win32/Neshta ウイルスに感染した形で njRAT によってインストールされたが、これは攻撃者の意図というよりも、攻撃者の PC が Neshta ウイルスに感染していた可能性が高い。
最後に感染 PC の画面をロックして再起動を誘導した後、再起動後は「UR NEXT」という名前のテキストファイルをデスクトップに生成し、「run away」というメッセージボックスを無限に生成してユーザーの PC 使用を妨害するマルウェアを生成することもある。参考に、txt ファイルのアイコンも以下のように「UR NEXT」という文字列を表記した赤いアイコンに変更する。
このように、Torrent および韓国国内のウェブハード等のデータ共有サイトを通じてマルウェアが活発に出回っているため、ユーザーの注意が必要である。データ共有サイトからダウンロードした実行ファイルは特に注意が必要であり、ユーティリティおよびゲーム等のプログラムは必ず公式ホームページからダウンロードすることを推奨する。
[ファイル検知]
– Lostruins.exe : Trojan/Win.Loader.R424256 (2021.06.06.01)
– vxrlib86.dll : Trojan/Win.Loader.C4514255 (2021.06.05.03)
– vmxlib98.dll : Backdoor/Win.NJRat.C4514331 (2021.06.06.01)
– 追加 njRAT1 : Malware/Win.AGEN.C4498507 (2021.05.29.02)
– 追加 njRAT2 : Backdoor/Win.NJRat.R44258 (2021.06.06.01)
– WebBrowserPassView : HackTool/Win.WebBrowserPassView.R347116 (2020.08.07.04)
– Simple UDP Rat : Backdoo/Win.UDPRat.C4514332 (2021.06.06.01)
– Simple UDP Rat (Neshta ウイルス感染) : Win32/Neshta
– PC Lock : Trojan/Win32.Bluteal.C3153992 (2019.04.15.08)
[ビヘイビア検知]
– Malware/MDP.SystemManipulaction.M1653
[IOC]
ファイル
– Lostruins.exe : ba381adf2fde246ebaad5abac41377c8
– vxrlib86.dll : 06dbe94fcfe085cdfc38b4d1f3f3c79c
– vmxlib98.dll : 22c508e562dd4929423f9941e0a757ef
– 追加 njRAT1 : 55c94048da37a96bbc09915bf17253fd
– 追加 njRAT2 : 719416e4cc1d88f9e6c12605d29bf446
– WebBrowserPassView : 053778713819beab3df309df472787cd
– Simple UDP Rat : 0ceefba0a10805d7919d742da8fe6116
– Simple UDP Rat (Neshta ウイルス感染) : af375fb484e87f8921e8f1fad3d4d97a
– PC Lock : d5671758956b39e048680b6a8275e96a
C&C サーバー
– ウェブハードで配布される njRAT の C&C アドレス : ipipip1079.kro[.]kr:449
– 追加 njRAT 1 の C&C アドレス : discordpff.kro[.]kr:449
– 追加 njRAT 2 の C&C アドレス : dltlgn071105.kro[.]kr:1
– UDP RAT の C&C アドレス : ipipip1079.kro[.]kr:4433
– UDP RAT (Neshta ウイルス感染)の C&C アドレス : discord.n-e[.]kr:4433
Categories: マルウェアの情報