频道栏目
首页 > 安全 > 网络安全 > 正文
深度剖析俄罗斯黑客组织APT29的后门
2017-04-15 10:45:00           
收藏   我要投稿

深度剖析俄罗斯黑客组织APT29的后门。POSTSPY最大程度的利用了内置于Windows系统中的特性来设置隐蔽的后门,这些特性被称为“living off the land”(意思是入侵者使用系统凭据和合法的软件管理工具访问系统,感染和收集有价值的数据)。POSHSPY使用WMI来存储后门代码,使其对不熟悉WMI机制的人不可见。PowerShell只有在合法系统过程能被执行,如果是恶意代码执行,能通过加强日志分析或者内存就可以发现。

POSHSPY中的特点,如罕见的后门信标、流量混淆、多层加密以及地理位置合法的C2(command and control,指挥控制)网站,增加了网络流量识别的难度,也使得POSHSPY性能高效,执行隐秘。

2015年Mandiant在一次事件响应发现了早期变种的POSHSPY后门,部署为PowerShell脚本。随后,在同样的事件响应中,攻击者更新了后门的部署策略,改用WMI来做存储和持久化。从那以后,在过去的两年,Mandiant在其他一些被APT29攻击的系统中发现了POSHSPY。

我们在 “No Easy Breach”讨论中第一次探讨了APT29这个后门。有关我们第一次检测后门的方法和调查报告的更多细节,请读者查看 幻灯片 和 演讲视频 。

Windows管理规范简介

WMI是一个管理框架,内置在2000以后的每个Windows版本中。VMI为本地系统和远程系统提供很多管理能力,包括查询系统信息,开始和结束处理过程及设置条件触发器。多种方式都能访问WMI,如:Windows WMI命令行(wmic.exe),通过能访问程序和脚本语言(PowerShell)的API。Windows系统WMI数据存储在WMI的公共信息模型(common information model,CIM)仓库,它在路径System32wbemRepository下存放文件。

WMI类是WMI的主要框架。WMI类包含方法(代码)和属性(数据)。具有足够系统级别权限用户可以定义用户类或扩展默认类的功能。

VMI的永久事件订阅支持到达既定条件时触发相应行为。攻击者常常利用这个功在系统启动后执行后门。订阅模块包含3个核心WMI类:Filter(过滤器)、Consumer(消费者)和FilterToConsumerBinding。WMI消费者类用来指定具体行为,包括执行命令,运行脚本,增加日志记录,或者发送邮件。WMI Filter类定义触发Consumer条件,包括系统启动,程序执行,过滤指定时间等等。FilterToConsumerBinding类连接Consumer类和Filter类。WMI永久事件订阅需要系统的管理员权限才能建立。

我们已经证实APT29利用WMI作为永久后门(Persistent Backdoor,即使系统升级补丁也能持续访问系统),并存储PowerShell后门代码。为存储代码,APT29创建了一个新的WMI类,并为其添加了一个用来存储字符串的文本属性。APT29在文本中添加了加密的Base64编码的后门代码。

APT29随后建立一个WMI事件订阅用来执行后门代码。他们将这个“订阅”配置为运行PowerShell命令,可直接从WMI的文本属性中读取、解密和执行后门代码。这样就可以在WMI仓库之外,成功安装一个永久后门,而不会在系统硬件驱动留下任何人为操作痕迹。这种“无文件”后门方法论使得利用标准的主机分析技术识别后门更加困难。

POSHSPY WMI组件

POSHSPY后门的WMI组件使用过滤器来定期执行PowerShell组件。如图1所示,APT29在实例中建立一个名为BfeOnServiceStartTypeChange 的Filter。Filter配置为每个星期一、星期二、星期四、星期五和星期六,在当地时间11:30定期执行。

\

图1 :“BfeOnServiceStartTypeChange” WMI查询语言(WMI Query Language,WQL)过滤条件

BfeOnServiceStartTypeChange过滤器绑定到一个命令行事件消费者(CommandLineEventConsumer)WindowsParentalControlsMigration。WindowsParentalControlsMigration 消费者被配置为静默运行(不需要启动Window cmd运行命令)一条base64编码的PowerShell命令。这个命令执行过程中,抽取、解密和执行存储于RacTask类的文本属性HiveUploadTask 的PowerShell后门。PowerShell命令包含存储位置和加密主键。图2展示了“命令行模板(CommandLineTemplate)”命令,由WindowsParentalControlsMigration消费者执行。

\

图2:WindowsParentalControlsMigration命令行模板

图3展示了从上述模板解码的PowerShell命令

\
\

图3:从命令行模板解码后的PowerShell代码

POSHSPY PowerShell组件

完整的POSHSPY示例代码可在 这里 下载。

点击复制链接 与好友分享!回本站首页
上一篇:浅析用户行为分析系统(UEBA)
下一篇:TOP10:白客和黑客们都喜欢用的Linux操作系统
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站