中东地区DNSpionage安全事件分析

news2024/11/23 21:40:47

事件摘要

思科Talos公司最近发现了一个以影响.gov域名为攻击手段的安全事件,而此安全事件主要针对黎巴嫩和阿拉伯联合酋长国(阿联酋)以及一家私营的黎巴嫩航空公司。根据我们的研究,攻击者花费了许多时间来了解受害者的基础网络,以便能够在实施攻击的时候保持隐蔽性。

根据我们捕获到的攻击者基础设施情况以及TTP的详情,我们无法将此攻击事件同最近其余事件相联系。

此次攻击中,攻击者使用了两个虚假的恶意网站,其中一个网站包含了嵌入式的恶意Microsoft Office文档并用此来阻止目标作业的发布。我们称此攻击软件为“DNSpionage”,而此软件支持受害者与攻击者的HTTP和DNS进行通信。

在某些攻击事件中,攻击者往往使用相同的IP来重定向合法的.gov和私有域的DNS。每次在DNS工作期间,攻击者都会为重定向的域生成了Let加密证书,并为用户免费提供X.509 TLS证书。然而,我们目前还并不知道DNS重定向是否能够成功。

在这篇文章中,我们将分析攻击者的手段,并展示他们如何使用恶意文档来诱骗用户打开伪装成求职者的“求职”网站。 此外,我们将详细叙述DNS重定向事件的攻击时间轴。

攻击参数

虚假工作网站

攻击者在攻击初始时使用了两个恶意网站,而此两个网站模仿了合法网站的工作列表:

  • hr-wipro[.]com (with a redirection to wipro.com)

  • hr-suncor[.]com (with a redirection to suncor.com)

这些站点托管了恶意的Microsoft Office文档:hxxp://hrsuncor[.]com/Suncor_employment_form[.]doc.

该文件存在于加拿大可持续能源公司Suncor Energy网站,并且此网站提供了合法文件的副本,其中包含恶意的代码。

此时,我们并不知道目标是如何收到这些链接的。 攻击者很可能通过电子邮件发送恶意文档并使用鱼叉式网络钓鱼攻击。但它也可以通过社交媒体平台(如LinkedIn)进行恶意传播,以试图使新发布的工作机会合法化。

恶意文档文件

打开第一个Office文档后,用户会收到一条消息“可用的内容模式”:

分析攻击样本我们可以将其攻击分为以下两个部分:

 

  1. 打开文档时,宏将解码成为由base64编码的PE文件,并将其从%UserProfile%\ .oracServices \ svchost_serv.doc中删除。

  2. 当文档关闭时,宏将文件“svchost_serv.doc”重命名为“svchost_serv.exe”。 然后,宏创建一个名为“chromium updater v 37.5.0”的计划任务,以便执行二进制文件。 计划任务每分钟立即执行一次。

这两个步骤的目的是避免沙盒检测。

有效负载在Microsoft Office关闭时执行,这意味着需要人工交互才能部署它。 这些宏虽然可通过分析获得,但在Microsoft Word中却受密码保护,以阻止受害者通过Microsoft Office查看宏代码。

此外,宏使用经典的字符串混淆以避免字符串检测:

 

schedule.service”字符串由一系列事件共同创建。 最终的有效负载是一个名为“DNSpionage”的远程管理工具。

DNSPIONAGE恶意软件

恶意软件分析

恶意文档中存在的恶意软件是并没有记录过的远程管理工具。 因为它支持DNS通道作为与攻击者设施进行通信的隐蔽通道,所以我们将其命名为DNSpionage。

DNSpionage在运行目录中创建自己的数据:

%UserProfile%\.oracleServices/
%UserProfile%\.oracleServices/Apps/
%UserProfile%\.oracleServices/Configure.txt
%UserProfile%\.oracleServices/Downloads/
%UserProfile%\.oracleServices/log.txt
%UserProfile%\.oracleServices/svshost_serv.exe
%UserProfile%\.oracleServices/Uploads/

