VScode调试恶意PowerShell样本
前言
这些年无文件(Fileless)和不落地(Living off the Land)攻击已经非常流行,几乎成为攻击者的标配。PowerShell就是无文件攻击中比较常用的手法,并且其往往进行了多次混淆,使得分析起来十分不便。因此当能够调试PowerShell脚本时,分析的效率便会事半功倍。本文就主要介绍如何通过配置VScode来调试PowerShell脚本。
环境配置
要想通过Vscode调试PowerShell脚本,首先PowerShell的版本需要大于>2.0(Win7默认)。因此当是Win7的操作系统,需要先升级PowerShell版本。如果是Win10则不必(默认5.1)。
win7 升级PowerShell
首先执行命令$PSVersionTable.PSVersion
或Get-Host | Select-Object Version
,确认一下当前PowerShell的版本,如图:
如果查询出来的版本号跟上图一样为2.0版本,则需要升级PowerShell版本。
下载PowerShell5.1升级包
微软官网下载:https://www.microsoft.com/en-us/download/details.aspx?id=54616
安装PowerShell5.1升级包
检测运行环境:安装PowerShell5.1,需要.Net Framework4.5.2以上,如果系统当前.NET Framework版本低于4.5,则需要先升级。下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=42642
Win7默认的PowerShell2.0是不允许运行脚本的,因此需要现先以管理员运行PowerShell,再输入如下命令允许执行脚本。
1 | Set-ExecutionPolicy RemoteSigned -Force |
然后在通过PowerShell运行压缩包中的脚本文件Install-WMF5.1.ps1
,如图:
然后就会自动安装了,安装完重启完事~
安装PowerShell插件
在插件中搜索PowerShell
,然后点击安装就可,如图:
注:安装完会提示一个是否更新,这里选择不更新(更新会报错,原因不详)。
安装完成后右下角会出现绿色的PowerShell图标,代表安装好了,然后就可以下断点进行调试了,如图: