技术报告: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设施,攻击美国秘密机构的更多相关文章

  1. 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 ...

  2. [百家号]APT组织简介2019

    5家新APT组织被披露,2019是“后起之秀”的天下? https://baijiahao.baidu.com/s?id=1621699899936470038&wfr=spider& ...

  3. 基于知识图谱的APT组织追踪治理

    高级持续性威胁(APT)正日益成为针对政府和企业重要资产的不可忽视的网络空间重大威胁.由于APT攻击往往具有明确的攻击意图,并且其攻击手段具备极高的隐蔽性和潜伏性,传统的网络检测手段通常无法有效对其进 ...

  4. APT组织跟踪与溯源

    前言 在攻防演练中,高质量的蓝队报告往往需要溯源到攻击团队.国内黑产犯罪团伙.国外APT攻击. 红队现阶段对自己的信息保护的往往较好,根据以往溯源成功案例来看还是通过前端js获取用户ID信息.mysq ...

  5. 利用dns解析来实现网站的负载均衡

    当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...

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

    0x00 前言 在本文中,我想解释如何在DNS流量中利用IPv6地址(AAAA)记录传输Payload.在我之前的文章中,我解释了如何利用DNS和PTR记录,现在我们将讨论AAAA记录. 本文分为两部 ...

  7. 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来转 ...

  8. 利用DNS日志进行MySQL盲注

    0x01 技术原理 这里是利用load_file这个函数利用smb请求方式请求域名机器下的一个文件,由于计算机对该域名不熟悉所以需要优先请求DNS,所以我们通过DNS日志记录中的内容来获取回显.解决了 ...

  9. 利用DNS实现SQL注入带外查询(OOB)

    根据用于数据检索的传输信道,SQLi可分为三个独立的类别:inference(经典SQL注入),inband(盲注.推理注入.带内注入)和out-of-band 一.什么是OOB out-of-ban ...

随机推荐

  1. php xml 的基本操作类

    class xmlMessage{ protected $doc; protected $rootKey; public function __construct() { $this->doc ...

  2. Linux快速入门打开你的学习之道

    Linux快速入门打开你的学习之道 相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什 ...

  3. Python学习笔记-练习编写ATM+购物车(购物商城)

    作业需求: 模拟实现一个ATM + 购物商城程序: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间 ...

  4. 洛谷 P2049 魔术棋子

    P2049 魔术棋子 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走 ...

  5. 设置Webdriver启动chrome为默认用户的配置信息

    Webdriver 启动Chrome浏览器时,默认是打开一个新用户,而非默认用户.即新用户没有我们安装扩展程序.但在实际应用中,我们会须要 默认用户安装的一些扩展程序,比方对于某些js或者css样式. ...

  6. 使用ShareSDK实现第三方授权登录、分享以及获取用户资料效果,项目中包含:源码+效果图+项目结构图

    [Android应用开发详解]第01期:第三方授权认证(一)实现第三方授权登录.分享以及获取用户资料   由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折, ...

  7. emmet教程

    https://www.zfanw.com/blog/zencoding-vim-tutorial-chinese.html https://www.zfanw.com/blog/zencoding- ...

  8. 43.$http

    转自:https://www.cnblogs.com/best/tag/Angular/ $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据. 使用格式: // 简单的 G ...

  9. django 笔记14 中间件

    用户请求->中间件->urls->views->返回字符串->中间件->用户浏览器 settings MIDDLEWARE里面都是中间件 有的地方叫管道 请求来的时 ...

  10. Anaconda升级

    Anaconda是可以进行升级的, 这样就省的重装一遍python全家桶了, 比如:   conda update conda conda install anaconda=2018.12   就可以 ...