攻击者使用Downloads目录存储从C2服务器下载的其他脚本和工具。

在将文件转发到C2服务器之前,攻击者使用Uploads目录临时存储文件。

log.txt文件包含文本日志。

所有执行的命令都被记录在该文件中,它还包含命令的执行结果。

最后一个文件是Configure.txt。 正如所料,此文件包含恶意软件的配置清单。 攻击者可以指定自定义命令和控制(C2)服务器URL,以及充当DNS通道的域。 此外,攻击者可以指定自定义base64字母表进行混淆。 我们发现攻击者为每个目标均设立了自定义字母。

所有数据都以JSON格式传输。 这就是为什么恶意软件的大部分代码都是JSON库的原因。

通信通道

恶意软件使用HTTP和DNS以与C2服务器通信。

使用base64编码的随机数据执行DNS请求(到0ffice36o [.] com)。 此请求注册到受感染的系统并接收HTTP服务器的IP(调查期间,其IP地址为185.20.184.138)。 DNS请求的示例:

yyqagfzvwmd4j5ddiscdgjbe6uccgjaq[.]0ffice36o[.]com

恶意软件能够制作用于向攻击者提供进一步信息的DNS请求。 以下是请求示例:

oGjBGFDHSMRQGQ4HY000[.]0ffice36o[.]com

在此上下文中,前四个字符由恶意软件使用rand()随机生成。 然后,域的其余部分在base32中编码,一旦解码,值则被设置为1Fy2048。 “Fy”是目标的ID,“2048”(0x800)表示“未找到配置文件”。 如果未在受感染的计算机上检索到配置文件,则会执行该请求。 这是用于通知攻击者的消息。

恶意软件执行初始HTTP请求时在hxxp://IP/Client/Login?id=Fy检索其配置。

此请求将用于创建配置文件,尤其是设置自定义base64字典。

第二个HTTP请求是hxxp://IP/index.html?id=XX(其中“XX”是受感染系统的ID)

此请求的目的是检索订单。 该网站是一个虚假的维基百科页面:

 

这些命令包含在页面的源代码中:

 

在此示例中,命令使用标准base64算法进行编码,因为我们没有收到自定义字母表。 以下是配置文件中自定义字母表的另一个示例:

 

以下是自动发送到受感染系统的三个命令:

  • {"c": "echo %username%", "i": "-4000", "t": -1, "k": 0}

  • {"c": "hostname", "i": "-5000", "t": -1, "k": 0}

  • {"c": "systeminfo | findstr /B /C:\"Domain\"", "i": "-6000", "t": -1, "k": 0}

恶意软件在执行这些命令后生成以下代码段:

 

攻击者要求使用用户名和主机名来检索受感染用户的域。 第一步显然是前期阶段。 数据最终被发送到hxxp://IP/Client/Upload

最后,攻击者使用CreateProcess()函数执行命令,并将输出重定向到使用CreatePipe()创建的恶意软件的管道中。

该恶意软件还支持仅DNS模式。 在此模式下,订单和结论通过DNS处理。 此选项在受感染计算机上的configure.txt文件中被指定。 使用DNS有时可以更容易地将信息发送回攻击者,因为它通常会利用DNS协议来避免代理或Web过滤。

首先,恶意软件启动DNS查询以请求订单,例如:

RoyNGBDVIAA0[.]0ffice36o[.]com

我们必须忽略前四个字符,如本文前面提到的随机生成字符,相关数据是GBDVIAA0。 其解码值(base32)是“0GT \ x00”。 GT是目标ID,\ x00是请求号。 C2服务器回复DNS请求,而此请求包括了一个IP地址,虽然此IP地址并不总是有效的,但DNS协议完全可以对此接受,例如0.1.0.3。我们认为第一个值(0x0001)是下一个DNS请求的命令ID,0x0003是命令的大小。

