如何使用免疫调试器通过进程挖空机制分析恶意软件创建的子进程?
逆向工程
ollydbg
调试
恶意软件
免疫调试器
登录
2021-07-03 10:00:54
1个回答
使用 ollgdbgv2 的调试子进程功能
您可能要考虑使用OllyDbg2.0而不是使用 Immunity Debugger(它是从OllyDbg1.10分叉出来的)。
ollydbg 2 中的新功能之一是此处显示的调试子进程功能:
如果在开始调试进程时启用此复选框,则每当被调试进程创建新进程时,都会自动启动 ollydbg 的新实例。但是,这不能嵌套,因为以这种方式启动/调试的进程不是由 ollydbg 启动的。
捕获进程创建
此外,您可以搜索所有导入的函数,手动检查它们并在用于创建进程的每个 API 上添加断点,其中不应超过几个。
然后,让进程运行直到它遇到这些断点之一,并使 API 调用创建处于挂起状态的进程(查看特定 API 的文档以了解详细信息)。
在通过调用ResumeThread进程单线程恢复之前,您将无法附加到进程(因为它已挂起)。这里有一个常见的技巧,涉及几个步骤:
- 创建挂起的进程(在您适当地更改进程创建 API 调用的参数后,您正在调试的进程会为您执行此操作)。
- 找到可执行文件的入口点并记下该地址的前两个字节。
- 将这些字节替换为
jmp $(字节码为EB FE)的 2 字节表示。这是一个无限循环,因为指令跳转到自身。 - 继续该过程。
- 现在进程正在“运行”,您可以附加到它,挂起它,恢复原来的两个字节并运行它。
请记住,一个进程可能会在子进程中创建额外的线程,而这些线程可能会暂停。使用风险自负:)
有 ollydbg v1.1 插件(这意味着免疫插件)可以为您做到这一点,但您必须找到它们,因为我记不起名字了。tuts4you.com 是一个很好的起点。
其它你可能感兴趣的问题

