![126423487be57a4290707c57a3736367.png](https://i-blog.csdnimg.cn/blog_migrate/a6e84b74dffcc38c96020a9a47953d13.jpeg)
本文为看雪论坛精华文章
看雪论坛作者ID:OK繃
目录 一、前言 二、自动化反混淆 混淆原理 自动化反混淆工具 三、手动反混淆 四、总结 一、前言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
以上两款工具试着使用了下,一些简单的混淆能够解开,但是一些经过好几层的混淆代码就不太好使了。
三、手动反混淆上次遇到了一个混淆次数较多,对我来说算得上是“高度混淆”样本,记录一下我的手动反混淆过程。
原混淆代码:
"\"(neW-OBjEcT sySTeM.Io.cOMprEsSIon.deFLaTesTREAm([SYStem.io.mEMorYSTREAM][SYSteM.coNvERT]::fRombaSE64STRing('TZjHDuRIcoZfpQ8Cphu1anoWuYIO9N77WuyB3ntXJPTw4szoIJInJpMIZOb3xx/xU+fO/zSShmPcHz/q8fe62VysLXnM5vbPHz9//P/h9XLcvP8tjb+ZsTdtzlklQ//NckUXb5yzPZP6n/96RnuuN+znW/t58e8f/3Kidcu13+k4+Lm9/fuf/ywWQ0uolcNRZ7Mlvfz5h/nRbQc6v5wUAk7FqpnLJ+/2hK/Ybe20DWh6Y/32S02SXcMQa4HHZM0mcgye+1X9ezdC09DRFuXWdEAHFthUCIUHwrlARAXymyCON4uSRVFDdXB/OJRPchFH7i9hILvNnBTrOyeSg7hVm7VFSBBXe4lit0mW2oxcdbPAI2zChwxbVSA9+Wu6rHCBZbv/5VovEfRy4Zz+EkzEC1aKiWwASqkjxstrovmKOz2sqXOBBPfRmDikjpVvH+cC0fY38/5