APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

Stella981
• 阅读 519

译者:知道创宇404实验室翻译组
原文链接:https://quointelligence.eu/2020/09/apt28-zebrocy-malware-campaign-nato-theme/#_ftnref1

摘要

  • 8月9日,QuoIntelligence检测到一个正在进行的APT28活动,该运动很可能在8月5日就开始了。
  • 攻击中使用的恶意软件是Zebrocy Delphi版本。第一次提交时,所有的工件在VirusTotal上的反病毒(AV)检测率都很低。
  • 在发现时,法国托管的C2基础设施仍在运行。
  • 该恶意活动以北约即将举行的培训为诱饵。
  • 该恶意活动针对的是阿塞拜疆的一个特定政府机构。攻击者也有可能以北约成员或其他参与北约演习的国家为目标。
  • 分析揭示了与ReconHell / BlackWater攻击的有趣关联,我们在8月发现了这一关联。
  • 我们将调查结果报告给了法国当局以清除C2,并向北约进行了报告。

介绍

8月9日,QuoIntelligence向其政府客户发布了一份关于有关针对北约成员(或与北约合作的国家)政府机构的(又名Sofacy,Sednit,Fancy Bear,STRONTIUM等)的警告。我们发现了一个上传到VirusTotal的恶意文件,该文件最终删除了Zebrocy恶意软件并与法国的C2通信。我们发现后,将恶意C2报告给了法国执法部门。 Zebrocy是APT28(也称为Sofacy)使用的恶意软件,在过去两年中,多家安全公司[1][2][3][4][5][6]报告了这种恶意软件。 最后,我们得出结论,这次袭击始于8月5日,至少针对位于中东的一个政府实体。但是,北约成员极有可能也观察到了同样的袭击。

技术分析

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

乍一看,该示例似乎是有效的JPEG图像文件:

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

事实上,如果文件改名为JPG,操作系统将显示欧洲盟军最高司令部(SHAPE)的徽标,即位于比利时的北约盟军司令部行动部(ACO)。

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

然而,进一步的分析显示,这个示例有一个连接的Zip文件。这项技术之所以有效,是因为JPEG文件是从文件的开头解析的,而有些Zip实现则是从文件的末尾解析Zip文件(因为索引就在那里)。

这种技术也被攻击者用来逃避AVs或其他过滤系统,因为他们可能会把文件误认为JPEG文件而跳过它。有趣的是,为了在用户点击后触发Windows文件的解压,需要满足以下条件:①文件必须正确命名为.zip(x)。②文件需要用WinRAR打开。如果目标受害者使用WinZip或默认的Windows实用程序,文件将显示一条错误消息,声称该文件已损坏。

解压附加的ZIP文件后,将删除以下两个示例:

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

考虑到诱饵使用的是北约图像,攻击者可能选择了文件名以利用即将在2020年10月举行的北约课程。此外,Excel文件(XLS)已损坏,不能由Microsoft Excel打开,它似乎包含了参与“非洲联盟索马里特派团”军事任务的军事人员的信息。这些信息包括姓名,职级,单位,到达/离开日期等。

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

需要注意的是,QuoINT无法确定文件中包含的信息是否合法。

解释损坏的文件的一种假设是攻击者的故意策略。原因可能是攻击者使用户尝试首先打开XLS文件,然后再次使用相同的文件名打开.exe。.exe文件具有PDF图标,因此,如果未显示文件扩展名,则可能诱使目标用户打开可执行文件。

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

分析的示例是一个Delphi可执行文件。自2015年以来,多个研究人员已经深入研究了Zebrocy Delphi版本。有趣的是,最近的Zebrocy观察似乎暗示了Delphi版本的不连续性,而倾向于使用Go语言编写的新版本。

行为分析

执行后,该示例通过将160个随机字节添加到新文件,将自身复制到%AppData%\ Roaming \ Service \ 12345678 \ sqlservice.exe中 。由于填充的恶意软件将始终具有不同的文件哈希值,因此该填充用于规避哈希匹配安全控制。

