Kimsuky グループの新たなバックドアが出現 (HappyDoor)

目次

概要

Kimsuky の HappyDoor は、韓国国内/国外であまり認知されていないマルウェアである。当社ではこのマルウェアを2021年に初めて収集しており、継続的なモニタリングを行っていたところ、2024年でも侵害事例で使用されていることを確認した。調査の結果、攻撃者はこのマルウェアに過去から現在までパッチの適用を続けてきたものと思われるが、以下のようにバージョン(4.2)および推定ビルド日(Jan 12 2024)がバージョン情報(Version)にハードコーディングされており、最近のサンプルの場合はマルウェア名(happy)まで明記されていることがわかる。


バイナリ内部のバージョン情報(Version)

この「happy」文字列は Export DLL Name およびコード内のデバッグ文字列でも以下の通り確認できる。したがって、AhnLab SEcurity intelligence Center(ASEC)ではこのマルウェアを「HappyDoor」と命名した。

Export DLL 名(左)および内部デバッグ文字列(右)

拡散方式と変化

1. 拡散方式

Kimsuky グループは、過去からスピアフィッシングメール攻撃を通して様々なマルウェアを配布している。代表的なものに、マルウェア AppleSeed と AlphaSeed をインストールする事例があり、このような拡散方式は過去のレポート(Kimsuky グループの APT 攻撃解析レポート(AppleSeed、PebbleDash))(韓国語にて提供) や2023年の動向レポート(Kimsuky グループの AppleSeed マルウェア、攻撃動向の解析)で紹介しており、最近では AhnLab TIP の「Kimsuky グループ、Backdoor(AppleSeed、HappyDoor)の配布に使用したおとりファイル(2023.12~2024.04)」(韓国語にて提供) のドキュメントで詳しく取り上げた。 今回の HappyDoor も従来の拡散方式と同じく、メールの添付ファイルを通じて配布されている。この添付ファイルには圧縮ファイルが存在し、圧縮ファイルには難読化された JScript またはドロッパー(Dropper、実行ファイル)があり、実行すると正常なデコイファイルとともに HappyDoor を作成して実行する。以下は JScript の例であり、このスクリプトを実行するときに復号化されたコード(AMSI)は以下の通りである。

…(省略)…
#正常なデコイファイルの作成および実行
_Stream.SaveToFile(“C:\Windows\..\ProgramData\[正常なデコイファイル]”, “2”);
IWshShell3.Run(“C:\Windows\..\ProgramData\[正常なデコイファイル]”, “”);

…(省略)…
#HappyDoor デコード
(certutil)
IWshShell3.Run(“powershell.exe -windowstyle hidden certutil -decode C:\Windows\..\ProgramData\[Base64Encoded_HappyDoor] C:\Windows\..\ProgramData\[HappyDoor]”, “0”, “true”);

…(省略)…
#HappyDoor 実行
IWshShell3.Run(“powershell.exe -windowstyle hidden cmd /c cmd /c regsvr32.exe /s /n /i:syrsd* C:\Windows\..\ProgramData\[HappyDoor]“, “0”, “true”);

復号化された JScript コードの例

このとき、HappyDoor の実行パスおよび実行引数(/i)は以下の通りである。とりわけ、HappyDoor は実行引数に *(アスタリスク、Asterisk)を付けて動作し、この引数が何かによって動作が異なる特徴を持っている。以下は、2023年12月~2024年4月の最近まで Kimsuky が配布したバックドアの引数リストである。

cmd.exe /c regsvr32.exe /s /n /i:(任意の文字列)* C:\Windows\..\ProgramData\[HappyDoor]
日付実行引数(/i)マルウェアの種類
2023.121qa2ws4rfAppleSeed
2023.12 ~ 2024.0112qw3edAppleSeed
2023.12 ~ 2024.011qaz2wsx5tgbAppleSeed
2024.01syrsd*HappyDoor
2024.02s*HappyDoor
2024.02zsecq231AppleSeed
2024.02 ~ 2024.031qa2wszxcAppleSeed
2024.04qazse123AppleSeed
期間別のバックドアに使用された実行引数リスト(重複除く)

