-
-
[原创] windbg---获取powershell反混淆脚本(可找到相关windows api的情况)
-
发表于: 2020-11-19 10:56 3797
-
该文章内容可忽略,这个方法更好用: https://bbs.pediy.com/thread-261262.htm
使用 windbg 配合 SOS 调试扩展可以得到相对比较少混淆的 powershell 脚本,如果是多层混淆的脚本,可以节省好几层处理
原理:iex 执行时有一个参数是 powershell 脚本内容,可以直接拿出来
SOS.dll 是一个辅助调试扩展,随 .NET Framework
安装,我的位置:
分别是 64 位 和 32 位
以 windbg 64位举例,我的 windbg 路径是:D:\Windows Kits\10\Debuggers\x64
需要把 SOS.dll 放在:D:\Windows Kits\10\Debuggers\x64\winext
下
另外需要保证联网,这样才能下载 pdb 文件,缺少一些 pdb 文件会出错
启动脚本有 2 种方式:
第 1 种可以在加载可执行文件后下断点,第 2 种方式需要在执行脚本前就下断点
需要先找到脚本明显的系统 api 调用,比如在命令行有输出,那就可以在 Kernel32!WriteConsoleA
Kernel32!WriteConsoleW
下断点
然后 g
运行,在断下后,加载 sos:
接着执行一条命令,就能获取到混淆比较少的代码:
命令也可以缩写成 !dso
往上翻,可以看到很清晰的代码,越往上翻越整齐,那基本就是完全解混淆的状态了
如果想看 SOS 所有可用的命令,可以用这个命令 !sos.help
https://docs.microsoft.com/zh-cn/dotnet/framework/tools/sos-dll-sos-debugging-extension
感谢yz
C:\Windows\Microsoft.NET\Framework64\v4.
0.30319
\SOS.dll
C:\Windows\Microsoft.NET\Framework\v4.
0.30319
\SOS.dll
C:\Windows\Microsoft.NET\Framework64\v4.
0.30319
\SOS.dll
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [求助]关于注册表项关闭windows的ASLR功能 1792
- ghidra---配置获取加载pdb文件 349
- [原创]windbg相关 1842
- [分享]x64dbg---调试dll的指定导出函数 7588
- 低版本VMP脱壳 4193