解析APT29的无文件WMI和PowerShell后门
cac55 2024-10-13 01:22 95 浏览 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持久化技术的应用。
相关推荐
- 这些端口关闭后,系统会更安全!系统高危端口及其关闭方法?
-
在这高速发展的网络信息时代,信息安全显得非常重要,病毒、木马、非法侵入等安全事件经常发生。在我们使用电脑过程中,为了确保系统安全,以下高危端口必须关闭,防患于未然。一.Windows系统的445端口...
- 什么是安全组_什么是安全组件
-
安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云计算环境中设置网络访问控制,保护云服务器(ECS实例)、负载均衡、云数据库等资源。核心特性:虚拟防火墙:安全组控制云资源的出入站流量,决定...
- 针对单个网站的渗透思路(精)_网站渗透步骤
-
欢迎搜索公众号:白帽子左一每天分享更多黑客技能,工具及体系化视频教程(免费领首先,当我们拿到一个网站的域名或者IP的时候。最先要做的是信息收集。下面着重介绍一下信息收集模块一、信息收集——端口扫描与分...
- 风险突出的高危端口汇总 一网打尽 !
-
高危端口一直是攻击者关注的焦点,了解这些端口的风险、攻击方式及防护策略至关重要。一、文件传输类端口1.TCP20/21:FTP服务端口FTP(文件传输协议)用于文件的上传和下载。其明文传输特性使得...
- 指定IP地址进行远程访问服务器设置方法(windows系统)
-
我们有很多服务器经常受到外界网络的干扰,入侵者们通过扫描3389端口爆破密码非法进入我们的服务器,这时,我们可以配置服务器IP安全策略来限制一些IP访问,大大提高了服务器的安全。实验环境:服务端:...
- 服务器被黑,如何查找入侵、攻击痕迹呢?
-
本文出自头条号老王谈运维,转载请说明出处。引言:随着网络的越来越普及,使用的越来越频繁,木马病毒也随之侵入进来并且肆无忌惮。如何将病毒拒之门外,已成为我们普通大众必须具备的一项技能。这样,你才能使木马...
- win10 telnet命令怎么查看端口是否打开
-
可能大家也会遇到这个问题,win10telnet命令查看端口是否打开的步骤是什么?具体方法如下:1、键盘输入快捷键WIN+R,打开运行窗口。2、输入cmd,点击确定按钮。3、弹出cmd命令行窗...
- Crysis勒索病毒针对政企服务器攻击升级 腾讯安全展开全面防御
-
近日,腾讯安全御见威胁情报中心监测发现,Crysis勒索病毒在国内传播升级,感染数量呈上升趋势,该病毒主要通过RDP弱口令爆破传播入侵政企机构,加密重要数据,由于该病毒的加密破坏暂无法解密,被攻击后将...
- Windows端口详解,这几个端口不能开!
-
一、血泪警告这7个端口开着电脑秒变公共厕所445端口:勒索病毒专用通道永恒之蓝病毒最爱突破口,文件共享功能成致命漏洞。企业内网还敢用用,个人电脑开着就是作死135-139端口:网络邻居成内鬼,Wind...
- 网络通讯笔记_网络通讯笔记怎么写
-
网络通讯一、NIC(网卡)二、CMD命令提示符三、服务、协议与端口常见的计算机服务常见的计算机端口与协议四、DOS命令1、基本DOS命令五、地址一、NIC(网卡)网络接口控制器又叫网络适配器也就是...
- 服务器远程端口是什么意思?什么是服务器远程端口?
-
什么是服务器远程端口?如图:IP冒号后面的数字这就是服务器的一个远程端口服务器远程端口是什么意思?服务器远程端口是服务器通信服务中的一个服务端窗口号码,取值范围是1-65535.一个服务器里面包含服务...
- 服务器节点到底是啥?看完这篇全明白,旧电脑也能派上大用场
-
不少朋友看了我用旧电脑改服务器节点的文章,后台都在问:“服务器节点到底能干啥?”其实这东西没那么神秘,今天用大白话讲讲,看完你就知道家里的旧设备藏着多大潜力。服务器节点:网络世界的“小工位”简单说...
- 广东通管局预警:勒索病毒威胁“关键信息基础设施”,应高度警惕
-
来源:澎湃新闻据广东省通信管理局网站消息,广东省通信管理局5月12日发布了《关于勒索病毒对关键信息基础设施威胁的预警通报》。通报称,5月7日,美国最大燃油运输管道商“科洛尼尔”(ColonialP...
- 80端口和443端口是什么?服务器端口干什么用的?
-
80和443端口是最常见的2个端口,都是提供网络WEB浏览服务所需要的端口,一台服务器通过不同的端口,提供不同的服务。80端口服务:HTTP(HyperTextTransportProtocol)...
- 从单日网络安全风险看当前网络安全状况
-
一、核心结论(从单日数据看全局风险)通过对2025年8月18日这一天的非法访问数据深度分析,可以清晰看到:网络环境中的安全威胁呈现高频次、多目标、全球化三大特征。单日4557次非法访问尝试,覆盖22、...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)