したがって、HappyDoor は現在まで実行引数だけで別のバックドアとの区別が可能であり、最近では最初にインストールされるバックドアのうち HappyDoor がインストールされる事例が確認されている。2024年現在、この HappyDoor の事例が確認されたフォレンジックレポート(AhnLab TIP)は以下の通りである。

2. HappyDoor の変化

HappyDoor は最初2021年に収集され、最近(2024年)まで確認され続けている。これをバージョン順に整理すると、以下の通りである。

番号ファイル MD5バージョン情報install 引数C2
1d9b15979e76dd5d18c31e62ab9ff7daeX(なし、2021年7月に初回収集)Xhxxp://app.seoul.minia[.]ml/kinsa.php
263ded●●●●●●●●●●●3.1 – Nov 30 2021Xhxxp://z.la●●●●.r-e[.]kr/kisa.php
34ef5e3ce535f84f975a8212f5630bfe84.1 – May 16 2023install*hxxp://users.nya[.]pub/index.php
4bd445●●●●●●●●●●●4.1 – May 30 2023aooa*hxxp://ocem.p●●●●[.]biz/index.php
hxxp://uo.z●●●●.o-r[.]kr/index.php
5a1c59fec34fec1156e7db27ec16121a74.1 – Jul 6 2023aooa*hxxp://go.ktspace.p-e[.]kr/index.php
hxxp://on.ktspace.p-e[.]kr/index.php
62ce95●●●●●●●●●●●4.1 – Aug 23 2023aooa*hxxp://on.sc●●●●.p-e[.]kr/index.php
hxxp://go.sc●●●●.p-e[.]kr/index.php
7c7b82b4bafb677bf0f4397b0b88ccfa2happy 4.2 Sep 11 2023aooa*hxxp://aa.olixa.p-e[.]kr/index.php
hxxp://uo.zosua.o-r[.]kr/index.php
871364●●●●●●●●●●●happy 4.2 Dec 20 2023syrsd*hxxp://m●●●●.syrsd[.]p-e.kr/index.php hxxp://ba●●●●.syrsd.p-e[.]kr/index.php
90054bdfe4cac0cb7a717749f8c08f5f3happy 4.2 Jan 12 2024syrsd*hxxp://jp.hyyeo.p-e[.]kr/index.php
hxxp://ai.hyyeo.p-e[.]kr/index.php
108931b●●●●●●●●●●●happy 4.2 Feb 1 2024s*hxxp://ai.namu●●●●.p-e[.]kr/index.php
バージョン情報の日付順に列記した HappyDoor リスト

上記表の「バージョン情報」から日付を見ると、攻撃者は過去から配布を続けていたことが確認でき、特に最近(2023年12月から2024年2月)確保された8番~10番のサンプルは、最低でも1か月周期でパッチを適用していることがわかる。サンプルのバージョン情報は、コード内部に以下のようにハードコーディングされている。

過去と現在のバージョン情報の変化(2023年 -> 2024年)

また、現在収集されている HappyDoor はすべて実行引数(/i)を持っているが、初期に収集されたサンプルは引数が存在しなかった。これは、おそらく2023年に配布された4.1バージョン(3番のサンプル)から実行引数を使用するコードを追加したためと思われる。HappyDoor はこの実行引数に応じて動作が分かれるが、インストール時に使用する引数「install*」文字列は3番のサンプルでのみ使用されており、以降のバージョンからは任意の文字列に変換されて配布されている。したがって、HappyDoor は感染時、最初に「install*」を引数として渡して実行し、完了すると「init*」を渡して、その次に実際の不正な振る舞いを実行する「run*」を引数として挿入して実行する。

install*(任意の文字列) -> init* -> run*
実行引数(/i)の順序

詳細解析

1. 要約

HappyDoor の振る舞いを要約すると、以下の通りである。

HappyDoor の実行フロー

HappyDoor マルウェアは最終的には DLL であるため、regsvr32.exe を介して動作し、実行時にプロセス(regsvr32)のコマンドラインを削除したあと regsvr32 の実行引数(/i)を確認して以下の段階により動作する。