其次,恶意软件使用命令ID执行DNS查询:

t0qIGBDVIAI0[.]0ffice36o[.]com (GBDVIAI0 => "0GT\x01")

C2服务器将返回一个新的IP地址:100.105.114.0。 如果我们转换ASCII中的值,我们使用要执行的命令“dir \ x00”。

最后,执行命令的结果将由多个DNS请求发送:

gLtAGJDVIAJAKZXWY000.0ffice36o[.]com -> GJDVIAJAKZXWY000 -> "2GT\x01 Vol"
TwGHGJDVIATVNVSSA000.0ffice36o[.]com -> GJDVIATVNVSSA000 -> "2GT\x02ume"
1QMUGJDVIA3JNYQGI000.0ffice36o[.]com -> GJDVIA3JNYQGI000 -> "2GT\x03in d"
iucCGJDVIBDSNF3GK000.0ffice36o[.]com -> GJDVIBDSNF3GK000 -> "2GT\x04rive"
viLxGJDVIBJAIMQGQ000.0ffice36o[.]com -> GJDVIBJAIMQGQ000 -> "2GT\x05 C h"
[...]

受害者

由于DNS渗透和思科公司的研究,我们能够确定一些受害者的来源以及10月和11月的攻击事件大致内容。 这是我们上面提到的DNS-0ffice36o [.] com的图表:

 

此次访问是在黎巴嫩和阿联酋进行的。 此信息在下一节中描述的DNS重定向中确认。

DNS 重定向

介绍

Talos发现了三个与DNSpionage域相关联的IP:

  • 185.20.184.138
  • 185.161.211.72
  • 185.20.187.8

这三个IP由DeltaHost托管。

最后一个IP与9月到11月之间的DNS重定向攻击有关。黎巴嫩和阿联酋多个公共部门的域名服务器以及黎巴嫩的一些公司受到了攻击,其控制下的主机名指向攻击者控制的IP地址。攻击者将主机名重定向到IP 185.20.187.8,并持续了一小段时间。在IP被重定向之前,攻击者使用Let加密服务创建了与域名匹配的证书。

在本节中,我们将介绍我们识别的所有DNS重定向实例以及与每个实例关联的攻击者证书。我们不知道重定向攻击最终是否能成功,或DNS重定向服务的确切目的。但是,此次攻击影响十分巨大,因为攻击者能够拦截在此期间发往这些主机名的所有流量。由于攻击者专门针对电子邮件和VPN流量,因此此类攻击可被用于收集其他一些隐私信息,例如电子邮件和/或VPN凭据。

由于我们收到的电子邮件也会到达攻击者的IP地址,所以如果其中有多因素的身份验证,那么它将允许攻击者滥用MFA代码。由于攻击者能够访问到电子邮件的内容,他们可以进行额外的攻击甚至对目标进行勒索行为。

我们识别到DNS重定向发生在多个地方。然而在这些攻击点中我们没有发现基础架构。 它也发生在公共和私营部门。 因此,我们认为这不是人为错误,也不是任何受影响组织中的管理用户的错误。 这是攻击者故意重定向DNS的恶意企图。

黎巴嫩政府重定向事件

Talos发现黎巴嫩财政部的电子邮件域是恶意DNS重定向的受害者之一。

  • webmail.finance.gov.lb于11月6日06:19:13 GMT重定向到185.20.187.8。 在同一天05:07:25,创建了Let's Encrypt证书。

阿联酋政府重定向事件

阿联酋的公共领域部门也是目标之一。 我们从警察局(VPN和学院)和电信监管局确定了一个域名。

  • adpvpn.adpolice.gov.ae于9月13日格林尼治标准时间06:39:39重定向至185.20.187.8。 同一天在05:37:54创建了Let's Encrypt证书。

  • mail.mgov.ae于9月15日格林威治标准时间07:17:51重定向至185.20.187.8。 我们还在格林威治标准时间06:15:51创建了一个Let的加密证书。

  • mail.apc.gov.ae于9月24日重定向至185.20.187.8。我们还在格林威治标准时间05:41:49创建了一个Let's加密证书。

