Mona插件安装
ssooking Lv5

前言

Mona是

PyKD
- allows Python to be used to script WinDbg

Mona仅在WinDBG以及Immunity Debugger 1.83及更高版本上运行

安装Mona

Windbg

一定要注意:如果使用32位windbg,则安装32位python;使用64位windbg,则安装64位python。

Windbg Preview 可以同时放32位和64位pykd.dll,但是如果调试32位程序,就要用32位python;如果调试64位程序,就要用64位python。

1.安装Python 2.7.x (x86或者x64),并配置环境变量。

2.安装pykd

安装python拓展插件pykd

下载pykd_ext,把32位或者64位的pykd.dll复制到对应位数的windbg的winext目录。

然后安装pykd库

1
pip install pykd

或者直接在windbg的命令行模式下安装

1
0:000> !pip install --upgrade pykd

2.管理员权限安装VC++运行库 (vcredist_x86.exe & vcredist_x64.exe) 待测:不安装这个

3.下载mona.pywindbglib.py,把这两个py文件到Windbg根目录下:

1
2
C:\Program Files(x86)\Windows Kits\10\Debuggers\x86\
C:\Program Files(x86)\Windows Kits\10\Debuggers\x64\

5.测试mona是否运行正常

1
2
0:000> .load pykd
0:000> !py mona.py

另一种安装pykd拓展的方法:下载pykd-xxx.whl,改后缀名为zip并解压。

  • 把pykd目录下的pykd.pyd文件复制到Windbg的winext目录下
  • 注册pykd目录下的msdia140.dll: regsvr32 msdia140.dll
  • 重复上面的操作3,把mona.pywindbglib.py复制到Windbg根目录下

打开windbg,随便附加一个程序,command输入以下命令:

1
2
0:000> .load pykd.pyd
0:000> !py mona.py

设置工作目录

调试不同的程序时,mona命令的日志输出文件是相同的,导致新的日志输出会覆盖旧的,可以设置对不同程序的调试日志输出到不同目录。

1
!py mona config -set workingfolder "C:\logs\%p"

更新mona

1
!py mona update

报错

1
0:000> !py mona.py
1
2
3
NOTE: PyKD v0.3.4.11 requires msdia120.dll, which only gets installed via Visual Studio 2013 (yup, I know)
Alternatively, you can use the copy of msdia120.dll from the pykd.pyd file
(https://github.com/corelan/windbglib/raw/master/pykd/pykd03.zip), but use this file at your own risk

For PyKd v0.3.4.11:
Either install Visual Studio 2013, or get a copy of msdia120.dll and register it manually

1
2
3
4
5
You can find a copy of msdia120.dll inside the pykd.zip file inside the github repository
(Use at your own risk!). Place the file in the correct 'VC' folder and run regsvr32 from an administrative prompt:
(x86) regsvr32.exe "%ProgramFiles%\Common Files\microsoft shared\VC\msdia120.dll"

(x64) regsvr32.exe "%ProgramFiles(x86)%\Common Files\microsoft shared\VC\msdia120.dll"

Immunity Debugger

1.安装32位的python2.7.x,并添加系统环境变量

注意,这里只能安装32位的python,因为Immunity Debugger仅支持32位。

2.把mona.py复制到Immunity Debugger的PyCommands目录

3.测试mona

执行!mona命令,此时会跳出日志窗口,显示mona命令的帮助。或者手动打开日志窗口(ALT-L)查看。

设置工作目录

1
!mona config -set workingfolder c:\logs\%p

设置作者

1
!mona config -set author corelanc0d3r

https://connect.ed-diamond.com/MISC/MISC-079/Ramonage-de-vulns-avec-mona.py

例如,这是贾斯汀·塞茨(Justin Seitz)撰写并由No Starch Press出版的出色的“ Gray Hat Python”脚本,进行了一些较小的修改,尤其是使其与最新版本的ImmunityDbg(1.85)兼容

Reference

Mona pykd.dll方式安装:https://arch-vile.com/?p=369

WinDBG Configuration

https://yan-1-20.github.io/2016/08/22/2016/8/22/

mona基础安装及命令:https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/

  • Post title:Mona插件安装
  • Post author:ssooking
  • Create time:2020-01-20 18:24:00
  • Post link:https://ssooking.github.io/2020/01/mona插件安装/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.