蓝灵火焰 发表于 2024-9-9 11:00:52

易语言利用KernelCallbackTable实现内核帮你注入Dll源码


前言:
本注入方案非线程注入。
要理解本程序的实现过程首先需要了解什么是KernelCallbackTable。

实现过程:
首先利用NtQueryInformationProcess获取进程Peb。
然后向进程写入ShellCode。
接着将Peb->KernelCallbackTable->__fnDWORD改写为写入的ShellCode地址。


向程序窗口发送重画消息,此后win32k.sys会处理消息,并且使用KeUserModeCallback从R0切换到R3并且调用ntdll!KiUserCallbackDispatcher,KiUserCallbackDispatcher接着会根据ApiNumber调用KernelCallbackTable中的函数,此时KernelCallbackTable->__fnDWORD已经被修改,导致程序调用LoadLibraryA实现Dll的注入。

实现结果:


ShellCode已经编写好,调用第一次时自动恢复KernelCallbackTable,InjectedDll在调用完成后会立刻释放ShellCode。

因为借助Peb->KernelCallbackTable->__fnDWORD实现,所以InjectedDll暂时只能针对32位有窗口程序。

源码下载:
**** Hidden Message *****

代码爱好者 发表于 2024-9-11 23:17:13

66666666666666

yonna1 发表于 2024-9-22 22:33:25

111111111111111111

1642313071 发表于 2024-10-13 16:34:44

我觉得挺不错的我想看看

18371826220 发表于 2024-10-17 20:08:30

易语言利用KernelCallbackTable实现内核帮你注入Dll源码
页: [1]
查看完整版本: 易语言利用KernelCallbackTable实现内核帮你注入Dll源码