中东航空公司重定向事件

Talos发现,黎巴嫩中东航空公司(MEA)也是DNS重定向的受害者之一。

  • memail.mea.com.lb于11月14日格林尼治标准时间11:58:36重定向至185.20.187.8
    11月6日格林尼治标准时间10:35:10,创建了Let's Encrypt证书。

此证书包含主题行中的某些备用名称。DNS的一项功能就是允许将多个域添加到SSL活动的证书中:

 

  • memail.mea.com.lb
  • autodiscover.mea.com.lb
  • owa.mea.com.lb
  • www.mea.com.lb
  • autodiscover.mea.aero
  • autodiscover.meacorp.com.lb
  • mea.aero
  • meacorp.com.lb
  • memailfr.meacorp.com.lb
  • meoutlook.meacorp.com.lb
  • tmec.mea.com.lb

上述内容清楚地展示了受害者的域名情况,使我们相信攻击者在这些环境中活跃地攻击事实,并了解他们需要生成的特定域名和证书详情。

结论

根据我们的调查,我们发现了两个事件:DNSpionage恶意软件和DNS重定向攻击事件。在恶意软件事件中,我们不知道确切的目标,但我们知道攻击者追踪黎巴嫩和阿联酋的用户。然而,如上所述,我们能够追踪到重定向事件的攻击目标。

根据我们的调查,我们非常坚定地认为此次两个事件均出自同一个组织之手。但是,我们对此攻击者的位置及其确切动机知之甚少。很明显,这个攻击者能够在两个月内从两个不同国家的政府以及一家黎巴嫩国家航空公司的所有域进行重定向DNS。通过使用DNS泄漏和重定向,他们能够从系统的角度使用Windows恶意软件以及网络来进行恶意行为。目前还不清楚这些DNS重定向攻击是否已经成功,但攻击者仍在进行攻击,到目前为止,攻击者已经发起了五次攻击,其中包括过去两周内的攻击。

用户应使用这些攻击事件作为其端点保护和网络保护的强大证据。 此次事件的攻击发起者是一名厉害的角色,显然他们的目标定在一些重要的组织上,他们似乎不会很结束自己的攻击。

事件报道

Snort规则48444和48445将阻止DNSpionage进行出站连接。

我们的客户可以用如下方法进行保护:

 

高级恶意软件防护(AMP)非常适合防止这些恶意软件的执行。

思科云网络安全(CWS)或网络安全设备(WSA)Web扫描可防止访问恶意网站并检测这些攻击中使用的恶意软件。

电子邮件安全可以阻止攻击者通过邮件进行传播木马。

下一代防火墙(NGFW),下一代入侵防御系统(NGIPS)和Meraki MX等网络安全设备可以检测与此威胁相关的恶意活动。 AMP Threat Grid有助于识别恶意二进制文件并为所有思科安全产品构建保护。 Umbrella,我们的安全互联网网关(SIG)可以阻止用户连接到恶意域,IP和URL。 开源的SNORTⓇ用户规则客户可以通过下载在Snort.org上购买的最新规则包来提供安全保障。

IOCS

以下IOC与在分析相关恶意活动期间观察到的各种恶意软件事件相关联。

虚假网站

hr-wipro[.]com
hr-suncor[.]com

恶意文件

9ea577a4b3faaf04a3bddbfcb934c9752bed0d0fc579f2152751c5f6923f7e14 (LB submit)
15fe5dbcd31be15f98aa9ba18755ee6264a26f5ea0877730b00ca0646d0f25fa (LB submit)

DNSpionage样例

2010f38ef300be4349e7bc287e720b1ecec678cacbf0ea0556bcf765f6e073ec 82285b6743cc5e3545d8e67740a4d04c5aed138d9f31d7c16bd11188a2042969
45a9edb24d4174592c69d9d37a534a518fbe2a88d3817fc0cc739e455883b8ff

