KernelHook 这是一个用来在windows内核使用的inlinehook框架。本框架代码还在开发中,并不太完善,请谨慎使用。 使用方法 将zydis.h zydis.c asmcode.h asmcode.c hook.h hook.c logging.h 包含到你的项目中,然后在需要使用到本框架的地方 #include "hook.h" 即可使用本框架。 大
Windows inline hooking tool. Contribute to adrianyy/kernelhook development by creating an account on GitHub.
双机调试有两种方法,一种是使用windbg自带的串口通信(没试过,但是可以参考某位大佬:编程难的博客:https://bianchengnan.gitee.io/articles/vmware-vs2019-win10-kernel-debug-setup-step-by-step/) 这里我采用是一种名叫VirtualKD的工具,github上可以下载。使用方法如下: 根据系统版本下载对应的VirtualKD,直接运行ex...
到此,可以根据自己系统版本对源码做针对性修改. 完整代码见:https://github.com/fIappy/InfinityHook 最终效果图: 本文由fIappy原创发布 转载,请参考转载声明,注明出处:https://www.anquanke.com/post/id/206288 安全KER - 有思想的安全新媒体 0赞
于是我们可以重构页表,通过修改PXE,PDPTE,PDE,PTE来修改该进程内核函数对应的物理地址,从而可以对该内核函数进行hook而不触发pg。大致做法如下图: 我们可以通过映射物理内存到虚拟内存的方法来修改PXE,PDPTE,PDE,PTE。这里一共两份源码,一份win7,一份win10,win10的源码针对2Mb大页的。下面是源码:支持win7#...
ETW HOOK是一个经久不衰的话题了,本质上是微软的漏洞,在微软进行记录ETW时候系统调用的时候,被ETW相关组件拦截跑到记录的代码,因为涉及到的代码量实在太大,微软这里面老是会有一些函数指针的使用,从而可以把他替换成我们自己函数回调,而不会触发PG拦截系统调用(无法拦截直接内核NtXXX)。 项目地址:github.com/Oxygen...
https://github.com/everdox/InfinityHook 到后来第二个版本的ETW,原理和EAC接管系统异常差不多,这一版本的也是再ETW HOOK的必经之路上面修改函数指针: 原理是EAC通过修改HalpStallCounter[0xE]的这个位置,以及NtGlobalFlags这个标志位。 HalpStallCounter[0xE] 函数原本是...
漏洞的类型虽然五花八门,但基于win32k的内核漏洞是存在者一些共性的,也就是它的用户层回调,近年来所爆出的win32k的漏洞,其触发点大多都在用户层回调被hook。下面将通过两个案例来进行介绍。 案例1: 在CVE-2021-1732中,攻击者正是hook xxxClientAllocWindowClassExtraBytes的用户层回调函数,强行改变窗口对象tagWND的扩...
Process management (Module, Thread, Handle, Memory, Window, Windows Hook, etc.) File management (NTFS partition analysis, low-level disk access, etc.) Registry management and HIVE file operation Kernel-mode callback, filter, timer, NDIS blocks and WFP callout functions management ...
当然 这次这是提到了一种unhook的手法,还有很多种比如 https://github.com/CylanceVulnResearch/ReflectiveDLLRefresher以及ACGhttps://www.countercraftsec.com/blog/post/arbitrary-vs-kernel/也可以直接调用syscall来不与api交互,当然这些都是玩烂了的手法。只是体力活而已...