PowerShell脚本样本分析
PowerShell脚本样本分析
haidragon 安全狗的⾃我修养 2022-11-06 15:34
PowerShell脚本样本分析
该恶意⽂件为ACE压缩⽂件,内含4个jpg⽂件和⼀个PE⽂件,利⽤WinRAR漏洞(CVE2018-20250),诱使受害者解压⽂件触发漏洞释放PE⽂件到启动⽬录,等待计算机重启后⾃动执⾏。通过⾃启的PE⽂件,释放powershell脚本、vbs脚本,并写⼊⾃启项到注册表,层层解密得到Y终的powershell攻击脚本,计算机启动后⾃动执⾏攻击脚本。脚本包含功能:远端下载⽂件、接收执⾏远端命令、解码数据等功能。powershell脚本经过⼏⼗次的混淆,⼿动反混淆⽐较费时间,定位到混淆⽤到的指令iex所在C#库,修改替换库可以⽐较⽅便的获取到混淆之前的代码。
1. 样本概况
1.1 样本信息
⽂ 件 名 : 9CFB87F063AB3EA5C4F3934A23E1D6F9Size: 410224 bytesMD5:
9CFB87F063AB3EA5C4F3934A23E1D6F9SHA1:
7E181CE4CD405836E658C888334CD5893637FB1ACRC32: 7A9FCD5C
1.2 测试环境及⼯具
运⾏平台:Windows 7 X64系统监控⼯具:⽕绒剑调试⼯具:IDA Pro、Windows
Powershell ISE
2. 沙箱监控
使⽤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-20250
WinRAR⽬录穿越漏洞(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组织利⽤⼿段信息库中 , 本 次 样 本 的 利 ⽤ ⽅ 式 , 也 匹 配 该 组 织 曾 使 ⽤ 的 技 术 ⼿ 段 。
点击关注,共同学习!
安全狗的自我修养