恶意PowerShell脚本分析
2022-11-7 10:30:14 Author: 安全狗的自我修养(查看原文) 阅读量:14 收藏

恶意PowerShell脚本分析

该恶意文件为ACE压缩文件,内含4个jpg文件和一个PE文件,利用WinRAR漏洞(CVE-2018-20250),诱使受害者解压文件触发漏洞释放PE文件到启动目录,等待计算机重启后自动执行。通过自启的PE文件,释放powershell脚本、vbs脚本,并写入自启项到注册表,层层解密得到最终的powershell攻击脚本,计算机启动后自动执行攻击脚本。脚本包含功能:远端下载文件、接收执行远端命令、解码数据等功能。powershell脚本经过几十次的混淆,手动反混淆比较费时间,定位到混淆用到的指令iex所在C#库,修改替换库可以比较方便的获取到混淆之前的代码。

1. 样本概况1.1  样本信息文件名:9CFB87F063AB3EA5C4F3934A23E1D6F9Size: 410224 bytesMD5: 9CFB87F063AB3EA5C4F3934A23E1D6F9SHA1: 7E181CE4CD405836E658C888334CD5893637FB1ACRC32: 7A9FCD5C1.2  测试环境及工具运行平台:Windows 7 X64系统监控工具:火绒剑调试工具:IDA Pro、Windows Powershell ISE2. 沙箱监控使用WinRAR打开查看压缩包内容,包含4个jpg图片文件和一个exe文件Dropbox.exe,并设置有路径:C:\C:C:..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

解压后会触发WinRAR漏洞(CVE-2018-20250),释放exe到启动目录。

Dropbox.exe将在计算机启动时自动运行。其详细功能见逆向分析。3.    逆向分析3.1 CVE-2018-20250WinRAR目录穿越漏洞(CVE-2018-20250):该漏洞是由于WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,该动态链接库在2006 年被编译,没有任何的基础保护机制(ASLR,DEP 等)。该动态链接库的作用是处理ACE 格式文件。而在解压处理过程中存在一处目录穿越漏洞,允许解压过程写入文件至开机启动项,导致代码执行。3.2 Dropbox.exe分析将Dropbox.exe脱掉upx壳

脱壳后的PE文件信息

使用IDA Pro静态分析,主要行为:释放并执行ps1脚本。

释放目录:

3.3 释放的脚本a.ps1

主要行为:解密生成并执行vbs脚本
3.4 释放的vbs脚本

主要行为:创建id.png文件,被加密的powershell脚本文件”

创建tmp.vbs文件,用于隐藏窗口执行命令

注册开机自启服务CortanaService,作用为—启动tmp.vbs无窗口执行解密脚本,解密脚本解密id.png文件,得到“被混淆的powershell脚本”,见下图。

脚本执行完成后,文件资源管理器查看被释放的文件:

解密脚本:

解密得到被混淆的ps1脚本,该脚本分析见下节。
3.5 反混淆powershell脚本混淆脚本见下图:

脚本使用Invoke-Expression指令,将混淆脚本代码字符串作为命令执行,并使用字符串反转、字符串替换等手段混淆脚本。修改替换Invoke-Expression指令对应的库,在执行iex函数执行命令时保存命令文本,得到如下明文脚本:

该脚本开机时被执行,详细分析见下节。
3.6 明文powershell脚本

运行时首先进入如下循环:(该循环作用为连接服务端并上传设备信息)尝试获取设备信息,并连接服务器,连接成功则跳出循环进行下一步操作。

获取设备信息操作如下:(1)收集当前环境信息:Windows版本;内网IP地址;系统位数;计算机名称;用户组;公网地址。(2)计算hash得到一个设备识别id。

(3)获取计算机当前公网地址如下

连接服务端报错日志:

由于样本的远端服务器失效,将在死循环请求连接。手动跳出循环观察后续行为:
进入下一个循环:(本循环用于接收服务端指令)

分发服务端返回的指示,并执行对应指示操作:

该循环的主要行为整理如下:

4.  网络行为4.1 上传设备信息的post请求:

url:http://162.223.89.53/oa/data:序列化的设备信息
4.2 接收服务端指令的get请求

url:http://162.223.89.53/oc/api/?t={deviceID}
4.3 发送服务端指令执行结果

url:http://162.223.89.53/or/?t={deviceID}data: 处理结果
4.4 查询计算机所在公网ip

5.  溯源5.1 IP关联

样本请求的服务器地址被收录在微步开源情报, 地址标签归属于APT组织MuddyWater。
5.2 公开报告根据APT组织MuddyWater与样本利用漏洞检索发现微软曾发布如下报告:利用WinRAR CVE-2018-20250漏洞的针对性攻击分析。报告提供CVE-2018-20250利用的攻击链与本样本一致:

5.3 APT组织简介

在收录的apt组织利用手段信息库中,本次样本的利用方式,也匹配该组织曾使用的技术手段。

其它学习教程。


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwOTE5MDY5NA==&mid=2247486333&idx=1&sn=c6639e485939331756c4ec4785ac6011&chksm=c13f3834f648b1223ec4296063473c997c0dbe307b98e95fb9092be07b925f61e58db0864774#rd
如有侵权请联系:admin#unsafe.sh