1、Immunity Debugger+Mona
Immunity Debugger调试器 请到官网下载并安装
依赖关系,需要安装Python。如果电脑没有,程序安装完成后会默认安装一个2.7版本的Python。
1.1加载Mona.py
把mona.py拷贝进Immunity Debugger安装目录的PyCommands文件夹 测试是否成功,打开Immunity Debugger,命令行输入**!mona**,打开Log(日志窗口)出现如下页面表示安装成功
1.2调试
###设置工作目录
!mona config -set workingfolder c:\logs\%p\%i
这将告诉 mona 将输出写入 c:\logs 的子文件夹。%p 变量将替换为当前正在调试的进程名称。请注意,如果不调试应用程序,Immunity 将返回以前调试的应用程序的名称。为了防止 mona 此时将文件写入应用程序文件夹,mona 还会检查调试应用的进程 ID。如果 pid 为 0(= 未附加),则输出将写入文件夹“_no_name”. 如果要进一步分组输出,甚至可以在工作文件夹参数中使用 %i 变量。此变量将替换为正在调试的应用程序的进程 ID。 此配置参数写入免疫调试器应用程序文件夹中名为“mona.ini”的文件中。
###排除模块
!mona config -set excluded_modules "module1.dll,module2.dll"
!mona config -add excluded_modules "module3.dll"
如果要从列表中删除模块,只需在免疫调试器程序文件夹中查找mona.ini并编辑该文件。
###此变量将在生成 metasploit 兼容输出时使用。如果设置此变量,它将在元模块的作者部分中使用。
!mona config -set author corelanc0d3r
//生成3000个字节的顺序字符串,测试溢出点
!mona pc 3000
//获取溢出点偏移
!mona po 0x12345678
1.3、查询
①、先导入需要查询漏洞的程序 【File】----【Open】---【程序】 ②、调用mona模块查询
!mona jmp -r esp
!mona jmo -r esp -m "shell32.dll"
③脚本更新命令
!mona update -http
或者
!mona update
2、Windbg
依赖环境:需要Python2.7。winddbg使用SDK安装,建议安装32位
3、windbg+mona
3.1、需要导入winddbglib.py、mona.py、pykd.pyd
①将 pykd.pyd 文件复制到“winext”文件夹中,该文件夹位于 WinDBG 应用程序文件夹中; ②接下来,运行vcredist_x86.exe并按照向导安装 Visual Studio 2008 ③cd C:\Program Files\Common Files\Microsoft Shared\VC 下并使用 regsvr32 注册 msdia90.dll。 ④把 windbglib.py 、mona.py放入WinDBG 安装目录中。
3.2、在 WinDBG 下运行 mona.py
①先导入一个程序,例如:notepad.exe 【File】---【open Executable】---【C:\Windows\SyStem32\notepad.exe】 ②一些 PyKD 功能依赖于 WinDBG 中正确的符号配置。“File" – "Symbol File Path”并确保设置了以下配置:
SRV*c:\windbgsymbols*http://msdl.microsoft.com/download/symbols
(请随意将 C:\windbgsymbol 替换为其他文件夹。确保符号配置末尾没有空格或换行符)。
【File】----【Symbol file path】---【填入】 ③加载 PyKD 扩展。每次打开新的 WinDBG 实例时都需要执行此操作。
.load pykd.pyd
如果要自动执行此操作,可以创建 windbg.exe 的快捷方式,并使用 -c 参数指定在 windbg 启动时要执行的命令。 windbg.exe -c ".load pykd.pyd"
④要运行 mona.py 脚本,您必须使用新的!py命令。
!py mona
⑤脚本更新命令
!py mona update
4、资源链接
1、+mona下载地址 2、+Imm dbg官网地址 3、+mona官方手册 4、+winDBG下载 5、+windbglib+pykd 6、+windbg+mona官方手册