首页
论坛
课程
招聘
[原创]KCTF2020秋季赛 第二题 异常信号 WP(反调试)
2020-11-24 10:26 1835

[原创]KCTF2020秋季赛 第二题 异常信号 WP(反调试)

2020-11-24 10:26
1835

检测流程:

  1. 使用NtSetInformationThread参数THREADINFOCLASS::HideFromDebugger使主线程屏蔽调试器

  2. 使用NtCreateThreadEx创建'屏蔽调试器'的线程

  3. 使用NtQueryInformationProcess参数PROCESSINFOCLASS::ProcessDebugPort判断当前进程是否被调试

  4. 检查int3断点

  5. 检查其他

  6. Goto 3




检测方式清楚了(逻辑等价, 作者的实现方式可能有所不同),  过检测就水到渠成了, 可以写对应的调试器插件, 也可以写驱动HOOK相应的系统调用.

对4.5处的检测, 不须特别关注, 调试器附加上以后, 输入'序列号', 中断到NtReadFile后(请见上一篇), 将'除当前线程外的其他所有线程挂起', 即可.


附图(驱动日志):


使用工具:

X64DBG, WinDBG.



【公告】看雪团队招聘安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

最后于 2020-11-24 10:31 被Anakin Stone编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回