実行引数内容
install*1. スケジューラー登録 (“Intel\Disk\Volume0”)
2. 自己複製(特定パス)および既存ファイルの自己削除
3. init* で再実行
init*1. 自己複製(.otp)および run* で再実行
run*1. マルウェアの設定構成 (パケットデータ + 振る舞い情報データ)
2. レジストリ構成
– Notepad:RSA キー、不正な振る舞い関連データ
– FTP:C&C アドレス、パケット検証データ(USER ID)
3. システム情報(osi)およびサンプル構成情報(gcfg)伝達
4. 不正な振る舞い担当スレッドの作成(情報窃取/バックドア/データ(klog、cmd)流出)
実行引数の段階

実行引数は大きく3段階に分類され、上記のように順番に実行される。最初の install* は自己複製およびスケジューラー(schtasks)登録であり、自己複製先およびスケジューラー登録コマンドは以下の通りである。

過去)
– %APPDATA%\microsoft\internet explorer\localdata\ie.cfg
– %APPDATA%\microsoft\internet explorer\localdata\ie.cfg.otp
 
現在)
– %APPDATA%\microsoft\internet explorer\localdata\imx.cfg
– %APPDATA%\microsoft\internet explorer\localdata\imx.cfg.otp
HappyDoor の自己複製先パス
schtasks /create /f /tn “Intel\Disk\Volume0” /tr “C:\Windows\system32\regsvr32.exe /s /n /i:init* ‘C:\Users\han\AppData\Roaming\Microsoft\Internet Explorer\LocalData\ imx.cfg” /sc minute /mo 5
スケジューラー(schtasks)登録コマンド

「run*」では情報窃取およびバックドアなどの主な不正な振る舞いを実行する。特に、主な情報窃取機能は全部で6種類あり、screenshot(画面キャプチャ)、keylogger(キーロガー)、filemon(ファイル流出)、alarm(接続デバイス情報)、micrec(録音)、mtpmon(Android 内のファイル流出)文字列が存在する。また、HappyDoor は情報流出時に RSA と RC4 キーを使用してデータを暗号化したあと窃取し、以降はバックドア機能を実行する。参考に、C&C サーバーとの通信を試みる通信関数は仮想関数テーブル(vtable)で構成されている。

仮想関数テーブル(vtable)で構成された通信関数およびクラス情報

2. 特徴

2.1. レジストリ(Registry)データ

HappyDoor は2つの正常なレジストリパスにエンコードされたデータ(Data)を構成する。レジストリのパスと機能は以下の通りである。

A. NOTEPAD
パス:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Notepad
値(Value):IfChar
サマリー:RSA キー(公開鍵、秘密鍵)、情報窃取およびバックドア関連の ON/OFF スイッチ、情報窃取関数アドレスおよび名前
データサイズ:0x17E0 または 0x17D8(バージョンにより長さが異なる)

IfChar のデータ構造は以下の通りである。

Notepad の IfChar データ構造
データ説明
Backdoor Packet Encryption ON/OFFバックドアのコマンドを暗号化されたパケットで受け取るかどうかを決定する Flag 値(ON/OFF)。
デフォルトで1(ON)に設定されており、RSA 秘密鍵および RC4 キーを利用して復号化を実行。
interval_cmd, interval_ssht, ssht_width, ssht_height情報流出機能(cmd および ssht)により流出された情報の収集周期およびスクリーンショット(ssht)の解像度。
.. これ以降は AhnLab TIP で確認することができる。
Notepad の IfChar データ説明
B. FTP
パス:HKEY_CURRENT_USER\Software\Microsoft\FTP
値(Value):Use Https
サマリー:USER ID 値(パケット検証データ)、C&C アドレス
データサイズ:C&C 個数によって可変、最小 0x320 以上と推定

Use Https のデータ構造は以下の通りである。

Use Https のデータ構造

「Use Https」はパケットおよび C2 が含まれたデータであり、情報は以下の通りである。

データ説明
USER ID8 Byte データ、合計 16 Byte(2個)が存在。
この値はランダムで、再実行時に変更されることがあり、通信時 C2 に伝達後、パケット検証に使用。
C2(C&C) Address攻撃者の C2 アドレスで、情報流出およびバックドアに使用されるサーバー。サンプルによって個数が異なる。
FTP の Use Https データ説明

