首页
社区
课程
招聘
[原创]病毒分析学习笔记:powershell反混淆
发表于: 2019-12-2 14:07 10181

[原创]病毒分析学习笔记:powershell反混淆

2019-12-2 14:07
10181

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。
Windows PowerShell v3将伴随着Microsoft Hyper-V 3.0和Windows Server 2012发布。PowerShell v3是一个Windows任务自动化的框架,它由一个命令行shell和内置在这个.NET框架上的编程语言组成。
PowerShell v3采用新的cmdlet让管理员能够更深入到系统进程中,这些进程可以制作成可执行的文件或脚本(script)。一条cmdlet是一条轻量命令,Windows PowerShell运行时间在自动化脚本的环境里调用它。
目前在流行的病毒里,还有许多使用了powershell。office宏病毒通过宏代码调用powershell执行恶意行为、powershell无文件挖矿等。特别是无文件挖矿的反射型注入,被许多人称为老掉牙的技术了,但是在9102年了还有许多用户中招。分析这类powershell病毒时,无法避免的是面对一堆乱码————经混淆的powershell代码。一些经过高度混淆的代码,简直可以称为“非人般的操作”了。

网上帖子太多了,可以参考下看雪论坛用户发的翻译贴:
https://bbs.pediy.com/thread-248034.htm

目前搜了搜,网上能自动反混淆的工具
Unit42安全团队编写的PowerShellProfiler.py:
github地址:
https://github.com/pan-unit42/public_tools/tree/master/powershellprofiler
用法及原理参考:
https://www.freebuf.com/sectool/219057.html

在线解码工具CyberChef:
https://gchq.github.io/CyberChef/
使用方法参考:
https://www.secpulse.com/archives/109912.html

以上两款工具试着使用了下
一些简单的混淆能够解开,但是一些经过好几层的混淆代码就不太好使了。

上次遇到了一个混淆次数较多,对我来说算得上是“高度混淆”样本,记录一下我的手动反混淆过程。

原混淆代码:

图片描述 powershell脚本的语言特性,混淆代码在执行时,最终都会被还原为本身的代码。
在这个样本中:
|.( $shEllID[1]+$shelliD[13]+'x')|.( $pSHome[4]+$PshOmE[34]+'X') == “IEX”命令
通过PowerShell的write-output命令来替换掉IEX或. ((gV 'Mdr').NaMe[3,11,2]-JoIN'')等混淆语句。
“\”符号共有6个,需要成对操作
"\" + ([CHAr]44).ToStRInG() + "\" == “,”。

第一层:
先把IEX的变形命令以及“\”符号直接删掉,并转储为.ps1文件
解出来的1.ps1文件
图片描述
图片描述

第二层:
再次发现IEX的变形命令:| .( $EnV:cOmSPeC[4,24,25]-jOIn'')
以及两个不可识别命令:
MnBms
该代码已fc为界可分为两部分

第三层
解码后仍然可见ms指令,删除并转储为5.ps1
图片描述

第四层
由第三层解出来的可见function h`e(),可先在powershell中定义一下该函数,并删除末尾的ms指令继续转储为6.ps1
图片描述

第五层
由上层解出来的可见HE()函数,之前在powershell里定义了该函数,可以直接删除ms并转储一下为7.ps1
图片描述
现在解出来的代码勉强可读,需要自己整理一下。看的不清楚的可以自己在powershell中执行一下会更加直观。

powershell解混淆其实并不太难,只是刚接触的时候会不太明白,无从入手。而且比较费眼神,“()”等成对出现的符号都要一一配对,否则就会出错。
并且对于通常常用的混淆方法
图片描述
我们可以直接在powershell里逐条运行,powershell就会反馈给我们它本身的样子。
最后还有大佬们还有什么好的powershell反混淆的方法或者工具吗?这手工反混淆太需要耐心、太费眼睛了

 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 33
活跃值: (318)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
学习学习,多谢分享
2020-4-26 22:10
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mark
2020-4-27 13:57
0
雪    币: 386
活跃值: (98)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
大佬写的好,学到了
2020-5-29 16:36
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
太强了  请收下我的膝盖
2021-1-11 14:53
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
有幸跟大佬在一起工作  获益匪浅
2021-1-11 14:55
0
游客
登录 | 注册 方可回帖
返回
//