注入
文章平均质量分 82
注入
折翊
这个作者很懒,什么都没留下…
展开
-
用户层注入:(5)反射注入
目录反射的概念反射注入过程 注入程序 导出函数参考代码 注入程序 导出函数反射的概念 前几篇文章提到了远程线程注入、注册表注入、APC注入等注入方法,这些方法都有一个共同的问题,那么就是需要目标进程所在的计算机上存在对应的Dll文件,否则我们的注入程序调用LoadLibrary函数无法加载。即如果我们想跨计算机注入目标进程,就要将注入程序exe和动态库文件dll打包放到一个文件夹里并发送到目标计算机,但是一旦文件被接收,我们的dll文件就"落地"了,因此就会很容易被常规的杀毒软件检测并查杀。所以,我们原创 2021-03-15 10:46:14 · 1511 阅读 · 0 评论 -
用户层注入:(4)APC注入
目录理解APC机制关键函数注入过程参考代码理解APC机制 以ReadFile函数为例,当我们在Ring3层调用该函数,会进一步调用Ntdll.dll的NtReadFile/ZwReadFile函数,然后函数进入内核层,调用Ntoskrnl.exe中的NtReadFile函数,这时,NtReadFile函数会创建一个IRP_MJ_READ类型的IRP,并将请求发送到对应的设备上,设备再根据IRP的类型调用对应的派遣函数。派遣函数在完成操作后,会调用IoCompleteRequest将IRP请求结束,并返原创 2021-03-14 18:13:17 · 526 阅读 · 0 评论 -
用户层注入:(3)DLL劫持注入
目录基本概念注入原理函数转发函数调用局限性基本概念 Windows的应用程序在加载进程所需的动态库时,会根据导入表一一加载。但是,我们的导入表中只保存有动态库的名称,系统如何知道这个动态库的完整路径并将其加载呢? 其实,在加载动态库时,系统会按照一定的顺序搜索各个目录来寻找指定的Dll文件。一般搜索顺序为:应用程序所在目录-->系统目录-->16位系统目录-->Windows目录-->运行程序的当前目录-->PATH环境变量。 这还与注册表项HKLM\Syst原创 2021-03-13 10:13:41 · 1200 阅读 · 0 评论 -
用户层注入:(2)注册表注入
目录基本概念注入原理实现过程参考代码局限性基本概念 我们知道,注册表是一个集中管理硬件、软件配置信息的数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及应用程序的运行,并记录了各种硬件和软件的配置信息。注册表注入,顾名思义,就是将我们的想要进行的操作写入到注册表的配置信息里,通过系统加载我们的动态库完成注入。注入原理 当应用程序被加载时,应用程序会将User32.dll这一动态库映射到进程空间内,这时会触发User32动态库的DllMain函数中的DLL_PROC原创 2021-03-12 14:19:19 · 370 阅读 · 0 评论 -
用户层注入:(1)远程线程注入
目录一、主要思想二、注入过程三、主要函数四、参考代码五、注入结果一、主要思想 我们知道,进程在加载时,会查看PE文件的导入表,并根据导入表的内容将指定的Dll模块加载到进程地址空间内,因此我们可以使用诸如Kernel32.dll和User32.dll这些动态库的导出函数。 这些工作在exe文件加载时Windows系统便自动帮我们完成了。那么我们是否可以提出这样一个猜想:我们能否自己写一个Dll文件,然后通过一种方式,让目标进程将我们的Dll文件加载到自己的进程空间内,从而实现我们想要的操作呢?原创 2021-03-10 18:56:43 · 213 阅读 · 0 评论