Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

针对美国智库、非盈利组织及公共部门的攻击事件

0
0

针对美国智库、非盈利组织及公共部门的攻击事件
一、前言

路透社最近报道了针对全球各类目标的一次黑客攻击活动。在路透社相关报道发表之前,微软研究人员已经在密切跟踪这个攻击组织。

根据我们传感器收集到的数据,此次攻击活动主要针对的是公共部门机构和非政府组织,如智库和研究中心等,但也包括教育机构以及石油、天然气、化学、酒店领域的私营企业。

使用 Microsoft Threat Protection 解决方案的客户能免受此次攻击影响。Microsoft Threat Protection采用了基于行为的防护机制,能够在早期阶段阻止恶意活动。 Office 365 Advanced Threat Protection 能够拦截邮件中的恶意URL,阻止基于邮件的攻击活动(也能处理首次发现的样本)。与此同时, windows Defender Advanced Threat Protection 也能通过大量告警机制揭露攻击者在攻击环节中使用的各种技术。

第三方安全研究人员认为此次攻击活动由APT29(即CozyBear)所主导,该组织与我们标记的YTTRIUM攻击组织有较大重叠。虽然分析人员非常严谨,但我们尚未找到足够的证据将此活动与YTTRIUM联系在一起。

无论如何,由于受害者身份特殊,并且我们能看到国家级攻击活动的影子,因此微软将此次威胁事件通知了数百个组织中上千个潜在的受害者。作为 Defending Democracy Program 的一部分,微软鼓励满足条件的组织参与 Microsoft AccountGuard ,这项服务能帮助容易成为攻击目标的客户免受网络安全威胁影响。

二、攻击概览

此次攻击活动于11月14日早晨开始,攻击目标似乎集中在与政策制定、政治事务或者在该领域有一定影响力的组织。


针对美国智库、非盈利组织及公共部门的攻击事件

图1. 钓鱼攻击目标分布图

虽然攻击目标遍布全球,但主要集中在美国,特别是华盛顿特区及周边区域。其他目标还位于欧洲、香港、印度以及加拿大。


针对美国智库、非盈利组织及公共部门的攻击事件

图2. 钓鱼攻击区域分布图

钓鱼邮件内容伪装成来自OneDrive的共享通知,如路透社报道中提到的,攻击者伪装成在美国国务院工作的人员身份。如果受害人点击了钓鱼邮件中的链接,就会触发攻击链,最终下载并被植入DLL后门,使攻击者能够远程访问收件人的计算机。


针对美国智库、非盈利组织及公共部门的攻击事件

图3. 攻击链

三、技术分析 投递方式

攻击活动中使用了钓鱼邮件,伪装成来自OneDrive的文件共享通知:


针对美国智库、非盈利组织及公共部门的攻击事件

图4. 钓鱼邮件内容

邮件中包含指向合法网站的某个链接,但该网站已经被攻击者成功入侵:

hxxps://www.jmj.com/personal/nauerthn_state_gov/TUJE7QJl[random string]

链接中使用的随机字符串很可能用于识别点击该链接的不同用户。然而,我们观察到的所有样本使用的都是同一个链接,指向同一个网站:

hxxps://www.jmj.com/personal/nauerthn_state_gov/VFVKRTdRSm

当用户点击该链接时,就会收到包含恶意LNK文件的一个ZIP压缩文档。一次攻击中使用的所有文件都采用相同的文件名,如 ds7002.pdf 、 ds7002.zip 以及 ds7002.lnk 。

后门安装

LNK文件为攻击的第一阶段,该文件会执行经过混淆的一个PowerShell命令,从LNK文件中释放出经过base64编码的payload,payload数据从文件 0x5e2be 偏移地址开始,大小为16,632个字节。


针对美国智库、非盈利组织及公共部门的攻击事件

图5. LNK文件中的内容

这个payload也是经过高度混淆的一个PowerShell脚本,也会被解码运行:


针对美国智库、非盈利组织及公共部门的攻击事件

图6. 解码后的第二个脚本

第二个脚本会从 .LNK 文件中提取处另外2个资源:

ds7002.PDF cyzfc.dat 命令控制

PowerShell脚本会将第一阶段DLL释放到 %AppData%\Local\cyzfc.dat ,这是一个64位DLL程序,具有一个导出函数: PointFunctionCall 。

随后,PowerShell脚本调用 rundll32.exe 来执行 cyzfc.dat 。第一阶段的命令及控制(C2)服务器地址为 pandorasong[.]com (IP为 95.216.59.92 ),连接成功后, cyzfc.dat 会执行如下操作,开始安装最终payload:

1、为第二阶段payload分配一个 ReadWrite 页面;

2、以资源形式提取第二阶段payload;

3、从第一个payload的 0xEF 偏移处提取头部信息;

4、将头部数据与从 0x12A 地址开始的资源数据拼接起来;

5、使用循环异或( ROR1 )方式,解密第二阶段payload,初始秘钥为 0xC5 。


针对美国智库、非盈利组织及公共部门的攻击事件

第二阶段payload实际上是Cobalt Strike(一个商用渗透测试工具)的一个实例,会执行如下操作:

