技术报告: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 ...
随机推荐
- input标签type为number时,输入小数,在Firefox浏览器上输入框标红的问题
问题一:firefox 下 默认情况 <input type="number"> 只允许输入整数,输入小数时会报错,输入框被标红 这时候可以添加参数 step=&q ...
- PostGIS解析Geometry几何对象
一.Geometry转WKT select st_astext(geom) where tableName; 二.PostGIS常用函数 wkt转geometry st_geomfromtext(wk ...
- [LeetCode] 155. minStack 设计最小栈
注意:getMin()时间复杂度为O(1) 最原始的方法: class MinStack(object): def __init__(self): """ initial ...
- [Angular] Short Imports with TypeScript Path Mapping
The idea is change from: import {CoreModule} from '../core/core.module'; to: import {CoreModule} fro ...
- LoadRunner使用入门 进行Webservice负载測试
1.什么是LoadRunner LoadRunner是HP公司的一款付费工具,该工具是一种预測系统行为和性能的负载測试工具. 通过模拟上千万用户实施并发负载来确认和查找问题. 2.什么是负载測试 通过 ...
- JS 去除字符串中的最后一个字符
var str = 'Hello World!'; str = str.substr(0,str.length-1); alert(str);
- POJ - 3321 Apple Tree (线段树 + 建树 + 思维转换)
id=10486" target="_blank" style="color:blue; text-decoration:none">POJ - ...
- Android SQLite 简单使用演示样例
SQLite简单介绍 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也很的强大. 袖珍型的SQLite能够支持高达2TB大小的数据库, ...
- Java容器源码解析之——LinkedList
我们直接从源码来分析LinkedList的结构: public class LinkedList<E> extends AbstractSequentialList<E> im ...
- VS Code(Visual Studio Code)
这次推荐 VS Code,这是个跨平台.免费的代码编辑器,集成开发.调试.编译为一身.单成启动速度,资源占用,就已经赢了各大编辑器(什么 SB.N++之类).以前觉得 VS 2015 是宇宙最强编辑器 ...