3环PEB断链

2024-03-06 13:44
文章标签 peb 断链

本文主要是介绍3环PEB断链,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

每个线程都有一个TEB结构来存储线程的一些属性结构,TEB的地址用fs:[0]来获取,在0x30这个地址有一个指针指向PEB结构

然后定位到PEB,PEB就是进程用来记录自己信息的一个结构,在PEB的0x00c偏移有一个 Ldr _PEB_LDR_DATA结构跟进去

_PEB_LDR_DATA里有三个双向链表

InLoadOrderModuleList:模块加载的顺序

InMemoryOrderModuleList:模块在内存的顺序

InInitializationOrderModuleList:模块初始化的顺序

 以InLoadOrderModuleList 为例,双向链表的含义起始就是最后的指针会指向自己

那么了解了基本原理之后我们就可以通过断链来实现模块的隐藏,我们知道如果要枚举模块一般都是使用CreateToolhelp32Snapshot 拍摄快照,然后找到模块列表之后进行遍历,其实api也是通过找_PEB_LDR_DATA这个结构来获取程序有哪些模块,那么我们如果想隐藏某个dll,就可以通过修改这几个双向链表的方法来进行隐藏

_DRIVER_OBJECT 结构体中 0x014的偏移有一个成员,DriverSection 可以实现对内核模块的遍历。DriverSection 是一个指针,实际上是对应着一个结构体:_LDR_DATA_TABLE_ENTRY

所以这里我们如果要想隐藏某个指定的dll,就可以通过DllBase的方式,通过GetModuleHandleA获取dll的句柄,来进行比对

这篇关于3环PEB断链的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/780237

相关文章

断链保护器在矿山机械中的安全守护与效能提升应用探析

在严峻复杂的矿山作业环境下,断链保护器作为一项不可或缺的安全技术装备,扮演着守护生命财产安全、维护生产秩序的关键角色,特别是在确保矿山机械稳定高效运行方面,其价值和意义显得尤为重要。         一、强化安全基石,守护矿山命脉         矿山机械,如庞大的输送带系统和至关重要的提升设备,常处于极端负载与严苛工况之下,任何微小的链条故障都可能引发连锁反应,造成重大的

驱动层分别使用PEB和sectionObject获取进程执行文件全路径的方法

本人是在WIN2003 SP2下开发的,请注意不同操作系统的偏移量不同   PEB   EPROCESS->PEB(_PEB)->ProcessParameters((_RTL_USER_PROCESS_PARAMETERS)->ImagePathName(_UNICODE_STRING) void GetProcessName( IN OUT PCHAR pszName){

0环PEB断链实现

截止到昨天那里我们的思路就清晰了,通过EPROCESS找到我们要隐藏的进程的ActiveProcessLinks,将双向链表的值修改,就可以将我们想要隐藏的这个进程的ActiveProcessLinks从双向链表中抹去的效果,这里的话如果在windbg里面直接使用ed修改的话是比较方便的,但是如果要使用代码来进行修改的话就需要首先定位到EPROCESS 在ETHREAD的0x220偏移得到Thr

3环PEB断链实现

那么我们首先定义_PEB_LDR_DATA和_LDR_DATA_TABLE_ENTRY结构 // LDR链表头typedef struct _PEB_LDR_DATA{DWORD Length;bool Initialized;PVOID SsHandle;LIST_ENTRY InLoadOrderModuleList; // 指向了 InLoadOrderModuleList 链表的第一

3环断链以及断链后的检测方法

3环断链以及断链后的方法 我们在3环注入代码很多时候会选择注入dll,因为纯粹的硬编码不方便写出大量功能,而且不容易维护所以很多时候我们会通过各种方式让我们的dll注入到目标地址空间中,其中有一些方式可以不需要我们自己对dll处理重定位而是借助pe加载器让系统帮助我们处理重定位,但是就会导致我们的dll会在目标的peb中可见,也就是留下了痕迹。 这时就可以通过3环断链的方式隐藏这一部分痕迹。

[Rootkit] 驱动隐藏 - 断链

注意 : 此方法会触发 PG 代码参考 1 typedef struct _driverdata{LIST_ENTRY listentry;ULONG unknown1;ULONG unknown2;ULONG unknown3;ULONG unknown4;ULONG unknown5;ULONG unknown6;ULONG unknown7;UNICODE_STRING path;UN

5.4 Windows驱动开发:内核通过PEB取进程参数

PEB结构(Process Envirorment Block Structure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。 在应用层下,如果想要得到PEB的基地址只需要取fs:[0x30]即可,TEB线程环境块则是fs:[0x18],如果在内核层想要得到应用层进程的

【调试技术】用户态查看PEB和TEB

概述:用户态查看进程 PEB 和 TEB(通过windbg附加或启动调试的exe) 0x01 用户态查看 TEB 和 PEB 在双机调试的时候,可以直接使用 !PEB PID 和 !TEB TID 获取进程和线程的相关信息,在用户态这两个命令就会失效。原因就是用户态不支持大写的 !TEB 和 !PEB 命令。 在用户态调试时获取 teb 和 peb 的命令是小写的。 #获取 peb