1、定义一个本地命名管道,格式为 \\.\pipe\MSSE-<number>-server ,其中 <number> 为0到9897之间的一个随机数;

2、将payload通过XOR算法解密到一个新的 RW 内存区域,这次XOR秘钥非常简单:每4个字节使用 0x7CC2885F 来解密;

3、将这段区域设置为 RX 标志;

4、创建一个线程,开始运行paylaod。


针对美国智库、非盈利组织及公共部门的攻击事件
针对美国智库、非盈利组织及公共部门的攻击事件
针对美国智库、非盈利组织及公共部门的攻击事件

将全局数据写入管道的过程实际上是写入了第三个payload,这个payload经过XOR加密处理,加密方式与数据读取方式相同。payload解密后会得到一个PE文件,文件头为Meterpreter头。恶意软件会解析PE头部中包含的指令,将控制权移交给反射加载器:


针对美国智库、非盈利组织及公共部门的攻击事件

第3个payload加载成功后会连接C2服务器,C2服务器地址已硬编码到PE文件的配置信息区域中,而配置信息会在第3个payload运行时异或解密:


针对美国智库、非盈利组织及公共部门的攻击事件

配置信息中主要包含的是C2信息:


针对美国智库、非盈利组织及公共部门的攻击事件

CobaltStrike是一个功能丰富的渗透测试攻击,可以为远程攻击者提供各种功能,比如提升权限、获取用户输入信息、通过PowerShell或者WMI执行任意命令、侦察踩点、通过各种协议与C&C服务器通信以及下载并安装其他恶意软件等。

四、缓解措施

Windows Defender ATP 可以检测与攻击相关的已知文件系统及网络特征。此外,也会根据行为来检测LNK文件相关操作。如果看到以下告警信息,则表明当前环境中存在攻击行为:

检测到高级威胁特征 检测到与高级威胁有关的网络活动 经过签名的程序已执行低信誉度任意代码 打开可疑的LNK文件

网络防护机制可疑阻止连接到可疑域名及IP地址的行为。大家也可以使用如下 attack surface reduction (攻击面减少)规则来阻止与此次攻击活动关联的恶意行为:

Block executable files from running unless they meet a prevalence, age, or trusted list criteria

通过Windows Defender Security Center,安全运营团队可以调查这些告警信息,分析主机、用户及 攻击事件 视图,跟踪端到端攻击活动。在自动化调查及响应功能、 威胁分析 、高级搜索及 自定义检测 的帮助下,安全运营团队能够保护网络环境免受此类攻击影响。大家可以注册使用免费版 Windows Defender ATP ,体验针对高级攻击威胁的防护机制。

可以使用如下高级搜索查询语句,搜索网络环境中是否存在此类攻击活动:

//Query 1: Events involving the DLL container
let fileHash = "9858d5cb2a6614be3c48e33911bf9f7978b441bf";
find in (FileCreationEvents, ProcessCreationEvents, MiscEvents,
RegistryEvents, NetworkCommunicationEvents, ImageLoadEvents)
where SHA1 == fileHash or InitiatingProcessSHA1 == fileHash
| where EventTime > ago(10d)
//Query 2: C&C connection
NetworkCommunicationEvents
| where EventTime > ago(10d)
| where RemoteUrl == "pandorasong.com"
//Query 3: Malicious PowerShell
ProcessCreationEvents
| where EventTime > ago(10d)
| where ProcessCommandLine contains
"-noni -ep bypass $zk=' JHB0Z3Q9MHgwMDA1ZTJiZTskdmNxPTB4MDAwNjIzYjY7JHRiPSJkczcwMDIubG5rIjtpZiAoLW5vdChUZXN0LVBhdGggJHRiKSl7JG9lPUdldC1DaGlsZEl0"
//Query 4: Malicious domain in default browser commandline
ProcessCreationEvents
| where EventTime > ago(10d)
| where ProcessCommandLine contains
"https://www.jmj.com/personal/nauerthn_state_gov"
//Query 5: Events involving the ZIP
let fileHash = "cd92f19d3ad4ec50f6d19652af010fe07dca55e1";
find in (FileCreationEvents, ProcessCreationEvents, MiscEvents,
RegistryEvents, NetworkCommunicationEvents, ImageLoadEvents)
where SHA1 == fileHash or InitiatingProcessSHA1 == fileHash
| where EventTime > ago(10d)

以上规则查询的是过去10天内的安全事件,大家可以根据实际情况,修改 EventTime 的值。

五、IOC

文件(SHA-1):

ds7002.ZIP: cd92f19d3ad4ec50f6d19652af010fe07dca55e1
ds7002.LNK: e431261c63f94a174a1308defccc674dabbe3609
ds7002.PDF (PDF诱饵文件): 8e928c550e5d44fb31ef8b6f3df2e914acd66873
cyzfc.dat (第一阶段): 9858d5cb2a6614be3c48e33911bf9f7978b441bf

URL:

hxxps://www.jmj[.]com/personal/nauerthn_state_gov/VFVKRTdRSm

C&C服务器:

pandorasong[.]com (95.216.59.92) (第一阶段C&C服务器)

Viewing all articles
Browse latest Browse all 12749