2.2. パケットデータ

HappyDoor は、過去から現在に至るまで HTTP によって C&C(Command and Control)サーバーと通信を行っている。

過去、2022年にキャプチャされたパケットの一部(攻撃者サーバー:rok.my[.]to/update)

上記の画像は2022年に確認されたパケットで、XOR および Base64 でエンコードされたデータである。ここで使われた XOR エンコードは、「2.1.レジストリ」の暗号化方式と同様である。

– キー:DD 33 99 CC (固定) // 「2.1.レジストリデータ」方式と同様
– データ:パケットデータ
– 数式:key[i%4] ^ data[i] ^ data[i-1] // (ただし、data[-1]=0x0)

例として、上記パケットのうち攻撃者サーバーに転送されたデータをデコードすると以下の通りである。

デコード時のパケット構造(例)

このパケットは、マルウェアにおいて現在動作中の情報流出機能(alarm、keylogger、screenshot)を表したものであり、パケット構造の詳しい内容は以下の「パケット構造とサーバー動作方式」で説明する。

2.3. パケット構造とサーバー動作方式

2.3.1. 動作方式

(本内容は解析当時にサーバーとの接続が不可能であったため、解析のみにより導き出した結果である。したがって、実際のサーバーのレスポンスと一部異なる場合がある)

解析の結果、HappyDoor は HTTP プロトコルを使用して以下のような通信を実行する。

HappyDoor の通信フロー

したがって、振る舞いに応じてパケットの種類を3つに分類することができ、各振る舞いは以下のように要約できる。

サーバー通信検証(Packet Type:1)
1) サーバーに「init」を送信したあと「OK」レスポンスを確認
 
情報流出の試行(Packet Type:4)
2) Trans Status : 0x1を送信してサーバーにデータを送信することを知らせる
3) ファイルサイズによって最大データ長(0x100000)の分を伝達最大長よりもデータが大きい場合、Data Ord Number を順番に1ずつ増加させ、データを分割して転送
4) データ末尾は Data Ord Number : 0x100000000 でサーバーに転送完了を知らせ、レスポンス完了値である Trans Status : 0x3 を確認
5) 転送したデータのファイル名を伝達するために File Info : 0x5 に設定し「cloud;;」文字列の後ろにファイル名を追加して転送
 
バックドア通信(Packet Type:6)
6) サーバーと CMD ID(0x3E8) 交換
7) バックドアにコマンド番号である CMD ID とコマンドデータを転送
8) CMD ID に対応するバックドアコマンドの実行およびレスポンス転送
HappyDoor の通信フロー説明
2.3.2. パケット構造

HappyDoor のパケットは基本的に 0x40 のサイズを持つ構造であり、サーバーからレスポンスを受け取るたびにパケットの有効性を5つの検証データ(Verification Data)によって確認する。上記で説明した「Packet Type」も、この構造から知ることができる。構造は以下の通りである。

HappyDoor のパケット構造

上記構造を表にまとめると、以下の通りである。

サイズ(Byte)データ名説明
4Randomランダムな 4 Byte。
12Verification 1 ~ 3
(Version)
マルウェアのバージョンと推定。(検証プロセスで使用)
8Verification 4(USER ID)FTP レジストリ構造の「USER ID」値で、実行中ランダムに作成(検証プロセスで使用)
4Verification 5(Signature)HappyDoor パケットで使用するシグネチャ値「0x84DE5360」(検証プロセスで使用)
4Packet Type1:接続状態確認
4:データ転送
6:バックドア実行
4File InfoPacket Type が4のとき、転送されたデータファイルの名前を送信する際に5で設定。
4CMD IDPacket Type が6のとき、バックドアコマンド ID。
(ただし Packet Type が4のとき、以下のような Unique ID)
.. これ以降は AhnLab TIP で確認することができる。
HappyDoor のパケット説明

したがって、上記表のようにサーバーから受け取ったレスポンスパケットを検証するコードは以下の通りであり、Verification 1~5 までを確認することがわかる。

レスポンスパケット検証コード

