Koxic ランサムウェア、韓国国内で拡散中

Koxic ランサムウェアが韓国国内で拡散していることが確認された。今年の初めにこのランサムウェアは初めて収集されたが、ファイルのフレームワークと内部のランサムノートが変形されたファイルが、最近になって ASD インフラを通して検知および遮断された履歴が確認された。

感染すると、暗号化されたファイルの名前に「.KOXIC_[ランダムな文字列]」拡張子が追加され、各ディレクトリに TXT ファイルのランサムノートを生成する。ランサムノートのファイル名は以下の通りである。

  • WANNA_RECOVER_KOXIC_FILEZ_[ランダムな文字列].txt
図1.  暗号化されたファイルおよびランサムノートの例

最近収集されたサンプルのランサムノートは、一時期韓国国内で活発に配布されていた BlueCrab(Sodinokibi, REvil)ランサムウェアと類似している。

BlueCrab の場合、別途の Web サイトを作成し、 TOR ブラウザを使用して接続することを明示しているが、Koxic ランサムウェアは電子メールを通して連絡を誘導するといった点が異なっている。

過去に収集された Koxic ランサムウェアのサンプルの中には、全く異なる形態のランサムノートのサンプルも存在し、BlueCrab とほぼ同様の形態のランサムノートのサンプルも確認されている。コード間の類似性が見つからないという点においては、2つのランサムウェアは直接的な関連はないものとみられる。

図2. Koxic と BlueCrab のランサムノートの比較

本サンプルのランサムノートでは、ユーザーの重要なファイルをダウンロードした旨が記載されており、交渉しない場合はそのデータを外部に流出するといった内容の脅迫が含まれているが、外部への情報流出の振る舞いはなかった。

また別の特徴としては、UPX パックを隠すためにセクション名を意図的に変更していることがあげられる。UPX Trick と言われるこの技法は、UPX でパックされたファイルを操作して解析の邪魔をしたり、アンチウィルス製品の自動アンパック機能を避けるためによく使われる技法である。

図3. セクション名の変更(UPX Trick)

ランサムウェアを実行すると、本格的にファイルを暗号化する前に、以下のように様々な事前タスクを実行する。


[デバッグの確認]

デバッグをチェックする API 2つを使用し、デバッグ中の場合は現在の関数を無限ループ(再帰呼び出し)する。デバッグ中の場合、スタックオーバーフローが発生する。

図4. デバッグ検知関数


[システムレジストリの修正]

cmd コマンドを通してシステムレジストリを修正する。Defenderを終了し、通知を終了するなどの値を操作し、遠隔セッション満了時間を最大値まで引き延ばす項目も存在する。

HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxDisconnectionTime
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxIdleTime  HKLM\SOFTWARE\Policies\Microsoft\Windows\HomeGroup\DisableHomeGroup    
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\DisableAntiSpyware        
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\AllowFastServiceStartup   
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\ServiceKeepAlive 
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableRealtimeMonitoring HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableBehaviorMonitoring HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableOnAccessProtection      HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableScanOnRealtimeEnable   HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableIOAVProtection HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\HideSCAHealth         HKCU\Software\Policies\Microsoft\Windows\Explorer\DisableNotificationCenter     
表1.変更対象のレジストリ


[プロセスの終了]

次のコマンドの実行によって、特定のプロセスとサービスの終了を試みる。しかし、コマンド間の区分が「&」演算子ではなく改行処理されているため、事実上1行目の列しか実行されない。攻撃者のミスであると判断できる。

cmd.exe /c taskkill /F /IM MSASCuiL.exe
taskkill /F /IM MSMpeng.exe
taskkill /F /IM msseces.exe
表2.プロセス終了コマンド


[VSC の削除およびサービス終了]

ボリュームシャドーコピー(Volume Shadow Copy)を削除するコマンドと、多数のサービスの状態を修正するコマンドを実行する。先述の通り、1行目のみ実行され、事実上 VSC 削除の振る舞いだけが発現する。

cmd.exe /c vssadmin delete shadows /all /quiet
sc config browser
sc config browser start=enabled
sc stop vss
sc config vss start=disabled
sc stop MongoDB
sc config MongoDB start=disabled
sc stop SQLWriter
sc config SQLWriter start=disabled
sc stop MSSQLServerOLAPService
sc config MSSQLServerOLAPService start=disabled
sc stop MSSQLSERVER
sc config MSSQLSERVER start=disabled
sc stop MSSQL$SQLEXPRESS
sc config MSSQL$SQLEXPRESS start=disabled
sc stop ReportServer
sc config ReportServer start=disabled
sc stop OracleServiceORCL
sc config OracleServiceORCL start=disabled
sc stop OracleDBConsoleorcl
sc config OracleDBConsoleorcl start=disabled
sc stop OracleMTSRecoveryService
sc config OracleMTSRecoveryService start=disabled
sc stop OracleVssWriterORCL
sc config OracleVssWriterORCL start=disabled
sc stop MySQL
sc config MySQL start=disabled
表3.VSC の削除およびサービス終了コマンド