接下来,该恶意软件创建一个新的计划任务,并使用/ s 参数执行。

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

该任务会定期运行,并尝试将窃取的数据(例如,屏幕截图)发布到hxxp://194.32.78[.]245/protect/get-upd-id[.]php

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

乍一看,数据似乎被混淆和加密了。另一个请求如下所示:

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

标题数字12345678(原始的8位数字被删除)似乎是恒定的,表明它已被用作感染机器的唯一ID。值得注意的是,在创建包含sqlservice.exe的文件夹时,恶意软件也会使用相同的数字。

在我们的分析过程中,让样本与实际C2对话并不会改变其实际行为。该恶意软件大约每分钟发送一次POST请求,而不会返回响应。此外,服务器在等待约10秒后关闭连接。这种无响应的行为可能是由于C2确定受感染的计算机不感兴趣。

最后,生成到C2的网络流量会触发以下新兴威胁(ET)IDS规则:

  • ET TROJAN Zebrocy Screenshot Upload” (SID: 2030122)

受害与归因

QuoINT具有中高可信度的结论是,该广告活动指定特定的政府机构(至少包括阿塞拜疆)。尽管阿塞拜疆不是北约成员,但它与北大西洋组织密切合作并参加北约演习。此外,同一运动很可能针对与北约演习合作的其他北约成员或国家。

通过对攻击的战术、技术和程序(TTP)、目标和作为诱饵的主题的分析,我们对将这次攻击归因于去年安全界披露的著名APT28/ZebrocyTTP。

有趣的巧合?

尽管我们仍未找到这两次攻击之间强有力的因果联系或牢固的技术联系,但以下几点与我们在8月11日发现的ReconHellcat运动有关:

  • 压缩的Zebrocy恶意软件和用于丢弃BlackWater后门的以OSCE为主题的诱饵均于8月5日当天上传。
  • 这两个样本都是由阿塞拜疆的同一用户上传的,并且很可能是同一组织的。
  • 两次攻击都发生在同一时间范围内。
  • 欧安组织和北约都是过去曾经(直接或间接)成为APT28的目标的组织。
  • ReconHellcat战役确定的受害者与Zebrocy攻击的目标(即类似类型的政府机构)一致。两次攻击所针对的组织类型也符合已知的APT28。
  • 我们将ReconHellcat评估为高能力APT组,如APT28。

APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击

参考

[1] ESET, A1, April 2018, Sednit update: Analysis of Zebrocy

[2] Palo Alto, B1, June 2018, Sofacy Group’s Parallel Attacks

[3] Kaspersky, A1, October 2018, Shedding Skin – Turla’s Fresh Faces

[4] Kaspersky, A1, Janurary 2019, A Zebrocy Go Downloader

[5] Kaspersky, A1, January 2019, GreyEnergy’s overlap with Zebrocy

[6]Kaspersky, A1, June 2019, Zebrocy’s Multilanguage Malware

IOCs

hxxp://194.32.78.245/protect/get-upd-id.php

Course 5 – 16 October 2020.zipx

6e89e098816f3d353b155ab0f3377fe3eb3951f45f8c34c4a48c5b61cd8425aa

Course 5 – 16 October 2020.xls (Corrupted file)

b45dc885949d29cba06595305923a0ed8969774dae995f0ce5b947b5ab5fe185

Course 5 – 16 October 2020.exe (Zebrocy malware)

aac3b1221366cf7e4421bdd555d0bc33d4b92d6f65fa58c1bb4d8474db883fec

Additional Zebrocy malware variants on VT

fae335a465bb9faac24c58304a199f3bf9bb1b0bd07b05b18e2be6b9e90d72e6

eb81c1be62f23ac7700c70d866e84f5bc354f88e6f7d84fd65374f84e252e76b


APT28 组织利用北约主题作为诱饵进行 Zebrocy 恶意软件攻击 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1344/

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这