C2服务器IP

185.20.184.138
185.20.187.8
185.161.211.72

C2服务器域名

0ffice36o[.]com

DNS域(指向185.20.187.8)

2018-11-14 : memail.mea.com.lb
2018-11-06 : webmail.finance.gov.lb
2018-09-24 : mail.apc.gov.ae
2018-09-15 : mail.mgov.ae
2018-09-13 : adpvpn.adpolice.gov.ae

MEA证书中的域名(185.20.187.8):

memail.mea.com.lb
autodiscover.mea.com.lb
owa.mea.com.lb
www.mea.com.lb
autodiscover.mea.aero
autodiscover.meacorp.com.lb
mea.aero
meacorp.com.lb
memailr.meacorp.com.lb
meoutlook.meacorp.com.lb
tmec.mea.com.lb
本文为翻译稿,原文为https://blog.talosintelligence.com/2018/11/dnspionage-campaign-targets-middle-east.html

点击收藏 | 0关注 | 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第九章结构性模式—桥接模式

文章目录 桥接模式解决的问题概念结构 实例使用场景 结构型模式描述如何将类或对象按某种布局组成更大的结构,有以下两种: 类结构型模式:采用继承机制来组织接口和类。对象结构型模式:釆用组合或聚合来组合对象。 由于组合关系或…

【数据科学赛】评估大语言模型 #¥65000

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息由AI辅助创作,仅供参考 比赛名称 大语言模型评估[2] (见文末阅读原文) 大赛背景 本次竞赛希…

OTA实现设备升级方案

引言 空中下载技术(Over-the-Air Technology, OTA)是通过移动通信的空中接口实现对移动终端设备进行远程管理的技术。 该技术在IOT行业非常的重要,当随着市场上的产品越来越多,保有量也越来越多,随着时间…

MySQL 性能调优及生产实战篇(一)

前言数据建模方案、数据类型优化存储引擎选择合理使用范式、反范式字符集选择主键选择适当数据冗余适当拆分数据类型优化更小更好简单就好尽量避免 NULL具体优化细节整型字符、字符串类型datetime、timestamp枚举代替字符串类型特殊类型 索引优化索引用处索引分类技术名词 总结…

由浅入深RPC通信原理实战

目录 1 背景知识2 RPC概述3 RPC框架实现要点3.1 注册中心3.2 代理技术3.3 序列化技术3.4 RPC通信协议3.5 系统IO3.6 超时重试机制3.7 时间轮算法3.8 负载均衡策略3.9 熔断限流3.10 滑动窗口算法3.11 限流组件 1 背景知识 单体架构 RPC产生解决的问题: 序列化是指…

Ae:图层面板 - 视图选项

