boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

[PC]进程注入和HOOK原理


avatar
yuhui 2025年10月24日 29

进程注入和HOOK原理

进程注入分类

静态注入—进程创建完成前注入
(1)导入表注入
(2)dll劫持注入
(3)注册表注入
动态注入一进程运行过程中进行注
(1)远程线程注入
(2)消息钩子注入
(3) apc注入
(4) iat(导入表函数)劫持注入

静态注入——导入表注入

1742022021775-bedf2faf-4ccd-4e1d-82f6-8db37936d348.png

1742022037712-b6fb808f-9af5-4625-93f1-960495ebb014.png

静态注入—dll劫持注入

1742022156396-be86115f-028e-4534-b620-b634fb08b921.png

dll劫持技术:当一个可执行文件运行时,windows加载器将可执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的dll,并将它们映射到进程的地址空间中。由于输入表中只包含dl名而没有它的路径名,因此加载程序必须在磁盘上搜索dll文件。
首先会尝试从当前程序所在的目录加载dl,如果没找到,则在windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。用这个特点,先伪造一个系统同名的dll,提供同样的输出表,每个输出函数转向真正的系统dll.程序调用系统dll时会先调用当前目录下伪造的dll,完成相关功能后,再跳到系统dll同名函数里执行。这个过程用个形象的词来描述就是系统dll被劫持了。如果想办法把应用程序所依赖的在搜索路径的dll,放置个同名dll到比这个路径更优先的目录去,则这个刻意放置的同名dll会被加载

静态注入—注册表注入

window的每个gui程序,在启动的时候,都会扫描注册表的applinit_dlls项,看看其中有没有指定的目标库,如果有,那就再程序运行时,主动加载。利用这一特性,就可以完成注入。但是仅限于加载了user32.dl的目标。
windows游戏都会加载user32.dl

1742022374202-dc1a6819-38fa-4e6f-bd80-22149af9f203.png

动态注入一远程线程注入

windows提供了CreateRemorteThread函数,允许一个进程在另一个进程上创建线程,通过巧妙使用该函数 可以把指定的dll加载到其他的进程

1742022510881-930f7c82-9150-489b-b449-33c02265ed72.png

常见的利用createremotethread来实现远程线程注入的方式有两种:
1.定义远程线程入口地址为loadlibraryw并将需要加载的模块路径作为参数传入
2.编写shellcode并将远程线程入口地址定义为shelicode的执行地址。在shellcode中调用map到目标进程中的dll入口函数

动态注入一消息钩子注入

1742022722900-c682277e-9db3-4926-b4d9-8e7a8f49f2e6.png

1742022744624-6ec6e1ab-a403-496f-ae3c-f8347d457da3.png

动态注入一APC注入

1742022856960-3d65a420-2c77-48cc-84ee-4a01537fe1bb.png

动态注入一IAT(导入表函数)注入劫持注入

1742022993442-63c1c2d9-5c9b-4864-9d90-9f278f9632f5.png

代码HOOK

inline Hook

虚表 Hook

IAT(导入表)Hook

内核API Hook(SSDT SSSDT)

inline Hook

1742023246948-3d9e3a2b-734d-4f32-b90b-59915c8e9647.png

1742023261569-96803723-31a4-4101-a64d-03dae14d50a1.png

虚表 Hook

1742023646093-39b148dd-5fbf-4211-86c2-1845761ab113.png

IAT(导入表)Hook

1742023675905-5e794b74-0d17-40d2-8801-5c7d7c948ceb.png

内核API Hook(SSDT SSSDT)

1742023698737-45dea46f-8acb-492f-a59e-1a74972cb776.png

更新: 2025-03-15 15:29:21
原文: https://www.yuque.com/yuhui.net/network/ootzbgmqwyoedfsc



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码