百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

解析APT29的无文件WMI和PowerShell后门

cac55 2024-10-13 01:22 87 浏览 0 评论

翻译:興趣使然的小胃

预估稿费:200RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

一、前言


安全公司Mandiant观察到APT29使用了一款名为POSHSPY的后门工具。POSHSPY使用了WMI(Windows Management Intrumentation,Windows管理工具)和PowerShell脚本,这也是该组织经常使用的两种工具。在调查过程中,Mandiant发现APT29将POSHSPY作为辅助后门使用,以便在主后门失效后重新夺回目标控制权。

POSHSPY大量使用了Windows系统的内置功能来实现后门功能,它利用WMI实现后门的存储和本地持久化,不熟悉WMI的人难以发现其踪影;利用PowerShell载荷使得目标系统运行的是合法的进程,只有在增强型日志记录或内存中才能发现恶意代码运行痕迹。该后门活动并不频繁,使用了流量混淆、加密处理以及地理上合法的网站作为C2(command and control,命令控制)服务器,使安全人员难以识别其网络流量。总体而言,POSHSPY的每一个方面都是高效且隐蔽的。

Mandiant最初在2015年的一次应急响应处置中发现了POSHSPY后门,早期版本的后门使用的是PowerShell脚本。随后,攻击者更新了后门版本,使用WMI来实现本地存储和持久化。在过去两年中,Mandiant在多个场景中都发现过APT29组织使用POSHSPY的痕迹。

我们最早在一次演讲中讨论了APT29使用该后门的一些情况。读者可以参考幻灯片或演讲视频来回顾之前的分析内容。

二、WMI简介


WMI是从Windows 2000起,在每个Windows系统版本中都会内置的一个管理框架。WMI以本地和远程方式提供了许多管理功能,包括查询系统信息、启动和停止进程以及设置条件触发器。我们可以使用各种工具(比如Windows的WMI命令行工具wmic.exe)或者脚本编程语言(如PowerShell)提供的API接口来访问WMI。Windows系统的WMI数据存储在WMI公共信息模型(common information model,CMI)仓库中,该仓库由“System32\wbem\Repository”文件夹中的多个文件组成。

WMI类是WMI的主要结构。WMI类中可以包含方法(代码)以及属性(数据)。具有系统权限的用户可以自定义类或扩展许多默认类的功能。

在满足特定条件时,我们可以使用WMI永久事件订阅(permanent event subscriptions)机制来触发特定操作。攻击者经常利用这个功能,在系统启动时执行后门程序,完成本地持久化。WMI的事件订阅包含三个核心WMI类:Filter(过滤器)类、Consumer(消费者)类以及FilterToConsumerBinding类。WMI Consumer用来指定要执行的具体操作,包括执行命令、运行脚本、添加日志条目或者发送邮件。WMI Filter用来定义触发Consumer的具体条件,包括系统启动、特定程序执行、特定时间间隔以及其他条件。FilterToConsumerBinding用来将Consumer与Filter关联在一起。创建一个WMI永久事件订阅需要系统的管理员权限。

我们观察到APT29使用WMI来完成后门的本地持久化并存储PowerShell后门代码。为了存储后门代码,APT29创建了一个新的WMI类,添加了一个文本属性以存储字符串,并将加密base64编码的PowerShell后门存放在该属性中。

APT29创建了一个WMI事件订阅来运行该后门,其具体内容是通过PowerShell命令,直接从新的WMI属性中读取、加密和执行后门代码。通过这种方法,攻击者可以在系统中安装一个持久性后门,并且不会在系统磁盘上留下任何文件(除了WMI仓库中的文件之外)。这种“无文件”后门技术使得常见的主机分析技术难以识别恶意代码。

三、POSHSPY的WMI组件


POSHSPY后门的WMI组件利用一个Filter来定期执行PowerShell脚本。在某个样本中,APT29创建了一个名为BfeOnServiceStartTypeChange的Filter(如图1所示),过滤条件设为每周一、周二、周四、周五以及周六的当地时间上午11:33时各执行一次。

图1. “BfeOnServiceStartTypeChange“的 WMI查询语言(WMI Query Language,WQL)

过滤器条件

