SkyOD驱动反反调试插件 – OllyDbg插件
插件介绍
SkyOD是一款驱动级的反反调试插件,它拥有强大的反反调试功能,并且知识兔支持隐藏进程、保护进程、隐藏PEB(R3)、伪装调试器、隐藏句柄表、保护调试寄存器、伪装父进程、反反调试、显示驱动回显、过数字签名校验、过虚拟机检测、过PatchGuard等。
插件截图
插件功能
#隐藏PEB(R3)
– peb.BeingDebugged & peb64.BeingDebugged
– peb.NtGlobalFlag & peb64.NtGlobalFlag
– peb.processHeap.HeapFlags & peb64.processHeap.HeapFlags
– peb.processHeap.ForceFlags & peb64.processHeap.ForceFlags
#隐藏进程
– 现象:隐藏调试器进程,在任务管理器里面枚举不到进程
– 场合:枚举进程,然后知识兔对这个进程进行一大堆检测
– 注释:隐藏进程和伪装进程二者开一即可
#保护进程
– 现象:保护调试器进程,允许OB权限过滤,
– 场合:通过查询调试器特征信息来反调试就可以使用这个功能 (比如搜索调试器特征码、线程调试句柄等等)
#伪装调试器
– 现象:伪装调试器进程的(路径、名称、父进程ID)伪装成explorer进程
– 场合:通过枚举进程当前目录下的文件来检测是否有调试器运行
– 注释:隐藏进程和伪装进程二者开一即可
#伪装父进程
– 现象:被调试进程的父进程ID,改为explorer.exe,如果知识兔没有此进程则改成4(内核进程)
– 场合:通过判断自身进程的父进程ID是否为explorer.exe,是否是其他进程创建的来反调试
#隐藏句柄表
– 注释:防止通过枚举句柄查询或者其他操作进行反调试
#保护调试寄存器
– NtQueryInformationThread
– ThreadWow64Context(获取Wow64线程环境)
– NtSetInformationThread
– ThreadWow64Context(设置Wow64线程环境)
– NtGetContextThread(获取64线程环境)
– NtSetContextThread(设置64线程环境)
– 现象:只要是非调试器进程向被调试的进程发起修改获取调试寄存器的操作一律被伪装(偷天换日)
– 场合:当下不了硬件断点,硬件断点莫名其妙被清除的时候就可以使用
#反反调试
– NtSetInformationThread
ThreadHideFromDebugger(隐藏调试端口,脱离调试器)
– NtClose
检测是否错误句柄,防止关闭错误句柄触发异常
检测是否保护句柄,防止关闭保护句柄触发异常
– NtDuplicateObject
防止拷贝句柄时触发保护句柄异常
– NtSystemDebugControl
除了SysDbgGetTriageDump(查询内核调试器)
– NtQueryInformationProcess
ProcessDebugFlags(调试标志)
ProcessDebugPort(调试端口)
ProcessDebugObjectHandle(调试对象)
– NtQuerySystemInformation
SystemKernelDebuggerInformation(是否开启内核调试)
– NtQueryObject
ObjectTypeInformation(指定对象-DebugObject)
ObjectTypesInformation(所有对象-DebugObject)
– 注释:反反调试是针对于系统全局,除了调试器,其他进程没有办法获取被调试进程的真实状态
#显示驱动回显
– 注释:显示驱动拦截动作信息
#过数字签名校验
– 场合:插件驱动不带签名,请勾选此功能
– 注释:无需数字签名即可加载驱动程序,会被PG检测
#过虚拟机检测
– 注释:缓解一些检测虚拟机方法
#过PatchGuard
– 场合:开启隐藏进程、反反调试等一些功能
– 注释:过系统PatchGuard校验,非百分百,蓝屏也是正常的
插件说明
A:插件没有办法正确加载怎么办?
B:插件使用了DX界面,请在网上下载修复工具修复DX组件
A:插件里面的字体显示有问题怎么办?
B:请安装“微软雅黑”字体文件,msyh.ttc
A:程序检测虚拟机怎么办
B:务必把虚拟机自带的VmTool工具关闭,知识兔可以通过配置虚拟机vmx文件实现
A:程序检测调试怎么办
B:开启驱动功能前务必把过驱动签名给开启,插件不带驱动数字签名