3. 機能

3.1. 情報窃取

このマルウェアは6種類の情報窃取機能を持っており、この機能はそれぞれ Notepad(IfChar)の「Infosteal ON/OFF」値に応じて実行可否が決定される。 (1 : ON, 0 : OFF)

Notepad レジストリ設定コードのうち、情報窃取機能(6種類)

したがって、「1」(ON)に設定された情報窃取機能はマルチスレッドで動作し、スレッドごとに窃取する情報がある場合は %TEMP% フォルダーに臨時ファイルを作成して情報を記録する。

– 臨時ファイル:%TEMP%\{任意_4文字}.tmp

その後 RSA 公開鍵と任意に作成された RC4 キーを利用して流出情報を暗号化し、以下の特定パスに暗号化した情報を保存する。その後、C2 サーバーにデータを流出して臨時ファイルを自己削除する。流出データが保存されるパスとファイル名は以下の通りである。

[暗号化されたデータ]
– 保存パス:%AllUsersProfile%\Google\Internet Explorer\LocalData\User Data\
– データファイル名:{機能名}@年月日{時分秒-ミリ秒}.ute1
流出データの保存パス

また、当該フォルダーには6つの主な流出データ以外に、システム情報収集(osi)や特定バックドアコマンドのレスポンス値、現在実行されているマルウェア情報(gcfg)なども保存され、C2 サーバーに転送する。したがって当該パスにデータを保存する機能をまとめると、以下の通りとなる。

カテゴリーファイル名機能
(またはサマリー)
説明
情報窃取sshtscreenshotスクリーンショットキャプチャ
klogkeyloggerキーロガー情報
fmonfilemon以下の条件に一致するファイルの収集
– 特定のパス:
「Desktop」、 「Document」,、「Download」、 「\AppData\Local\Microsoft\Windows\INetCache\IE」
– 特定の拡張子:.hwp .pdf .doc .xls .ppt .egg .jp*
– 時間:更新日時15日以内
– ファイルのサイズ:50MB 以下
ausbalarm接続されているリムーバブルデバイスに関するファイル名およびパスの収集
amtp(上記と同じ)接続されているリムーバブルデバイスの名前など
mrecmicrec録音の有効化および音声録音
mmtpmtpmon接続されている Android デバイス内の以下の拡張子ファイルの収集
– 拡張子:.jpg .jpeg .png .bmp .hwp .doc .ppt .xls .pdf .txt
その他osiOS InformationOS バージョンおよびアーキテクチャなどの情報収集
gcfgGet ConfigHappyDoor 情報(バージョン、C2 アドレス、USER ID など)
バックドアccmdCMD resultコマンドプロンプト、*.ps1、*.bat の実行結果
mcfgMethod Config情報流出機能別の状態(ON/OFF) Base64 文字列
fupFile Upload.Z .zip .zoo .arc .lzh .arj .gz .tgz 圧縮ファイルの収集
「User Data」パスに暗号化されたデータを保存する機能
3.1.1.主な6つの機能
SCREENSHOT(SSHT)

現在画面をキャプチャして jpg 形式で保存する。

KEYLOGGER(KLOG)

現在時刻とユーザーが入力するプロセスおよびキー情報を保存する。保存形式は以下の通りである。

キーロガーデータ
FILEMON(FMON)

以下のパスに対し、特定の条件に該当するファイルを収集して圧縮ファイルとして保存する。ファイルの収集後、転送まで完了すると(ファイル名 + 更新日時)を MD5 ハッシュ値(16Byte)で以下のパスに保存し、ファイルを転送するたびに ocl.dat ファイルの内容を確認し、同じファイルが再転送されないようにする。(ただし、更新日時を含むため、ファイルを編集するとそのファイルは転送される)

– 収集ファイルのパス:「%UserProfile%\Desktop」、「%UserProfile%\Document」、「%UserProfile%\Download」、「%UserProfile%\AppData\Local\Microsoft\Windows\INetCache\IE」
– 収集条件:拡張子(hwp, pdf, doc, xls, ppt, egg, jp*)、時間(更新日時を基準として15日以内)、ファイルサイズ(50MB 以下)
– 結果ファイルのパス:%SystemDrive%\ProgramData\ocl.dat
「fmon」機能による圧縮ファイルの例
ALARM(AUSB, AMTP)

