PowerShell在恶意代码分析中是遇到比较多类型的样本文件类型,通常是通过Windows系统自带的ISE进行调试,但是特别卡(如果打开一个几兆的文件就能体会到了),不过也可以利用VS(毕竟是宇宙最强IDE)进行调试,效果会好些。VS官方并不附带支持PowerShell调试的工具,不过由于存在第三方作者开发的扩展插件,所以我们可以直接下载对应版本的插件即可。
下载链接如下:
PowerShell Tools for Visual Studio 20176f9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0j5i4u0C8k6i4c8H3L8r3q4U0k6g2)9J5k6i4k6A6M7%4g2S2L8s2y4@1N6h3c8A6L8#2)9J5k6h3y4G2L8g2)9J5c8X3W2@1k6h3#2K6i4K6y4r3K9i4c8W2L8f1&6S2L8h3g2Q4x3@1c8m8k6r3q4E0f1V1c8J5K9i4y4U0L8$3I4D9i4K6u0W2f1r3!0%4k6i4u0e0K9r3g2D9L8q4c8G2L8$3I4K6k6X3!0J5g2X3W2K6N6h3q4D9f1%4c8#2k6r3W2G2x3U0l9I4y4#2)9J5k6o6p5^5y4e0j5I4
PowerShell Tools for Visual Studio 20158b0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0j5i4u0C8k6i4c8H3L8r3q4U0k6g2)9J5k6i4k6A6M7%4g2S2L8s2y4@1N6h3c8A6L8#2)9J5k6h3y4G2L8g2)9J5c8X3W2@1k6h3#2K6i4K6y4r3K9i4c8W2L8f1&6S2L8h3g2Q4x3@1c8m8k6r3q4E0f1V1c8J5K9i4y4U0L8$3I4D9i4K6u0W2f1r3!0%4k6i4u0e0K9r3g2D9L8q4c8G2L8$3I4K6k6X3!0J5g2X3W2K6N6h3q4D9f1%4c8#2k6r3W2G2x3U0l9I4y4b7`.`.
PowerShell Tools for Visual Studio 2013e5cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0j5i4u0C8k6i4c8H3L8r3q4U0k6g2)9J5k6i4k6A6M7%4g2S2L8s2y4@1N6h3c8A6L8#2)9J5k6h3y4G2L8g2)9J5c8X3W2@1k6h3#2K6i4K6y4r3K9i4c8W2L8f1&6S2L8h3g2Q4x3@1c8m8k6r3q4E0f1V1c8J5K9i4y4U0L8$3I4D9i4K6u0W2f1r3!0%4k6i4u0e0K9r3g2D9L8q4c8G2L8$3I4K6k6X3!0J5g2X3W2K6N6h3q4D9f1%4c8#2k6r3W2G2x3U0l9I4x3H3`.`.
以下来源于网上公开的文章,这里先记录下。下载完成后,双击进行安装。安装完成后,再使用VisualStudio新建项目时,可以看到已经可以创建Powershell项目。
创建项目完成后,在项目上单击右键-》添加-》新建项,选择“PowerShell Script”,单击确定。就可以开始编辑PowerShell脚本VisualStudio中的PowerShell也具有IntelliSense功能。脚本编辑完成以后,可以全部运行,也可以选择运行指定的脚本。
如果没有看到输入,可以选择视图->输出菜单,来打开输出窗口。
下面自己则开始本地实验,先安装好VS2015专业版(环境为Windows10,因为插件需要Windows8+以上的系统),通过i tell you 站点下载(还挺方便的),之后下载上面的插件。目前发现第一次在本地安装插件后,无法在新建项目里找到PowerShell项目模板,后续重新修改VS2015的安装配置还是无法在新建项目的时候找到PowerShell项目模板,可能笔者姿势不对吧。
后续在VS安装界面卸载了PowerShell扩展,接着又安装它,但是新建项目的时候还是没有发现存在PowerShell项目模板。过了一段时间,笔者开始采用VS2017专业版(环境为Windows10)进行实验,如下。
通过VS安装面板卸载第三方组件,然后又重新安装,在VS2017中竟然又可以了,神奇的事情,毕竟99%的问题都可以通过重装系统搞定,如果不行就换台PC,逃~。
调试的效果如下,还是很舒服的,语法高亮并没有之前使用ISE的时候那么卡卡卡。
不过经过实验,关闭VS2017后,重启系统,之后在项目模板里又没有PowerShell模板了,所以只能随用随安装,尽量别重启系统。在针对真实样本进行调试时,虽然早先已经关闭了Windows Defender的实时保护,但是一旦调试PowerShell时还是会被阻止,并自动开启实时保护,这是微软时刻为你保护,不能抱怨,嘿嘿。所以调试前得关闭Windows的防病毒程序,并在检测到后设置为允许该样本。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
非常棒,可以断点调试