1. 简介
2019年,Orange CERT CC(CERT Orange)团队检测到针对非洲银行和金融机构的网络钓鱼活动,并调查了被要求帮助管理多起IT安全事件的一个组织报告的周末期间可疑的银行交易记录。调查期间,安全分析人员迅速确认资金被提取的异常交易ATM机。安全分析人员将这次袭击与同一时间进行网络钓鱼活动的攻击者联系起来,并重建了事件时间线。CERT团队开始搜集取证磁盘镜像,并支持金融机构自己的安全团队进行事件处理。进一步的调查显示,该金融机构的内部基础设施已经被入侵,攻击者控制了支付网关的计算机。进一步分析表明,攻击很可能是从带有远程访问木马(RAT)和其他工具(密码嗅探器和转储器)的钓鱼邮件开始。被盗凭据已被用于获得域控制器和办公计算机的超级管理员权限。
与此同时,另一家公司报告声称:在2019年5月被使用相同技战术的攻击者攻击,在攻击期间观察到的情况和上文针对非洲银行和金融机构的攻击相同。在受到攻击之后,相应组织受影响系统的安全已得到加强。据观察,2019年夏季期间攻击者还试图取得受影响组织的后台系统的控制权,之后恶意活动似乎有所放缓。
CERT团队的调查证实,尽管2019年晚些时候相应受害组织采取了一些应对措施,但是攻击者找到了一种可以回到受影响组织的一些系统中的方法,并试图再次使用同一银行后台系统进行欺诈操作,虽然最终失败了。此外,CERT团队还发现了未知攻击者控制的命令与控制服务器(C&C)的域名和IP地址。
2020年期间,还有另一些被该攻击者针对的其他非洲组织,这表明攻击者正在扩大他们的足迹。相同的TTP也出现在不同国家的公司的安全事件中。检查所有已知的TTP,CERT观察到一种模式:攻击者以被攻击组织内的特定团队为目标。2020年5月,CERT请求Group-IB威胁情报小组帮助其完成调查并更好地了解攻击情况,但是Group IB已经单独跟踪了这个威胁组织自2019年下半年以来的活动。
最初,在分析这个威胁组织时,Group-IB威胁情报小组将攻击者分为位于非洲的两个不同的组织。在收到CERT团队在初始事件响应(IR)期间获得的有关攻击者的IP地址、域名和样本之后,Group-IB认为这个威胁组织是一个讲法语,有经济动机的黑客集团。Group-IB的研究人员在研究一封电子邮件后将该团伙命名为OPERA1ER,因为该团伙经常使用该名称来注册他们的域名。
OPERA1ER的早期活动由Tom Ueltschi从瑞士邮政公司中发现,并被命名为DESKTOP组织。2020年10月,全球银行间金融电信(SWIFT)协会也给出了该组织的一个名字——Common Raven。
在调查期间,Grouup-IB的研究人员发现OPERA1ER基础设施的三个用于管理发生在非洲的攻击的后端。由于OPERA1ER独特的恶意软件部署方案,Group-IB的研究人员能够识别OPERA1ER在2019至2021年间实施的至少30次攻击。在这些攻击事件中,该组织成功入侵银行的支付和互联网系统。OPER1ER至少能够访问两家银行的SWIFT(用于沟通金融交易的细节)消息接口。
通过基本的“现成”工具包,OPER1ER自2019年以来至少获利1100万美元。但实际被盗金额可能超过3000万美元,因为一些公司并没有披露损失金额。
根据事件响应过程和威胁情报活动中获得的信息,本报告描述的是OPERA1ER威胁组织使用的完整的TTPs,最新工具,以及涉及的杀伤链。
在本报告的最后,网络安全团队可以找到工具确定攻击的属性并跟踪攻击者的基础设施。本报告包含狩猎技巧和入侵指标(IoC),可用于防止OPERA1ER的攻击并采取主动防御措施。
表 1 主要发现
名称 | OPERA1ER |
动机 | 经济动机 |
目标系统 | 支付网关,SWIFT交易系统。 |
活动 |
|
攻击次数 | 自2019年,至少30次成功的攻击活动。 |
攻击者地理位置 | 科特迪瓦、马里、布基纳法索、喀麦隆、孟加拉国、加蓬、尼日尔、尼日利亚、巴拉圭、塞内加尔、塞拉利昂、乌干达、多哥、阿根廷。 |
受害者 | 金融服务公司、银行、移动银行服务和电信公司。 |
被盗金额 |
|
语言 |
|
初始访问 |
|
从初始入侵到损毁系统的时间 | 3到12个月。 |
武器库 |
|
特殊性 |
|
图 1 OPERA1ER活动摘要
2. 攻击活动时间线和位置
研究人员汇编不同调查案例的调查结果,以提供OPERA1EER相关攻击事件的时间线。
不带$符号的案例是Group-IB对OPERA1ER入侵IT系统的发现,带$符号的是欺诈行为。并非所有被预警的机构都证实收到了损失,然而根据其他消息来源,攻击者通过SWIFT(一般可信)和支付系统(高度可信)成功牟利。
时间线上的一些事件实际上属于同一个组织,因为他们不止一次被攻击者攻击。迄今已被确认,至少15个不同受害者的基础设施遭到黑客攻击。
图2 OPERA1ER攻击活动的时间线和地理位置
3. 初始访问
与许多APT组织的活动相同,对受害组织的初始访问从鱼叉式钓鱼邮件开始。除了常见的钓鱼邮件欺诈主题(如假发票或邮寄通知),研究人员观察到许多与受害组织相关的欺诈主题,例如:政府税务局的通知,BCEAO(西非国家中央银行)或相关电子货币领域主题。
2020年上半年发现的钓鱼活动中使用的邮件主题:
“CNPS重要贷款”
“门户e-Imports FACTURE”
“进口总局”
“AVIS DE RECHERCHE标准杆数LA BCEAO/BCEAO研究通知!!!
“注意GIMAC服务”
“亚洲开发银行正在招聘”
“Swift MT103”
“非洲发展银行招聘”
下面是一个使用非常规主题链接的鱼叉式钓鱼邮件样本:“GIMAC服务”(非洲中部银行间货币集团)目前(2020年4月)刚刚在几个非洲国家推出移动端和银行的电子货币功能。此外,这封电子邮件仅针对同一国家的18名与相关金融和VIP服务有关的用户。
图3 带有Google.Drive链接的钓鱼邮件
大多数钓鱼邮件都是用法语写的,然而研究人员还发现了用英语写的电子邮件。这些电子邮件包含到Google Drive、Discord服务器,被劫持的合法网站和恶意服务器的链接,还有一些电子邮件包含恶意软件的zip压缩包附件。
图4 带有恶意域名链接的钓鱼邮件
OPERA1ER利用了多个知名恶意软件的有效载荷以获得初始访问,通过OPERA1ER在2019至2020年的活动能够观察到以下有效载荷:NanoCore、H-Worm(HoudiniWorm)、WSH Rat、Remcos、Adwind或QNodeJS。
NanoCore和H-Worm似乎在2019年之前一直被OPERA1ER使用,但在2020年被其他恶意软件家族逐渐取代。
通过钓鱼邮件中的附件或恶意链接将有效载荷传递给受害者。在大多数情况下,有效载荷是一个包含VBS(Visual Basic脚本)、JAR或SCR的相关文件的zip压缩包,恶意文件的名称相同但扩展名不同。
OPERA1ER使用的钓鱼邮件的附件的文件名称如下:
FACTURE_COTISATION_CNPS.zip
BECAO.zip
e-Impots FACTURE.zip
Note de service GIMAC.zip
Fiche de poste.zip
NOTE DE SERVICE 17-2020 .pdf.zip
SWIFT-103.pdf.zip
4. 载荷投递
这些钓鱼邮件在载荷投递阶段最有趣的事情之一是:电子邮件标题中邮件ID之间的共性。如瑞士《邮报》的Tom Ueltschi在关于DESKTOP集团的研究中写道,这个APT组织似乎使用Windows主机——也可能是虚拟机名用作仿冒电子邮件的默认主机名,如:DESKTOP-8652N1S,DESKTOP-7U3H8EU。
图5 OPERA1ER发送的钓鱼邮件的邮件抬头
OPERA1ER的不同攻击活动的钓鱼邮件中出现了上述主机名称,此外研究人员还观察到攻击者使用相同的服务器托管他们的C2服务器和工具集。在事件响应期间受到攻击的网络上,于 Windows日志中可以观测到这些主机名和横向移动的情况。
研究人员还注意到OPERA1ER广泛使用SendGrid(https://sendgrid[.]com/) ,以及像mail[.]groupechaka.com之类被劫持的邮件基础设施,而且至少从2020年第一季度就开始使用该基础设施至今。
5. 基于跳板的内网攻击
相比于标准版的杀伤链模型,本文第五部分使用了Pivoting一词描述在载荷投递之后,OPERA1ER以“失陷”主机作为支点(控制核心)进而展开对内网中其它主机的入侵,所以译为“基于跳板的内网攻击”。
一旦部署了初始RAT,攻击者就会分析“失陷”的计算机。当包含敏感信息的计算机被感染时,Metasploit Meterpeter或Cobalt Strike 信标就会被下载并自启动。
有趣的是,OPERA1ER在横向移动阶段同时使用这两种载荷,而且控制权会在Metasploit Meterpeter和Cobalt Strike信标之间相互转换。在不同银行发生的至少两起事件中,攻击者在“失陷”的基础设施中部署了Metasploit服务器,但是却被攻击者用于攻击其他银行和组织。
图6 在银行中部署的带有Metasploit的FTP服务器(由Shodan提供)
图7 银行FTP上的Metasploit证书(由Shodan提供)
在至少一个受害组织中,攻击者使用了部署在受损的基础设施中的防病毒更新服务器作为跳板机进行内网攻击。
6. 提权
在信标被部署后,攻击者下一步的目标是寻求对受害主机的持久访问。为此,攻击者会费尽心思获取本地管理员权限。
攻击者会使用多种技术进行提权操作。例如:
绕过UAC fodhelper
滥用令牌复制技术
扫描系统以查找本地LPE漏洞,扫描脚本为(https://github[.]com/rasta-mouse/Sherlock): powershell Find-AllVulns。
扫描器寻找的目标如下:
MS10-015: User Mode to Ring (KiTrap0D)
MS10-092: Task Scheduler
MS13-053: NTUserMessageCall Win32k Kernel Pool Overflow
MS13-081: TrackPopupMenuEx Win32k NULL Page
MS14-058: TrackPopupMenu Win32k Null Pointer Dereference
MS15-051: ClientCopyImage Win32k
MS15-078: Font Driver Buffer Overflow
MS16-016: ‘mrxdav.sys’ WebDAV
MS16-032: Secondary Logon Handle
MS16-034: Windows Kernel-Mode Drivers EoP
MS16-135: Win32k Elevation of Privilege
CVE-2017-7199: Nessus Agent 6.6.2 - 6.10.3 Priv Esc
此外攻击者还使用了COMahawk漏洞:https://github.com/apt69/COM[a]hawk利用两个漏洞(CVE-2019-1405和CVE-2019-1322)执行命令提升用户权限。
在x64系统上,攻击者会使用Erebus LPE框架中包含的漏洞(https://github.com/DeEpinGh[0]st/Erebus)。
攻击者一旦发现漏洞,就会将适当的漏洞利用程序上传到受害系统并执行。
为了提升权限,攻击者使用了以下额外技术利用LPE漏洞:
sccreate “WindowsUpdate” binpath= “cmd /cstart “C:\\Windows\\system32\\cmd. exe””&&sc config “WindowsUpdate”start=auto&&netstart WindowsUpdate
regadd “HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\ImageFile Execution Options\\Utilman.exe” /v Debugger /t REG_SZ /d “c:\\Windows\\system32\\cmd. Exe
通过这个技巧,攻击者可以使用受害主机的系统权限,最终攻击者能够以SYSTEM身份访问受害主机。
7. 持久化
在提权操作之后,攻击者使用各种方式使信标和RAT持久化。
攻击者使用的第一个持久化机制是预定一个启动任务,每5分钟启动一次攻击工具。
攻击者还会启动AnyDesk(https://anydesk.com/)控制一些机器(AnyDesk是相关受害机构内部的一个合法远程管理工具)。
攻击者一旦获得一些服务器的访问权限之后,就会启动端口转发软件ngrok(https://ngrok.com/)在服务器上建立RDP报文传输转发隧道,然后他们可以通过ngrok云服务与这些服务器端口建立RDP连接。作为一种持久化手段,他们使用了NSSM(https://nssm.cc/)封装ngrok(反向代理工具)并将其作为服务启动。攻击者将ngrok与包含认证令牌和要转发的端口的YAML配置文件一起使用,这使得命令非常具体,因此甚至可以发现正在运行的被重命名之后的ngrok服务。
典型的ngrok命令:
“C:\\Intel\\ngrok.exe”start--all --config=”C:\\Intel\\config.yml”
图8 使用NSSM封装的NGROK持久化服务
除了这些工具的使用,攻击者的主要策略之一是使用VPN和获得的凭据来访问和管理反向代理服务。反向代理允许攻击者直接连接到目标网络来执行恶意行为。
研究人员还观察到攻击者通过创建注册表项实现的持久化(HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\Svchost)。此外,在提升权限后,攻击者会滥用Windows管理工具卸载AV(反病毒程序)。
图9 关闭AV的WMI命令
8. 侦察和凭据获取
一旦部署了信标并提升了权限之后,攻击者便开始对内网进行侦察。攻击者使用Advanced IP扫描工具在内部网络中进行大规模扫描,收集IS信息,易受攻击的开放TCP端口服务,网络共享服务和工作站名称。
出于相同的目的,攻击者还使用portscan命令:
图10 portscan命令
在横向移动阶段,攻击者的主要目标是获得对域控制器的访问权限。为了实现这一点,他们使用了几个工具。
PowerSploit套件(https://github[.]com/PowerShellMafia/PowerSploit)用于收集有关AD(活动目录)的更多数据。此项目包含几个powershell模块主要在入侵测试期间使用,以测试IT基础设施的安全性,PowerView模块是被大量使用的模块。
图11 GitHub上的PowerView说明
以下命令被执行:
Get-NetFileServer:获取当前域使用的用户文件服务器列表。
Invoke-UserHunter:在本地域中查找指定用户的计算机。登录,并检查当前用户是否对找到的计算机具有管理员权限。
Get-CachedRDPConnection:查询所有保存进入特定计算机的RDP连接。
Find-LocalAdminAccess:查找域中当前用户具有管理员访问权限的计算机。
Get-GPPPassword:检索明文密码和其他通过组策略首选项推送的帐户信息。
借助这些脚本,攻击者可以获得目标网络的服务器列表,密码和枚举的RDP连接以供进一步使用。攻击者使用的另一种工具是Spray-AD(https://github[.]com/outflanknl/Spray-AD):
图12 GitHub上的SprayAD描述
在该工具的帮助下,攻击者根据用户列表获取本地计算机中保存的密码。
攻击者使用mimikatz获取本地计算机上登录用户的哈希,Mimikatz是github上提供的开源工具:https://github.[com]/gentilkiwi/mimikatz/wiki。研究人员还发现攻击者使用可执行二进制文件,使用PowerShell特定内存版本的PowerSploit模块。自2020年以来,攻击者使用Cobalt Strike框架,通过信标使用Mimikatz命令:run mimikatz’s sekurlsa::logonpasswords,hashdump
研究人员还观察到Sysinternals套件中的一些工具的用法(如AdExplorer)。
攻击者分析了主机所在的域,他们使用BloodHound收集有关活动目录环境的详细信息,以便识别域上的攻击路径。
图13 BloodHound工具介绍
此外,攻击者还使用其他工具拦截密码和RDP会话:
n键盘记录器https://www.logixsoft[.]com:能够记录键盘上键入的所有内容,活动会话或应用程序的屏幕截图。
Nirsoft远程桌面PassView:
https://www.nirsoft[.]net/utils/remote_desktop_password.html:通过.RDP文件中的Microsoft RDP连接显示存储的密码。
Rdpthief:https://github[.]com/0x09AL/RdpThief
Safetykatz:https://github[.]com/GhostPack/SafetyKatz
Hivejack:https://github[.]com/Viralmaniar/HiveJack
Logonscreen:假登录屏幕
SharpWeb:https://github[.]com/djhohnstein/SharpWeb检索保存的Google Chrome、Firefox、Internet Explorer和Microsoft登录会话。
为了在键盘记录器工作时强制用户输入凭据,攻击者会通过执行命令rundll32.exe user32.dll,LockWorkStation锁定工作站,然后执行mimikatz’s misc::memssp命令。
攻击者使用的武器库是常规的,且没有用特殊手段来隐藏这些攻击工具。
9. 横向移动
OPERA1ER通过Cobalt Strike执行Invoke-EternalBlue命令,此命令利用MS17-010补丁的安全问题。有趣的是,在2021这些漏洞仍然存在并被攻击者经常利用。
在2019年的第一季度,攻击者使用RDP、PSExec、PowerShell远程处理和WinRM等经典TTP战术进行横向移动。
在2020年的第二季度,攻击者使用SMB信标和Cobalt Strike框架进行横向移动。他们在横向移动阶段使用的技术似乎很谨慎,这使得检测变得困难。此外,攻击者使用多个跳板以隐藏原始服务器。
当攻击者使用Cobalt Strike框架时,他们执行用于横向移动的PsExec_psh命令,然后在目标主机上创建(event_id 7045)服务,并运行base64编码的命令(SMB信标)。
图14 Windows事件日志
运行Cobalt Strike的以下命令以在远程主机上生成新的信标:
jump psexec_psh
jump psexec
jump psexec64
jump winrm64
jump winrm
通过解码不同的base64有效载荷,研究人员使用相同的命名约定来标识命名管道(\\\\.\\pipe\\status_43a3,\\\\.\\pipe\\status_8dd6,\\\\.\\pipe\\status_70f5...)。
10. 域管理员
攻击者创建了自己的域管理员帐户,用于之后访问受害基础设施和进行横向移动。
net user /domain Admins Sb021015 /add
net group /domain “Domain Admins” Admins /add
net group /domain “RDP_Admin” Admins /add
net localgroup Administrateurs guichet6 /Add
net user Update Sb021015 /add
net localgroup Administrators Update /add
net localgroup “Remote Desktop Users” Update /add
使用上述命令创建了以下用户:
Admins
Update
guichet6
Snoopy123
11. 达成目标
本部分将重点介绍OPERA1ER如何了解电子货币后端操作,如何获取目标凭证,最后如何逃避安全系统的检测。
(1)长期间谍活动
了解机制以及后端操作需要如下所述的特定知识:需要识别参与过程的关键人员,保护机制,后端平台操作和终端用户操作(现金提取)。
攻击者可能已经掌握了部分知识(内部人员泄密,或者攻击者自己调研获取)。该假设基于以下事实:
首次入侵与最终行动之间有将近1年的时间。
大量使用间谍工具,如NanoCore屏幕间谍技术和Stas"M*的RDP Wrapper Library (https://github[.]com/stascorp/rdpwrap)隐藏RDP会话。
由于研究人员分析的依据是在第一次入侵近一年后收集的证据,因此不能确定该假设一定为事实,然而事件的时间线表明攻击者花了很多时间准备和计划这次行动。
(2)后端凭据获取
被攻击者用于转账和现金提取的电子货币后端有自己的身份和认证目录。用户的登录与用于活动目录的登录身份验证机制不同。后端为用户访问提供了web HTTPS前端,使用登录密码验证。
正如将在下文描述的,攻击者需要三种具有不同配置文件的不同账户进行欺诈操作。一旦确定了目标账户,攻击者就会劫持相关用户的机器并安装NanoCore RAT客户端。NanoCore提供了开箱即用的键盘记录功能,被攻击者用来窃取后端用户的登录名和密码。
为了窃取后端凭据,攻击者在受害者网络的Windows服务器上安装了专用的“预置模式”的NanoCore C2服务器。此NanoCore C2服务器在欺诈行为一周前被部署,而且似乎只用于特定任务(即后端凭证窃取)。
对该主机的分析表明,攻击者在部署恶意软件当天和欺诈行为前的最后两天访问了keylog文件记录。研究人员没有确定本地C2部署的具体原因。其中一个假设是,攻击者希望增加和保护C2可用性,以确保成功获取凭据。最终的欺诈操作需要与几个参与该领域的人一起进行大量准备。
(3)银行欺诈操作
电子货币平台有几个系统控制来预防欺诈和其他滥用。主要控件之一是电子货币交易的访问权限级别控制。这适用于用户层次结构中的每个级别,从客户到经销商/合作伙伴和操作员交易,用户通常不允许拥有两个或更多级别的访问权限。
例如,分销商购买从操作员转售给最终用户的电子货币股票通常需要不同渠道管理员(CHADM)的授权级别。在收到分销商的购买订单后,购买请求由一个渠道管理员(CHADM)使用他的个人登录凭证。然后,此请求将提交给另一个CHADM(使用其个人登录凭据)用于一级审批,在订单付款完成后收到银行账户并确认,最终通过另一个CHADM批准,然后将订购的电子货币记入经销商账户。这是职责分离的基础,这一原则在所有银行活动中都非常普遍。
此外,电子货币平台还采用三层结构,包括允许的不同类型的账户进行不同类型的交易,下图为快速图解:
图15 支付系统方案
类似地,电子钱包分为3个不同的组或账户级别,分别是:
操作员账户
n渠道用户账户
n认购人账户
货币流向如图16所示:
图16 货币流向图
在银行欺诈案中,一旦攻击者获得了访问权限,就会使用上文所述的各种攻击,他们设法读取(通过键盘记录程序感染工作站)和窃取各种负责电子货币在系统中移动/转移的启动、批准级别1和批准级别2的各种关键操作员用户的登录凭证(登录详细信息和密码)。攻击者针对的是包含大量电子货币的操作员账户,然后使用被盗凭证将电子货币转入他们所控制的渠道用户账户,此后将被盗资金转移到一些金钱mule身上。最后,资金通过ATM网络以现金形式从系统中提取。显然,攻击和盗窃资金是可能的,因为攻击者设法获取对系统的不同级别的访问权限(通过窃取各种操作员用户的登录凭证)。
攻击者使用了各种策略使欺诈得以高效进行。其中包括使用专门设计的API,用于从运营商账户进行批量借记和向渠道账户贷记,并自动执行USSD命令,将被盗资金从渠道账户转移到mule账户,以备后续套现,图17是攻击步骤图解:
图17 攻击步骤图解
攻击者首先通过搜索支付系统的账户数据库来识别具有高价值的目标账户。然后,他们将这些高价值账户的资金转移到他们控制的少数账户。攻击者多次重复交易,以确保每笔交易都在系统允许的范围内。一旦高价值账户被清空,他们将赃款分配给大量mule账户,用于从自动取款机和/或销售点取款。
或者,攻击者可以将赃款发送到另一个国家的同伙的账户,然后通过当地的mule网络提取赃款。研究人员还追踪了攻击事件的时间线,如图18所示:
图18 攻击行动时间轴
在一个案例中,一个由400多个mule账户组成的网络被用来快速套现被盗资金,这些资金大多在一夜之间通过ATM机完成。很明显,这次袭击是非常复杂的、有组织的、协调的,并且经过了很长一段时间的策划。
mule是用于实施欺诈最后一步的账户(提前3个月招募),包括新的和旧的账户。一部分mule账户是使用门户网站在电子货币平台上新激活的,研究人员怀疑这些账户是由攻击者或他们的同伙认购的。该门户允许用户在提交、检查和验证所有完整的KYC要求之前,开立一个具有有限KYC要求的小型账户,届时账户将被完全分开,交易量、价值和余额限制更高。在欺诈发生之前,大多数新账户都没有注册任何电子货币交易。
还有很多账户似乎是由真正的用户开设的,并且合法运营,直到某个时候进入了休眠状态。此后,这些账户被重新激活并用于欺诈。最后,研究人员发现一些数字钱包通过更换SIM卡(通常称为SIM交换)被找回的案例(研究人员无法确定这是否是欺诈活动的结果)。
关于第二阶段攻击中使用的渠道用户帐户,这些类型的账户通常分配给分销渠道中的注册分销商/次级分销商、零售商等。攻击者设法从顶级知名分销商那里获得了一些未使用的账户,这些分销商没有参与任何欺诈活动,因此攻击者可能破坏了这些分销商的零售代理,以获取未使用或休眠的渠道用户帐户,或者零售代理和攻击者之间存在某种勾结。在此之后,所有未使用和/或休眠的渠道用户帐户都已从系统中清除。
12. 技术焦点
Orange CERT-CC团队与Group-IB分享了一些使用SIEM轻松检测SMB 信标的技巧,以及Auto-It加壳程序中发现的特定代码,这是opsec失败的一个很好的例子。
(1)SMB 信标
攻击者使用在渗透测试期间红队使用的软件,即Cobalt Strike框架,该框架用于在受损主机(工作站和主要是域控制器)上部署一些“侦听器”。为了部署这些侦听器,该框架提供了一些技术,如SMB、http或DNS信标。攻击者使用了大量SMB信标,允许攻击者在受损的基础设施中从服务器到服务器进行控制旋转攻击。SMB信标具有淹没在Microsoft网络传统的SMB流量中的优势,这使得检测更加困难。
图19 CS中的SMB信标部署
对攻击行为的检测方式之一是:监控当攻击者通过框架执行横向移动时生成的Artifact Microsoft EventID 7045服务,该服务会创建基于base 64编码、以JaBz模式开始的命令。
使用Cyberchief Recipe对Cobalt Strike Beacon进行去混淆处理,并获得管道状态名称:
图20 使用PS脚本的CS stager持久化
第二个检测方案是部署Sysmon以跟踪:任何绑定到SMB套接字的Cobalt Strike信标使用的命名管道。使用sysmon可以跟踪以下命名管道:
相关事件ID 18(管道连接)
事件ID 3(检测到网络连接)。
检测逻辑:通过在不到1分钟内跟踪端口445上的EventID=18和EventID=3以及来自同一主机名的两个事件。
(2)Autolt 加壳程序
攻击者广泛使用相同的加壳程序来保护其有效载荷。该加壳程序用于保护通过邮件发送的第一阶段有效载荷,但也用于在新的受损主机上的目标网络内安装RAT,图21为RAT部署流程图:
图21 RAT部署流程
图22中的示例中可自动提取的CAB文件使用IExpress Microsoft实用程序构建。被Iexpress修改生成的PE文件可以通过修改PE头中的图标和版本信息模拟已知的应用程序,如VLC、Java、Regedit或TeamViewer。
图22 RAT样本的Pestudio输出
攻击者使用一种非常简单但有趣的技术来试图规避端点解决方案防御机制。原始CAB文件大小大多在1到3 MB之间,但提取的文件的总大小超过115 MB。
图23 CAB存档的内容
Autolt加壳程序通过在每行代码之间插入带有随机UTF16字符的相同块注释来混淆AutoIt脚本。插入的块大小约为0x4A300字节。考虑到该数据块在文件中重复了大约400次,它允许压缩算法以超过100的比率压缩文件。研究人员认为,除了混淆AutoIt脚本之外,该加壳程序的创建者可能还认为,它可以规避端点安全解决方案的检测。
AutoIt脚本变量在每个示例中不同:AutoIt解释器文件(xufzhfxy.exe)、AutoIt脚本源文件(xlltlfu.gla)、加密有效载荷(sayp.jee)和RC4加密密钥。
图24 Autolt加壳程序代码片段一
加壳程序将把RegSvcs.exe(Microsoft.NET Services安装实用程序)从Windows目录复制到%USERPROFILE%目录,而不是将有效负载注入正在运行的进程或从磁盘启动已知二进制文件。该文件将被重命名并以挂起状态启动,以在最后一步中执行注入。
图25 Autolt加壳程序代码片段二
有效载荷的解密是通过在内存中加载RC4汇编代码完成的,并由CallWindowProc从user32.dll调用,如图26所示:
图26 Autolt加壳程序代码片段三
无法使用strings函数从脚本文件转储RC4加密密钥,因为密钥由随机的UTF-16字符组成(–e l选项仅转储与零交织的ASCII字符),如图27所示:
图27 Autolt加壳程序代码片段四
此外,存储在文件中引号之间的密钥的十六进制值不能直接用于解密有效载荷。加壳程序的开发人员使用带有DllCall和passkey的AutoIt RC4函数作为str参数,而不是wstr,因此AutoIt将尝试将UTF16字符串转换为ANSI。
原始提取的二进制密钥(30个UTF16编码字符):
图28 原始密钥
转换后生成的RC4加密密钥(30 个ANSI字符):
图29 转换后的RC4密钥
这个错误的结果是密钥随机性的巨大损失,因为在大多数情况下,字符将被转换为3F,即“?”。这是opsec在错误复制和粘贴代码后失败的一个很好的例子:
https://github.com/BlizD/AutoIT/blob/master/RC4.au3
研究还发现了与以上完全相同的AutoIt过程注入函数:
https://pastebin.com/BgPEXkqw
13. 基础设施
(1)C&C服务器
大多数C&C服务器域名都是在免费动态DNS服务上注册的。攻击者最喜欢的一级域名是duckdns[.]org、ddns[.]net、zapto[.].org、hopto[.]org。
OPERA1ER还使用专用域名,用于与目标地区或兴趣相关的主题,如afrikmedia[.]info、senegalsante[.]org、coris bank[.]fr、bdm sa[.]fr、banquealtantique[.]net。
OPERA1ER还注册了两个特定的域名****netad[.]com和****netad[.]ci,试图向目标组织隐藏其恶意活动。****NETAD是非洲受害者之一的活动目录内部域名。
图30 Group-IB将OPERA1ER的C2服务器连接在一起的图像
(2)托管服务
在大约1年的时间里,研究人员监测了已识别域名的DNS记录,观察到以下行为:
大多数域名都托管在AS“BLIX–Netbouncer UK1”和“www.portlane[.]com-Frooynet Sweden”的代理服务之上。相关的VPN提供商似乎是“AzireVPN”和“FrootVPN”,它们都向客户提供加密货币支付和“no-NAT”IP。
DNS A记录更新的频率每月在2到10次之间变化,有些域名比其他域名更容易更新。
值得注意的是,在短时间内,一些A记录被更新IP地址,这似乎是GTHOST(ASN 63023-GTHOST-Edelino Commerce Inc.)或Serverion(ASN 213035-Serverion B.V.)等主机提供商的一部分。
在借助Group-IB Graph分析基础架构的过程中,注意到C&C同时托管Metasploit和Cobalt Strike框架。此外,一些服务器还托管RAT的C&C面板,如图31所示,my1empire.duckdns[.]org指向108.62[.]49.249。
图31 Group-IB关于OPERA1ER服务器的图输出
根据Group-IB关于OPERA1ER服务器的图可知,服务器在端口777上托管Metasploit和CS Team服务。然而,还有许多其他端口处理传入的RAT连接。
攻击者仅部署了5台服务器,所有框架和CS团队服务器都在端口777上。但通过开放的非公共端口数量进行筛选后,仅剩下三台:
176.9.193[.]5
108.62.49[.]249
154.44.177[.]192
14. 结论
这份威胁报告揭示了网络犯罪分子使用“现成”工具可能造成的损害。尽管如此,通过缓慢而小心地缓慢接近目标系统,他们在不到三年的时间里成功地在世界各地实施了至少30次袭击。许多公司都遭到了两次攻击,这表明了让经验丰富且有能力的DFIR团队处理事件以避免重复黑客攻击的重要性。
OPERA1ER的武器库中没有零日漏洞,攻击通常利用三年前发现的漏洞。相关组织和机构有足够的时间来更新基础设施和安装安全补丁,从而使攻击者的工作大大复杂化,但相关组织往往忽视了这一基本的安全实践。
OPERA1ER可以为长达一年的攻击做好准备,研究组织的内部网络,了解数字银行系统是如何设计的,并计划取款。这段时间也足以识别网络中的异常情况,并采取措施将事件定位。
15. 威胁检测技巧和建议
这些最佳实践建议将帮助相关组织避免破坏性攻击:
检查基础设施,查看本报告中提供的失陷指标。
利用外部网络威胁情报解决方案,提高对组织相关网络威胁的认识.
使用恶意软件检测平台分析所有传入的电子邮件。
检查端口777和1600上的传出的流量。
进行基础设施审计,以确定周界内的RAT、Metasploit Meterpeter和Cobalt Strike信标。
配置域控制策略以加密内存中的密码。
及时更新操作系统并安装安全补丁。
限制不需要的PowerShell,监视可执行脚本,特别注意powershell.exe进程的参数或Cobalt Strike、Metasploit、CrackMapExec等典型参数中的长base64编码字符串。
监视域内的所有帐户。
附录1 攻击指标
攻击指标详细列表涉及数量较多,请点击阅读原文查看。
参考链接:https://gibnc.groupib.com/s/Mnr56etpWHQdiFQ/download/Group-IB_RPRT_OPERA1ER_EN_full.pdf
编辑|林飞、刘畅
审校|何双泽、金矢
本文为CNTIC编译整理,不代表本公众号观点,转载请保留出处与链接。
声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。