接続されているリムーバブルディスクやデバイスのファイル、パス、名前などを収集する機能で、ausb と amtp の名前でデータを保存する。これは SetupAPI を利用、または COM オブジェクト(IID_IPortableDevice など)を利用して、リムーバブルディスク情報を収集して以下のように保存される。

収集された USB デバイスのファイルおよびパス(ausb)
MICREC(MREC)

この機能は、マイクへのアクセスを許可して音声を録音する機能である。

現在のプロセス(regsvr32)にマイクへのアクセスを登録

もしマイクが接続されている場合は音声が録音され、録音ファイルは %temp% に保存される。

– 録音ファイル:%temp%{年-月-日_時-分-秒}.wav

その後「mrec」のファイル名で暗号化されて流出する。

MTPMON(MMTP)

「mtpmon」は接続されているリムーバブルデバイスのうち「Android」を対象に MTP(Media Transfer Protocol)を通じて特定のファイルを収集する機能である。filemon(fmon)機能と同じく、ファイルの収集後、転送まで完了すると(ファイル名 + 更新日時)を MD5 ハッシュ値(16Byte)で以下のパスに保存し、ファイルを転送するたびに mci.dat ファイルの内容を確認して、同じファイルが再転送されないようにする。(ただし、更新日時を含むため、ファイルを編集するとそのファイルは転送される)

– 収集対象の拡張子:.jpg .jpeg .png .bmp .hwp .doc .ppt .xls .pdf .txt
– 結果ファイルのパス:%SystemDrive%\ProgramData\mci.dat
3.1.2. その他

この機能はバックドアを実行する前に実行されるものであり、PC 情報(osi)とマルウェアの情報(gcfg)を収集して C2 サーバーに送る。osi ファイルには OS バージョンやアーキテクチャ、サービスパックバージョンなどの情報が収集され、gcfg ファイルは HappyDoor 情報を送信する機能で UserID、C2 サーバー、特定データの送信周期など、レジストリに設定されたデータを送信する。

osi および gcfg ファイルのデータ

3.2. バックドア

HappyDoor は攻撃者からバックドアコマンドを受け取った場合、基本的に暗号化されたパケットを通じて動作する。この動作は Notepad レジストリの「Backdoor Packet Encryption ON/OFF」の値に応じて暗号化の可否が決定され、デフォルトで「1」(ON)に設定されており、これを「0」(OFF)に変更すると暗号化されないパケットでバックドアコマンドを受け取ることができる。HappyDoor は攻撃者のサーバーからパケットを受け取ると以下のようにパケットの「CMD ID」番号に対応するバックドア機能を実行する。

コマンド

HappyDoor のバックドアコマンドは以下の通りである。

CMD ID機能詳細情報
1002終了バックドア終了 
1003待機(Sleep)特定の時間(引数)メインスレッド待機(Sleep) 
1004再実行バックドア再実行 
1005アップデート新しい DLL ファイル(引数)をロード後、既存のバックドア終了 
1101コマンドライン実行引数で受け取ったデータをコマンドプロンプトで実行ccmd
1102BAT で実行引数で受け取ったデータを BAT ファイルを作成して実行ccmd
1103PowerShell で実行引数で受け取ったデータを PS1 ファイルを作成して実行ccmd
1104DLL の実行regsvr32 を利用して DLL ファイルを実行後、削除 
1105メモリ実行メモリに実行ファイル(PE)をロードして実行 
1111情報収集OS 情報(osi)および初期設定値(gcfg)、グローバル変数設定値の収集osi gcfg
1112グローバル変数関連の設定interval_cmd:バックドアコマンドの周期
interval_ssht:スクリーンショットを送る周期
ssht_height / ssht_width:スクリーンショットのサイズ
 