[システム情報の収集]

システム情報を収集し、%temp% ディレクトリにランダムなファイル名で作成するが、このデータを外部に送信するルーティンは見つからない。収集項目としては IP アドレス、システムアカウント情報、ディスク情報、ネットワークアダプタ情報、ハードウェア情報、OS 情報などが含まれている。

図5. 収集システム情報の例


[プロセスの優先順位変更および権限の付与]

自分自身のプロセス優先順位を「高」に変更し、プロセストークン権限を検査後に修正(追加)する。追加される権限は以下の表の通りである。

図6. プロセス優先順位の変更
SeBackupPrivilege, SeRestorePrivilege, SeManageVolumePrivilege, SeTakeOwnershipPrivilege
表4.変更対象トークンの権限


[ファイルの暗号化]

暗号化対象のリストを作成するスレッドと、実際の暗号化を行う様々なスレッドが同時に動作し、リストに存在する対象ファイルを順番に暗号化する。暗号化の過程としては、原本ファイルの名前を変更した後、ファイルのマッピング関数を使用して暗号化したデータを上書きする。この時に使用する関数呼び出しのフローは以下の通りである。

MoveFileExW – CreateFileMappingW – MapViewOfFile – [暗号化] – UnmapViewOfFile
表5.ファイル暗号化のフロー

暗号化のアルゴリズムは AES CBC モードであり、32バイトの長さのキーと16バイトの IV を使用する。

特徴的な部分としては、ファイルを暗号化する際、16バイトのブロック単位で暗号化を実行するが、最後のブロックではパディングを使用しない。そのため、ファイルの最後の部分、つまり16バイトで分けて余る部分は暗号化されないため、原本のデータがそのまま維持されている。

暗号化に関連したコードは、オープンソースである libtomcrypt をそのまま使用したものとみられる。

ファイルの暗号化に使用された AES キーは RSA 暗号化を行い、ランサムノートの下段に保存している。IV 値は、暗号化されたキーの後に平文で追加され、最終的には以下のような形態になる。

図7. ランサムノートに保存された、暗号化された AES キーおよび IV(末尾)の例

ファイルの暗号化が完了すると、ランサムノートを %TEMP% ディレクトリに生成し、メモ帳を使用して実行する。


[暗号化の例外項目]

  • 拡張子名

「.ps1.」、「rtp」など、欠点とみられる項目が存在する。

.386, .adv, .ani, .bat, .bin, .cab, .cmd, .com, .cpl, .cur, .deskthemepack, .diagcab, .diagcfg, .diagpkg, .dll, .drv, .exe, .hlp, .hta, .icl, .icns, .ico, .ics, .idx, .key, .ldf, .lnk, .lock, .mod, .mpa, .msc, .msi, .msp, .msstyles, .msu, .nls, .nomedia, .ocx, .pdb, .prf, .ps1., .rom, rtp, .scr, .shs, .spl, .sys, .theme, .themepack, .wpx,
表6.暗号化除外拡張子名
  • パス
., .., windows, System Volume Information, $Recycle.Bin, $SysReset, Config.Msi, bootfont.bin, boot.ini, ntuser.dat, desktop.ini, $windows.~bt, intel, msocache, $recycle.bin, $windows.~ws, tor browser, boot, system volume information, perflogs, google, application data, windows, programdata, windows.old, appdata, mozilla, iconcache.db, ntldr, ntuser.dat.log, thumbs.db, bootsect.bak, ntuser.ini, autorun.inf, All Users, microsoft,
表7.暗号化除外パス

AhnLab の製品群では Koxic ランサムウェアを以下のように検知している。


[ファイル検知]
– Ransomware/Win.KoxicCrypt.R533926 (2022.11.11.00)
– Trojan/Win.Wacatac.C5290617 (2022.11.04.00)
– Trojan/Win.Generic.C4963639 (2022.02.11.01)


[ビヘイビア検知]
– Ransom/MDP.Delete.M2117
– Malware/MDP.Behavior.M2771
– Ransom/MDP.Decoy.M4475


[IOC 情報]
MD5
e9fdad2df8f8b95398f3c8f27e940f5d
3c4fa896e819cb8fada88a6fdd7b2cc7
01a4208ab9d4b2cfa87ffbdef2f8ab78

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

0 0 votes
評価する
guest

0 コメント
Inline Feedbacks
View all comments