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.PSVersionGet-Host | Select-Object Version,确认一下当前PowerShell的版本,如图:

image-20201121191015098

如果查询出来的版本号跟上图一样为2.0版本,则需要升级PowerShell版本。

下载PowerShell5.1升级包

微软官网下载:https://www.microsoft.com/en-us/download/details.aspx?id=54616

image-20201121191956842

安装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,如图:

image-20201121214754515

然后就会自动安装了,安装完重启完事~

安装PowerShell插件

在插件中搜索PowerShell,然后点击安装就可,如图:

image-20201121220221374

注:安装完会提示一个是否更新,这里选择不更新(更新会报错,原因不详)。

image-20201121234139568

安装完成后右下角会出现绿色的PowerShell图标,代表安装好了,然后就可以下断点进行调试了,如图:

image-20201121234803189