注入系列:注册表注入

0x00 概述
注册表注入,是一种比较简单的注入,主要依赖于俩个表项,AppInit_Dlls和LoadAppInit_DLLs。AppInit_Dlls写入dll完整路径,LoadAppInit_DLLs写为1,重启后,指定DLL会注入到所有运行进程。
0x01 实现原理
User32.dll在被加载到进程时,会读取AppInit_Dlls表项。若有值,并调用LoadLibrary来载入这个字符串中指定的每个DLL。所以注册表注入只对回加载user32.dll的进程有效。
0x02 注入流程:
第一步:打开注册表键值如下:
HKEY_LOCAL_MACHINE\SoftWare\MicroSoft\Windows NT\CurrentVersion\Windows
第二步:修改AppInit_Dlls
在该键值中添加自己的DLL的全路径加dll名,多个DLL以逗号或者空格分开(因此在文件名中应该尽量不要存在空格),该键值只有第一个dll文件名可以包含路径,后面的都不能包含,因此我们最好将dll放在系统路径 下,这样就可以不用包含路径也能被加载了。
第三步:修改LoadAppInit_DLLs
在该注册表项中添加键值 LoadAppInit_DLLs ,类型为 DWORD,并将其值置为 1 .
在这里插入图片描述
0x03 局限性
注册表注入操作简单易懂,甚至不用写程序都可以完成注入操作,但是正是由于他的简单性,每个EXE都被注入,效率低,程序的扩展性差。

发布了19 篇原创文章 · 获赞 21 · 访问量 996

猜你喜欢

转载自blog.csdn.net/weixin_43742894/article/details/105030386