技术报告:APT组织Wekby利用DNS请求作为C&C设施,攻击美国秘密机构
技术报告:APT组织Wekby利用DNS请求作为C&C设施,攻击美国秘密机构
最近几周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
在忽略了垃圾代码之后,恶意软件实际上是非常简单的。开始它会随机生成一个10字节长的字母数字作为标头。其余的数据会进行base32编码,之后删除填充。此数据会用于填充子域,而这个子域就是之后的DNS请求中用于TXT记录的地方。
这种利用DNS作为C&C攻击的做法一直没有被恶意攻击者广泛采用过,除了下面这些:
· FrameworkPOS
· C3PRO-RACCOON
· FeederBot
· Morto
· 新型PlugX
与此同时,这一做法也使得pisloader可以绕过某些安全产品(如果无法绕过,这些安全产品就会发现其中的异常)。

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

对于pisloader预估响应之外的所有响应,恶意软件都会不予理睬。所以攻击者会设置下面的DNS,因为如果没有设置额外标明,恶意软件就没有办法进行分辨。
· 响应
· 所需的递归函数
· 可用的递归函数
“问题”和“回答资源记录”字段必须被设置为0×1值。另外,响应查询子域必须与原始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规则
技术报告:APT组织Wekby利用DNS请求作为C&C设施,攻击美国秘密机构的更多相关文章
- DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器
DNS反射放大攻击分析 摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E ...
- [百家号]APT组织简介2019
5家新APT组织被披露,2019是“后起之秀”的天下? https://baijiahao.baidu.com/s?id=1621699899936470038&wfr=spider& ...
- 基于知识图谱的APT组织追踪治理
高级持续性威胁(APT)正日益成为针对政府和企业重要资产的不可忽视的网络空间重大威胁.由于APT攻击往往具有明确的攻击意图,并且其攻击手段具备极高的隐蔽性和潜伏性,传统的网络检测手段通常无法有效对其进 ...
- APT组织跟踪与溯源
前言 在攻防演练中,高质量的蓝队报告往往需要溯源到攻击团队.国内黑产犯罪团伙.国外APT攻击. 红队现阶段对自己的信息保护的往往较好,根据以往溯源成功案例来看还是通过前端js获取用户ID信息.mysq ...
- 利用dns解析来实现网站的负载均衡
当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...
- 利用DNS AAAA记录和IPv6地址传输后门
0x00 前言 在本文中,我想解释如何在DNS流量中利用IPv6地址(AAAA)记录传输Payload.在我之前的文章中,我解释了如何利用DNS和PTR记录,现在我们将讨论AAAA记录. 本文分为两部 ...
- iodine免费上网——本质就是利用dns tunnel建立tcp,然后tcp proxy来实现通过访问虚拟dns0网卡来访问你的dns 授权server
我的命令: server端: sudo iodined -P passwd -f -DD 10.0.0.100 abc.com client端(直连模式,-r表示使用xxx.abc.com的xxx来转 ...
- 利用DNS日志进行MySQL盲注
0x01 技术原理 这里是利用load_file这个函数利用smb请求方式请求域名机器下的一个文件,由于计算机对该域名不熟悉所以需要优先请求DNS,所以我们通过DNS日志记录中的内容来获取回显.解决了 ...
- 利用DNS实现SQL注入带外查询(OOB)
根据用于数据检索的传输信道,SQLi可分为三个独立的类别:inference(经典SQL注入),inband(盲注.推理注入.带内注入)和out-of-band 一.什么是OOB out-of-ban ...
随机推荐
- React显示文件夹中SVG
import React from 'react'; import _ from 'lodash'; import styles from './iconPicker.less'; const req ...
- LINUX命令LS -AL 解析
LINUX命令LS -AL 解析 linux命令ls -al 解析 ls是“list”的意思,与早期dos的命令dir功能类似.参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为. ...
- Linux入门基础二
1.查看用户 who参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登录用户数及用户 ...
- Camera Calibration 相机标定:原理简介(一)
1 相机标定常见方法 广义来说,相机标定不单包括成像过程的几何关系标定,还包括辐射关系的标定,本文只探讨几何关系.相机标定是3D计算机视觉(Computer Vision)里从2D图像中提取量测信息的 ...
- Qt之QSpacerItem
简述 QSpacerItem类为布局提供了一个空白区. 简述 比对 使用 效果 源码 效果 源码 比对 通常情况下,不需要直接使用这个类,Qt内建布局管理器在操控空白区时提供以下功能: 类 函数 QH ...
- 完毕乔布斯的梦想:一个免费wifi共享的乌托邦
早在2007年推出iPhone时,乔布斯就提出这种如果:商业区与居民区的wifi路由器全民开放,实现与路人共享网络之便.能够想象,那算是一个wifi共享的乌托邦. 数年过去了,乔布斯的梦想依然没能全然 ...
- html-上左右布局方式---ShinePans
文件包括 main.html top.html left.html childhood.html moonsong.html herethesea.html 主要布局效果: 代码: main ...
- Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
为了实现像qq或者微信输入框的效果,当在 EditText输入字符串时发送按钮显示,当输入框字符消除掉时按钮改变.所以这时候我就要用到addTextChangedListener 用它来监听用户输入状 ...
- hdoj--1301--Jungle Roads(克鲁斯卡尔)
Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...
- Most common words
To find the most common words, we can apply the DSU pattern; most_common takes a histogram and retur ...