使用VSCode远程调试恶意Powershell脚本

本文介绍了如何使用VSCode进行远程调试Powershell恶意脚本,以提高解密分析效率。通过虚拟机环境搭建、VSCode配置和远程调试步骤,详细解析了如何在安全环境下对混淆、加密的Powershell后门进行动态分析。
摘要由CSDN通过智能技术生成

概述

在野的Powershell恶意脚本总是经过多重混淆、加密,直接静态分析难以得知脚本具体有什么恶意行为,所以需要对其进行动态调试。目前最常用的Powershell调试器是ISE,但ISE没有较友好的调试窗口,使得调试脚本时效率低下,下面,将介绍使用VSCode实现远程调试Powershell脚本,帮助你提升解密分析Powershell恶意脚本的效率。

样本获取

本次演示所使用的样本为一个Powershell后门,其特点是有多层恶意代码,会从C&C服务器多次加载不同payload,样本地址为:https://app.any.run/tasks/bcc45d64-8d87-42e2-9dad-d8cad6fbc20d。
1

母体为一个bat脚本,主要功能就是执行一段base64加密后的Powershell脚本。
2

解密后的代码,正是这个样本的核心代码,接下来就开始对其进行调试分析。
3

虚拟机环境搭建

首先虚拟机建议使用Win10,因为VSCode的远程调试功能与Win10兼容性更好,同时,建立远程会话需要将虚拟机里的网络类型设置为专用。
4

然后在虚拟机里运行:winrm quickconfig,即可开启Windows 远程管理(WinRM) 服务。
5

为了在虚拟机里成功运行调试Powershell脚本,还需开放脚本执行权限set-executionpolicy unrestricted,以及关闭Windows Defender。

本机VSCode环境搭建

远程调试,需要安装Powershell插件,打开VSCode,直接在商店搜索直接安装即可。
6

在Powershell控制台中输入:Enter-PSSession -ComputerName [虚拟机ip] -Credential [虚拟机用户名],敲入密码,即可远程登录到虚拟机。然后将待调试的脚本放入虚拟机中,输入:psedit [虚拟机中的脚本路径],加载目标脚本。
7

远程调试分析

在关键代码处下断点,按下F5调试便可以运行到断点处,右侧则是变量的值,通过调试我们可以得知该段代码的作用是从http://miranda.tattooforsure.com:8888/admin/get.php读取恶意代码并执行。
8

VSCode远程调试也支持编辑脚本,可以新增一行代码:$payload = -JOIn [ChAr[]](& $R D a t a ( Data (

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值