“BfeOnServiceStartTypeChange”过滤器绑定到一个CommandLineEventConsumer消费者:WindowsParentalControlsMigration。APT29配置WindowsParentalControlsMigration消费者来静默执行经过base64编码的PowerShell命令,该命令在执行时会提取、解密并执行存储在RacTask类的HiveUploadTask文本属性中的PowerShell后门载荷。图2显示了WindowsParentalControlsMigration消费者所执行的“CommandLineTemplate”命令。

图2. WindowsParentalControlsMigration执行的CommandLineTemplate命令

从“CommandLineTemplate”命令中提取的PowerShell命令,解码后如图3所示:

图3. 从CommandLineTemplate中提取的解码后的PowerShell代码

四、POSHSPY的PowerShell组件


POSHSPY样本的全部代码可以在这里找到。

POSHSPY后门可以下载并执行PowerShell代码以及Windows可执行文件,该后门包含几个主要功能,包括:

1、下载PowerShell代码并使用EncodedCommand参数执行该代码。

2、将可执行文件写入到“Program Files”目录下随机选择的一个文件夹中,并将可执行文件名改为与所选文件夹相匹配的名称,如果写入失败,则使用系统生成的临时文件名,扩展名为“.exe”。

3、修改下载的每个可执行文件的标准信息时间戳(创建时间、修改时间以及访问时间),以匹配System32目录中随机选择的一个文件的时间戳,创建时间被修改为2013年之前。

4、使用AES和RSA公钥加密算法对木马通讯进行加密。

5、利用域名生成算法(Domain Generation Algorithm,DGA),通过域名、子域名、顶级域名(top-level domains,TLDs)、统一资源标识符(Uniform Resource Identifiers,URIs)、文件名和文件扩展名列表,生成C2服务器的URL地址。

6、使用自定义的User Agent字符串,或者使用从urlmon.dll中提取的系统User Agent字符串。

7、在每个网络连接中使用的都是自定义cookie键值或随机生成的cookie键值。

8、按2048字节分段上传数据。

9、在上传或下载前,在所有的加密数据前附加一个文件签名头部,文件类型从以下几种类型中随机选择:

ICO、GIF、JPG、PNG、MP3、BMP

本文分析的这个样本使用了11个合法域名,域名的所有者为同一个机构,其地理位置处于受害者附近。这些域名与DGA算法相结合后,可以生成550个不同的C2服务器URL地址。样本的活跃程度较低,使用DGA算法以生成复杂的C2服务器地址,通信数据中添加其他文件类型头部以绕过基于内容的安全审核,种种行为使得安全人员难以通过常规的网络监控技术识别该后门。

五、总结


POSHSPY是APT29组织技术能力的一个绝佳样例。通过这种无文件后门技术,攻击者可以构造一个非常独立的后门,并与他们之前的普通后门结合使用,确保在普通后门失效后还能实现对目标的持久性渗透。如果你掌握WMI和PowerShell的相关知识,你不难发现这个后门存在的痕迹。通过在系统中启用并监视增强型PowerShell日志,我们可以捕捉到恶意代码的执行过程,因为使用WMI持久化技术的合法应用非常稀少,我们可以遍历系统环境,快速准确地找到其中的恶意文件。这个后门是我们捕获的几个后门家族中的其中一员,其他的后门包括域名前移后门以及HAMMERTOSS后门。

六、相关阅读


这篇文章介绍了如何利用PowerShell日志获取更多信息,提高系统中PowerShell活动的可见性。

William Ballenthin、Matt Graeber和Claudiu Teodorescu发表的白皮书介绍了与WMI有关的攻击、防御和取证技巧。

Christopher Glyer和Devon Kerr的演示文档介绍了在Mandiant之前调查工作中发现的与WMI技术有关的其他攻击活动信息。

FireEye公司的FLARE团队公布了一个WMI仓库解析工具,以便调查人员能够提取内嵌于WMI仓库中的数据,从而识别使用WMI持久化技术的应用。

相关推荐

14款健身APP蹿红 看看下载最多的是哪款?

Zombies,Run!($3.99,安卓,iOS)如果你的运动理念是:除非有人追,否则绝不跑起来,那么这款APP应该适合你。Zombies,Run!这款程序把单调的跑步过程变身为躲避僵尸的游戏...

微软官方彩蛋庆祝《回到未来》纪念日

2015年10月21日,是MartyMcFly和Brown博士回到未来的时间。现在,这一天真的到了,那么当时影片中展示的一些科技产品究竟有多少实现了呢?作为一家走在技术前沿的公司,日前,微软就在M...

时尚圈最潮同志情侣 帅到没朋友(同志情侣微信头像)

来源:MSN时尚综合|2015-03-0419:45:15男演员ZacharyQuinto(中)与男模MilesMcMillan(右)于纽约街头公开热吻。情人节这个拥有不同起源传说,最早可以...

IE浏览器阻止过期ActiveX控件或将影响网银的使用

IE浏览器网银IE浏览器网银如果经常使用IE浏览器浏览网页的用户,可能都有遇到过浏览器窗口提示安装ActiveX控件的情况,一般情况下用户也是会选择直接安装。ActiveX控件广义上是指微软公司的整...

如何使Microsoft Band连接到WP设备

如果你幸运地购买到了MicrosoftBand,那么恭喜你。现在我们(winbeta)推出了“帮助系列”,那些尚未买到MicrosoftBand的朋友可以了解设备的一些新功能,以及设备的其他关键特...

毕业生不得不看的五大骗局全揭秘(毕业生防骗)

目前,距离高校大学生毕业已不足100天,大部分毕业生都十分忙碌。论文定稿、答辩,参加招聘、面试等成了应届毕业生的头等大事。但随着毕业季的临近,不法分子专门针对毕业生的诈骗高发期也随之来临。360手机安...

菠萝觅生活是O2O应用流量入口最大的供应商

现在主流的传统O2O生活服务,他们其实都有一个共通点,那就是各行其道。打车有快的,滴滴,外卖有饿了么,买机票有去哪儿网…每个APP都有着自己的核心竞争力。而用户呢?既想拥有海量有趣应用,又担心占用过多...

WP8.1版MSN健康应用,现已支持锁屏计步

IT之家(www.ithome.com):WP8.1版MSN健康应用,现已支持锁屏计步@WP之家报道,微软今天已将必应系列应用品牌归为MSN,除此之外,WP8.1版MSN健康和天气应用也获得一些新的...

短信就能传播手机病毒?看完推理惊呆了!

很多人都收到过一种带网址的陌生短信,有的人会点击网址看看,有的还会在好奇心驱使下回复短信。近日《北京新发现》栏目报道了一起离奇的电信诈骗案,事主耿先生的银行卡从未离身,但是在收到一条带网址的陌生短信,...

微软OneClip:我承包了你的剪贴板(微软onedrive云空间)

不久前,Twitter用户WalkingCat曝光了微软一款名为OneClip的应用。这是一款剪贴板应用,根据描述这款应用将覆盖Windows10(包括桌面和移动)、iOS和Android平台,可以...

Windows 10手机应该是什么样?微博用户给出了概念图

随着Windows10发布的不断临近,WindowsPhone的用户对Windows10的旗舰手机的期望也越来越高,我们WP中文网也在微博上发出了同样的问题,搜集用户对Windows10的硬...

云管家出席武汉2015年支付宝O2O生态峰会

2月4日,蚂蚁金服O2O生态峰会在武汉启幕。此次峰会展现了2015年蚂蚁金服在O2O领域的开放思路和策略,以及合作伙伴对O2O的创新观念及思路分享,吸引了武汉近3000名企业大佬、众多创业者、第三方服...

微软将于下周开启Windows开发中心帐号迁移工作

自下周开始微软将启动Windows开发中心的帐号迁移工作。根据WindowsBuildingApps博客透露Windows开发中心帐号迁移工作将会分为几个阶段。首个阶段从下周开始持续到今年7月份...

如何解绑已经合并的MSN账户和Skype账户?

如果您绑定的账户已经充值,建议您把产品消耗完毕后,再进行解绑。当您需要解绑合并的账户时,可登入Skype点卡账户自助操作。输入Skype或MSN账号、密码登录账户:登录后,可在页面左下角选择语言"中文...

微博账号已显示所属MCN机构,成为目前第二个上线该功能的平台

7月25日,多位网友发现,部分微博大V的个人主页已经显示其所属的MCN机构名称,微博也成为目前第二个上线该功能的平台。【来源:中新经纬】声明:此文版权归原作者所有,若有来源错误或者侵犯您的合法权益,您...

取消回复欢迎 发表评论: