技术报告:APT组织Wekby利用DNS请求作为C&C设施

*本报告翻译自Paloalto Networks技术报告archcenter,作者Josh Grunzweig, Mike Scott and Bryan Lee,仅供业界学习,不用于任何商业用途。如有疏忽或翻译错误敬请指出。

最近几周Paloalto Networks的研究人员注意到,APT组织Wekby对美国的部分秘密机构展开了一次攻击。Wekby这些年一直活跃在医疗、电信、航空航天、国防和高科技等多个领域。它会在漏洞出现的第一时间就对其大加利用,就像在HackingTeam的zero-day漏洞事件中表现的那样。

Wekby使用的恶意软件是HTTPBrower恶意软件家族的一员,这种恶意软件利用DNS请求作为指令和控制机制(C&C)。此外,它还使用各种模糊处理技术,使得技术人员在分析过程中屡屡受阻。根据样本中看到的那些元数据,Palo Alto网络公司将其命名为pisloader恶意软件。

基础设施

Pisloader恶意软件家族通过HTTP从下面URL中进行传播。这个URL至今还处于活跃状态。

http://globalprint-us [.]com/proxy_plugin.exe

示例中还有在此域下的其他URL:

http://globalprint-us [.]com/proxy_web_plugin.exe

MD5:E4968C8060EA017B5E5756C16B80B012

SHA256: 8FFBB7A80EFA9EE79E996ABDE7A95CF8DC6F9A41F9026672A8DBD95539FEA82A

大小:126976字节

编译时间:2016年4月28日00:38:46

这份已经发现的文件是最常见的poison lvy恶意软件家族的一种,下面是它的配置数据:

命令和控制地址:intranetwabcam [.]com

命令和控制端口:80

密码:管理员

互斥锁:) !VoqA.I5

在这次攻击中所有使用过的域名都是在攻击之前刚刚被注册的。所包含的域如下:

另外,研究员们还发现了下面的IP:

攻击之初

下面是最初发现的攻击,在之后的分析中也一直在被引用:

MD5:E8D58AA76DD97536AC225949A2767E05

SHA256:DA3261C332E72E4C1641CA0DE439AF280E064B224D950817A11922A8078B11F1

大小:126976字节

编译时间:2016年4月27日14:37:34

这个特定文件具有以下的元数据属性。Pisloader这个名字也是来源于此。

最初的注入攻击中包含的代码非常简单,主要任务是通过运行注册表项进行设置,并安装执行嵌入式的windows可执行文件。如果遇到混淆,攻击者会立刻将字符串拆分为更小的子字符串,然后使用“strcpy”和“strcat”调用来重新进行构建。他们也会使用同样的技术来生成从未使用过的垃圾字符串,目的是为了阻止样品的检测和分析。下面的反编译代码会解释得更加清楚,我们已经在其中添加了注释,以显示完全生成的字符串。

在上述的反编译代码中,我们看到pisloader生成了下面的字符串,之后会用来设置运行注册表项。

cmd.exe/cregaddHKCUSoftwareMicrosoftWindowsCurrentVersionRun /v lsm /t reg_sz /d"%appdata%lsm.exe"/f

这一特定命令会用%appdata%lsm.exe值来设置HKCUSoftwareMicrosoftWindowsCurrentVersionRunlsm注册表项。此项设置之后,恶意软件会用一个单字节054的XOR值解密两组数据。由此产生的数据将会写入%appdata%lsm.exe 文件路径。

在写如此文件之后,恶意软件会执行刚编写的 lsm.exe文件,其中包含pisloader的有效攻击荷载。

有效攻击荷载

下面是已发现的、并在随后的分析中加以引用的案例:

MD5: 07B9B62FB3B1C068837C188FEFBD5DE9

SHA256:456FFFC256422AD667CA023D694494881BAED1496A3067485D56ECC8FEFBFAEB

大小 ︰ 102400 字节

编译时间 ︰ 2016年4月27日 13:39:02

攻击者使用了面向返回编程(ROP)技术,以及大量垃圾程序及指令对有效荷载进行了模糊化处理。在下面的示例中,用红色标记的都是没有任何用处的代码。此类代码可以作为垃圾处理,直接忽略。真正行使功能的代码是绿色部分,这些代码中有两个函数偏移量在返回指令之后被堆放到堆栈中。这个返回指令会先将执行代码指向空函数,空函数会反过来将执行代码指向“next-function”。有效荷载运行的时候会使用这种技术,这样会使得静态分析变得更加困难。

在忽略了垃圾代码之后,恶意软件实际上是非常简单的。开始它会随机生成一个10字节长的字母数字作为标头。其余的数据会进行base32编码,之后删除填充。此数据会用于填充子域,而这个子域就是之后的DNS请求中用于TXT记录的地方。

这种利用DNS作为C&C攻击的做法一直没有被恶意攻击者广泛采用过,除了下面这些:

· FrameworkPOS

· C3PRO-RACCOON

· FeederBot

· Morto

· 新型PlugX

与此同时,这一做法也使得pisloader可以绕过某些安全产品(如果无法绕过,这些安全产品就会发现其中的异常)。

pisloader会定期发送一个信标,其中包含被用作有效荷载的4字节随机大写字符串。下面的示例中显示了这一点:

对于pisloader预估响应之外的所有响应,恶意软件都会不予理睬。所以攻击者会设置下面的DNS,因为如果没有设置额外标明,恶意软件就没有办法进行分辨。

· 响应

· 所需的递归函数

· 可用的递归函数

“问题”和“回答资源记录”字段必须被设置为01值。另外,响应查询子域必须与原始DNS请求匹配。

攻击者还将远程命令和控制(C&C)服务器静态嵌入到恶意软件中去。在案例中我们还发现了“ns1.logitech-usa[.]com”主机。

C&C服务器会用一个TXT文档进行响应,而文档的加密方式与初始请求类似。在响应中,第一个字节会被忽略,剩下的数据是用的base32编码方法。下面是示例:

下面是恶意软件支持的相关命令以及它们的描述:

· sifo——收集受害者系统信息

· 驱动器——列举受害者计算机上的驱动器

· 列表——列举提供目录中的文件信息

· 上传——将文件上传到受害者计算机

· 打开——生成命令外壳程序

下面是正在使用这些命令的一些情况。我们使用了一个模拟的DNS服务器来生成命令并接收结果数据。

发送“驱动器”命令:

发送“打开”命令:

发送“sifo”命令:

列举C盘内容:

此外,大量命令都与HTTPBrowser类似。这些命令的格式化响应也是一致的。在一份已知的HTTPBrowser样例中发现了与作为讨论样本的pisloader类似的元数据,而且用来生成这些命令的代码可以通过GitHub获得。这也让我们更加确信,pisloader就是这个恶意软件家族的一员。

结论

Wekby使用更高级的恶意软件继续将矛头对准各种高机密组织机构。Pisloader恶意软件家族使用了各种新技术(将DNS作为C2协议)和各种反分析策略(利用面向返回编程)。

为此,Palo Alto网络采用了以下措施来保护用户避免这种威胁:

· 能够正确识别所有pisloader产品的WildFire

· 专门为这一系列恶意软件设计的pisloader自动对准标记

· 攻击中所使用到的所有域名、IP都已经被标记为恶意

· 已经创建了用于检测pisloader DNS通信的IPS规则
本文转自d1net(转载)

时间: 2024-10-06 07:20:27

技术报告:APT组织Wekby利用DNS请求作为C&C设施的相关文章

外媒:中国TA459 APT组织利用CVE-2017-0199攻击顶级金融公司

本文讲的是外媒:中国TA459 APT组织利用CVE-2017-0199攻击顶级金融公司, Proofpoint在4月20日发表了一项针对性的入侵报告,专注攻击俄罗斯和邻国的顶级金融公司工作的金融分析师.这些分析师与电信行业有所关联.这次的攻击非常类似于我们的"https://www.proofpoint.com/us/threat-insight/post/PlugX-in-Russia"博客中所描述的攻击,并且可能延续.然而,这次攻击者使用Microsoft word进行攻击,利用

如何发现“利用DNS放大攻击”的服务器

本文讲的是如何发现"利用DNS放大攻击"的服务器,很多网络服务异常,往往都是攻击造成的,但原因有很多种,如何分析定位,则是解决问题的关键.DNS放大攻击是一种拒绝服务攻击.攻击者利用僵尸网络中大量的被控主机,伪装成被攻击主机,在特定时间点,连续向多个允许递归查询的DNS服务器,发送大量DNS服务请求,迫使其提供应答服务.经DNS服务器放大后的大量应答数据,再发送到被攻击主机,形成攻击流量,导致其无法提供正常服务甚至瘫痪. 0x11问题描述 XX.XX.29.4为某大型行业用户的DNS服

利用DNS AAAA记录和IPv6地址传输后门