从图层面板 Layer Panel的“显示通道和色彩管理设置” Show Channel and Color Manage Settings按钮中可以选择各种视图模式,与 Alpha 通道相关的一些视图可直接通过图层面板左下方的按钮或者使用快捷键进行切换。 其它的视图选项(图层面板的最下方一行&…

基于PyQt5的图形化界面开发——PyQt示例_扫雷

基于PyQt5的图形化界面开发——PyQt示例_扫雷 前言1. 效果演示2. minesweeper.py3.图片文件其他文章 前言 今天来学习PyQt5的示例,其中主要涉及到一些触发函数窗口切换函数。 操作系统:Windows10 专业版 开发环境:Pycahrm Comunity 2022.3…

三分钟了解Spring Boot启动原理

大家通常只需要给一个类添加一个SpringBootApplication 注解,然后再加一个main 方法里面固定的写法 SpringApplication.run(Application.class, args); 那么spring boot 到底是如何启动服务的呢。 接下来咱们通过源码解析。 Spring Boot 的启动原理可以概括为以下几…

一篇吃透布隆过滤器(Bloom Filter)及其使用场景

目录 1、什么是布隆过滤器 2、布隆过滤器的原理 2.1 布隆过滤器的数据结构 2.2 布隆过滤器的检索和插入原理 2.3 布隆过滤器元素的修改和删除 3、布隆过滤器的使用场景 3.1 Redis通过布隆过滤器防止缓存穿透 3.2 RocketMQ通过布隆过滤器防止消息重复消费 4、布隆过滤器…

DAPP开发(三)——智能合约开发

智能合约 Remix IDE 是开发以太坊智能合约的在线IDE工具,部署简单的智能合约非常方便。 http://remix.ethereum.org truffle 一个世界级的智能合约开发框架,专为智能合约而生。 管理智能合约的生命周期自动化合约测试可编程,可部署&…

linux安装jupyter notebook

目录 使用miniconda的conda安装 切换conda镜像源有两种方法: 设置密码: 修改配置文件: 启动 关闭进程: 使用miniconda的conda安装 conda install jupyter 如果镜像不好用则切换conda镜像源 切换conda镜像源有两种方法: 1. [shuqiqshuqiq bin]$ ./conda config --add…

MyBatis - 基础使用Ⅰ

这篇文章将讲解MyBatis的基础使用,MyBatis的学习是非常重要的,在前面学习servlet的时候,我们就能感受到将数据持久化存储的重要性,当时在使用JDBC的时候非常繁琐麻烦,但是在Spring里,提供了一种框架可以轻松…

真题详解(传引用)-软件设计(七十五)

真题详解(补码转换)-软件设计(七十四)https://blog.csdn.net/ke1ying/article/details/130674214 分治算法技术设计______。 答案:1、问题划分 2、递归求解 3、合并解 虚拟存储体系_____两级构成。 解析:主存 和 辅…

vue项目打包成桌面应用并修改图标

目录 1. 打包为桌面应用 2.修改图标 1. 打包为桌面应用 1.在vux项目的终端执行打包 npm run build 2.会在项目文件夹里面出现一个dist文件夹 里面有这几个文件组成 3.在这里需要添加一个 package.json 文件 package.json 内容 {"name": "鼠标放图标上面的提…

环形链表解释约瑟夫问题

环形链表解释约瑟夫问题 来自尚硅谷开放课程的迁移学习,致敬尚硅谷的各位老师,受益匪浅!!! 单向链表,双向链表,环形链表对比介绍 单向链表、双向链表和环形链表都是常见的链表数据结构&#…

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL 是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用 MySQL 进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在 MySQL 中创建新用户并授予权限的方法。 创建新用户 在…

第十一章结构性模式—组合模式

文章目录 组合模式解决的问题概念结构 实例组合模式的分类优点使用场景 结构型模式描述如何将类或对象按某种布局组成更大的结构,有以下两种: 类结构型模式:采用继承机制来组织接口和类。 对象结构型模式:釆用组合或聚合来组合对…

shell脚本之“awk“命令

文章目录 1.awk工作原理2.awk命令演示操作部分2.1 按行输出文本演示操作2.2 BEGIN模式演示操作2.3 按字段输出文本演示操作2.4 通过管道、双引号调用Shell命令2.5 date命令演示操作2.6 getline参数详解2.7 awk命令的数组操作 3. 总结 1.awk工作原理 逐行读取文本,默…

位域和字节对齐

结构体中的位域 位域是一种特殊的结构体成员,它允许将一个字节或多个字节中的每个位作为一个独立的成员来使用。位域的语法形式为: struct {type [member_name] : width; }; 其中,type 表示位域成员的类型,可以是 int、unsigne…

网络编程——TCP编程

TCP编程 流程服务器客户端 函数接口1、socket2、bind3、listen4、accept5、recv6、send7、connet 实现双工通信server.ccelient.c优化代码 流程 在C语言中进行TCP编程的一般步骤如下: (1)包含头文件: 在代码中包含必要的头文件&a…