1121Notepad レジストリの変更HKCU\Software\Microsoft\Notepad の変更、およびすべての情報流出機能の有効化状態(mcfg)を出力mcfg
1122有効にした機能の転送すべての情報流出機能の有効状態(mcfg)を出力mcfg
1131ファイルのアップロード特定の拡張子(z、zip、zoo、arc、lzh、arj、gz、tgz)ファイルの収集fup
1132ファイルのダウンロード感染 PC に攻撃者が意図したファイルを作成
C:\ProgramData\{任意の_4文字}.tmp 拡張子で作成
(過去バージョンのファイル名:\down.db)
 
1200(暗号化された)バックドアの実行引数として受け取ったデータを RSA 個人鍵で暗号化を解除し、CMD ID に該当するバックドアを実行 
バックドアの機能一覧

上記のコマンドに使用される引数は、ほとんどが %TEMP% パスに臨時ファイル({任意の_4文字}.tmp)を作成し、コマンド結果を返す必要がある機能の場合、既存の流出パス(User Data)に暗号化されたデータを上記の結果ファイル名として保存したあと、流出する。バックドアの例は以下の通りである。

[コマンドの例]
コマンド番号(CMD ID):1101番、引数:「whoami」
– 保存パス:%AllUsersProfile%\Google\Internet Explorer\LocalData\User Data\
– データファイル名:ccmd@240319(20.29.05-407).ute1
1101番コマンドの結果(暗号化される前のデータ)

結論

ASEC では北朝鮮の支援を受けていることで知られている脅威グループの活動をモニタリングしており、最近 Kimsuky の攻撃者によるものと推定される攻撃事例を確認した。攻撃者は、主に特定の教授や特定機関などに偽装してスピアフィッシングのようなソーシャルエンジニアリング手法を使用してきた。もし添付ファイルを実行してしまった場合、これらのバックドアがインストールされ、さらなるマルウェアがインストールされる場合がある。

追加でインストールされるマルウェアは Ngrok のようなプロキシツールによってプロキシネットワーク環境を構築し、不足している遠隔操作機能を補完するための VNC マルウェアや Chrome リモートデスクトップ、そして RDP Wrapper のようなプログラムをインストールすることがある。さらには、権限昇格やアカウント情報窃取のための様々なマルウェアをインストールする履歴も確認されている。これにより、Kimsuky グループの攻撃対象となるユーザーは感染環境に存在する様々な情報を窃取されるおそれがあり、実際に証明書が奪われた事例も存在する。

ユーザーは、出どころが不明なメールの添付ファイルや Web ページからダウンロードした実行ファイルには特に注意が必要であり、企業のセキュリティ担当者は企業が使用しているソフトウェアのモニタリングを強化し、プログラムにセキュリティ脆弱性がある場合はパッチを実行する必要がある。また、OS およびインターネットブラウザ等のプログラムの最新パッチや V3 を最新バージョンにアップデートし、このようなマルウェアの感染を事前に遮断できるよう注意するべきである。

ファイル検知

  • Backdoor/Win.Iedoor.R605020 (2023.09.12.03)
  • Backdoor/Win.Utdoor.C5583075 (2024.02.03.00)
  • Backdoor/Win.Iedoor.R605020 (2023.09.12.03)
  • Trojan/Win.SysStealer.R436785 (2021.08.14.00)
  • Backdoor/Win.Akdoor.R493994 (2022.05.24.01)

IoC
MD5

  • d9b15979e76dd5d18c31e62ab9ff7dae
  • 4ef5e3ce535f84f975a8212f5630bfe8
  • a1c59fec34fec1156e7db27ec16121a7
  • c7b82b4bafb677bf0f4397b0b88ccfa2
  • 0054bdfe4cac0cb7a717749f8c08f5f3

C&C サーバーアドレス

  • hxxp://app.seoul.minia[.]ml/kinsa.php
  • hxxp://users.nya[.]pub/index.php
  • hxxp://go.ktspace.p-e[.]kr/index.php
  • hxxp://on.ktspace.p-e[.]kr/index.php
  • hxxp://aa.olixa.p-e[.]kr/index.php
  • hxxp://uo.zosua.o-r[.]kr/index.php
  • hxxp://jp.hyyeo.p-e[.]kr/index.php
  • hxxp://ai.hyyeo.p-e[.]kr/index.php

関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる