PowerShell脚本类病毒分析

PowerShell介绍

Powershell 是早期一种VBScript的代替脚本语言,同时也是一种shell命令行执行窗口。微软最初出行PowerShell的原因是为管理员提供的自动化管理工具。在2016年中期,微软迈出了之前想都不会想的一步,完整开源了Windows PowerShell。

为什么要重视Powershell?
1.GUI无法带来效率上的提升。
2.其他脚本语言总是有种种缺憾。
3.越来越多的产品和Windows系统中组件已经采用PowerShell

现今的反病毒产品,对于检测磁盘上的恶意文件,是相当在行的;然而,要想检测到只存在于内存中的恶意代码,他们往往是事倍功半。内存的易失性、动态性,使得恶意软件很容易地改变形态;同时,可以自由地运行,无需顾忌任何反恶意技术的侦测。Powershell因其功能强大,而且无文件落地内存中执行,所以在无文件攻击中Powershell的攻击方式是非常流行的。例如:PowerGhost,2018年被发现使用Powershell无文件方式进行攻击感染的挖矿以及DDOS病毒。今年11月份深信服披露的MSASCMiner组织的挖矿病毒等等。

PowerShell的参数

在Windows cmd命令窗口中使用powershell -h命令即可方便查看参数用处。
在这里插入图片描述
Powershell脚本类攻击经常用到的参数 :
Nologo 表示启动时隐藏版权标志
NoProfile 不使用用户配置文件
NonInteractive 不向用户显示交互式提示
ExceptionPolicy 执行策略 一般都是bypass
WindowsStyle 一般都是Hidden
enc 就是encode的宿写,默认指base64编码加密。

PowerShell的去混淆与解密

去混淆与美化时的逻辑:
遇到“$ ;” 必换行
如果$后面的变量名字只出现过一次,那么就删除改行(去混淆无用变量名字)
遇到{和}换行 遇到第二个{再缩进2个空格
最后统一转换为小写字母(部分代码可能会受影响无法执行,但方便观察)

这样可以使杂乱无章的powershell脚本变漂亮,容易审查。也可以写个python。

Powershell最常用的就是base64编码加解密,BASE64加解密
该网站比较适合加解密powershell的base64编解码。

PowerShell的调试

调试前需要关闭执行策略限制:

set-executionpolicy remotesigned

或者

set-executionpolicy unrestricted

Win10以上还需要关闭Windows Defender

reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender” /v “DisableAntiSpyware” /d 1 /t REG_DWORD /f

调试方法有两种:ISE调试 和VSCode调试 ,相比之下VScode调试比较灵活,因为可以在调试时添加代码,显示的变量比较方便
在这里插入图片描述
掌握powershell的一些语法在遇到一些复杂的脚本类病毒会有很大帮助,推荐一本《Windows PowerShell实战指南 第2版》

使用VSCode调试powershell的可以参考
https://blog.csdn.net/m0_37552052/article/details/108978935

PowerShell的解密

一、join用法
下面列举三个使用 -join 进行字符串连接的例子:
PS C:> -join (“Windows”,“Powershell”,“5.0”)
WindowsPowershell5.0
PS C:> “Windows”,“Powershell”,“5.0” -join " "
Windows Powershell 5.0
PS C:> $x = “Wind”,“sP”,“ershell”
PS C:> $x -join “ow”
WindowsPowershell

二、IEX的变形
((GV ‘mDR’).nAMe[3,11,2]-jOin’’)就是iex

三、powershell命令中直接输出到txt
[System.IO.File]::WriteAllBytes(“C:\OUT”, $var_code)
powershell运行结果输出到txt
在这里插入图片描述
在这里插入图片描述

参考文献

https://blog.csdn.net/m0_37552052/article/details/108978935

猜你喜欢

转载自blog.csdn.net/qq_43312649/article/details/109644191