一.前言 在本文中,我想解释如何在DNS流量中利用IPv6地址(AAAA)记录传输Payload.在我之前的文章中,我解释了如何利用DNS和PTR记录,现在我们将讨论AAAA记录. 本文分为两部分: 第一部分:DNS AAAA记录和ICMPv6 第二部分:DNS和AAAA记录(大的DNS AAAA记录响应) 二.DNS AAAA记录和ICMPv6 IPv6地址对于传输Payload非常有用,让我解释下如何完成这个例子. 举个例子,我们有一个IPv6地址如下: fe80:1111:0034:abc

黑客组织APT3利用Flash 0day漏洞发动大规模钓鱼活动

本周二Adobe发布一个紧急安全更新,建议用户及管理员修复Flash Player中编号为CVE-2015-3113的0day漏洞,因为该漏洞正被APT3黑客组织用在大规模的钓鱼攻击活动中.   漏洞详情 如果该漏洞被攻击者利用的话,受害者系统可能会被其完全掌控.另外,在windows7或者更低的版本上运行IE.在windows XP上运行Firefox都很容易受到网络攻击. 攻击者发送的钓鱼邮件中包含一个指向受感染的web服务器的恶意链接,它会提供无害的内容或者含有该漏洞的Adobe Flas

秘笈|如何利用DNS做好网络安全工作

DNS是一种在考虑安全问题时常被人忽略的核心基础设施组件.坏人常利用它来侵入企业网络. DNS安全常被认为是要么保护DNS架构和基础设施不受各种攻击侵扰,要么维护白名单黑名单来控制对恶意域名的访问--虽然这确实是很重要的一个方面,但网络安全人员利用DNS获得的安全控制.情报和益处,真心比这要多得多.下面列出了内部和外部DNS能给企业在积极缓解已知和未知威胁上带来的各种好处. 1. 内部和外部可见性 无论是IT基础设施.企业服务器.桌面电脑.笔记本电脑.POS系统.连到来宾网络的非受信设备甚或智能

企业如何抵御利用DNS隧道的恶意软件?

恶意软件编写者开始使用DNS请求进行数据渗透,那么,这些攻击的工作原理是什么,以及抵御它们的最佳做法有哪些? Nick Lewis:多年来,高级攻击者一直在利用DNS隧道.ICMP隧道等进行数据渗透.基于他们取得的成功,很多其他攻击者也开始采用这种技术,让这种技术逐渐普遍.DNS通常也被允许出站连接到互联网,而不需要进行过滤,这让攻击者可以利用它来从受感染网络渗出数据. DNS隧道通常用于已经受感染的计算机,它会编码恶意DNS域名中少量数据.受感染的计算机可以在恶意域名和/或使用攻击者控制的DN

秘密渗透内网——利用 DNS 建立 VPN 传输隧道

本文讲的是秘密渗透内网--利用 DNS 建立 VPN 传输隧道, 摘要 在APT攻击日益严重的今天,只有不断了解并掌握更加高级且不寻常的攻击手法,才能在内网沦陷之前做好严密的防护.利用DNS建立VPN连接进行网络传输用的正是一种非常隐蔽且不寻常的手法. 概述 当我们被IDS或者防火墙阻断的时候,我们通常开始使用 [DNSCat] 作为一种在约定期间秘密传输数据的手段.同时,DNS 协议经常被系统管理员所忽视,因此,这个工具就一直非常有用.   虽然也有其他的 DNS 隧道连接VPN的解决方案,但

Gartner:到2020年,90%的组织将利用混合云管理基础设施

根据分析公司Gartner的最新预测,到2020年,90%的组织将利用混合云管理基础设施. 报告指出,预计到2017年,基础设施服务将成为混合云基础设施服务,还有云计算.工业化服务增长,以及传统数据中心外包下降的主要原因. Gartner认为,去年全球传统数据中心外包以及基础设施公用事业(IUS)占全球数据中心服务市场49%的比重,售价为1540亿美元.到2020年,将增长到2280亿美元,但云计算基础设施服务(IaaS)和托管收费会使传统基数下降35%,整体市场规模有所扩大,去年为754.6亿

xl2tp vpn dns 客户端-求教:xl2tpd建立客户端,在ipcp中只有ip地址请求,没有dns请求。怎么把dns请求添加进去

问题描述 求教:xl2tpd建立客户端,在ipcp中只有ip地址请求,没有dns请求.怎么把dns请求添加进去 解决方案 解决方案二: