首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

CC++ 进程隐藏&加载寄生&僵尸进程

众所周知,windows下可执行文件必须符合一定的格式要求,微软官方称之为PE文件(关于PE文件的详细介绍这里就不赘述了,google一下可以找到大把);用户在界面双击exe时,有个叫做explorer的进程会监测并接受到这个事件...然后根据注册表中的信息取得文件名,再以Explorer.exe这个文件名调用CreateProcess函数去运行用户双击的exe;PC中用户一般都是这样运行exe的,所以很多用户态的exe都是exlporer的子进程...分配内存   既然是运行,肯定是需要放在内存的,所以首先要开辟内存空间,才能把exe从磁盘加载进来;以32位为例,由于每个进程都有自己的4GB虚拟空间,所以还涉及到新生成页表、填充CR3等琐碎的细节工作...//将内存中的exe数据映射到peloader进程内存中,避免重新生成一个进程,这是隐藏exe的方式之一 if (FALSE == MapFile(pFileBuff, chBaseAddress...,然后运行exe的,所以exe的代码和数据其实都在loader的空间,并未单独生成一个进程,所以任务管理器、process hacker是都查不到的!

61120

暴力搜索内存进程对象反隐藏进程

我们前面说过几种隐藏进程的方法: 遍历进程活动链表(ActiveProcessLinks) 遍历PspCidTable表检测隐藏进程 但还是不能防止别人通过各种方法来隐藏进程,所以下面来介绍一种通过暴力搜索内存枚举进程的方法...一个进程要运行,必然会加载到内存中。基于这个事实,隐藏进程要在目标机运行,在内存中一定会存在对应的EPROCESS结构体。...基于系统内存搜索的进程监测技术利用EPROCESS结构体特征找到EPROCESS地址指针进而输出进程信息,可以有效地对进程进行全面的监测。 那我们应该搜索进程的什么结构?...进程的PEB(PEB(Process Environment Block)——进程环境块)。主要原因是PEB地址的高4位是相同的。...,如果是非结束输出进程信息。

1.6K20

驱动开发:DKOM 实现进程隐藏

DKOM 就是直接内核对象操作技术,我们所有的操作都会被系统记录在内存中,而驱动进程隐藏的做旧就是操作进程的EPROCESS结构与线程的ETHREAD结构、链表,要实现进程隐藏我们只需要将某个进程中的信息...,在系统EPROCESS链表中摘除即可实现进程隐藏。...DKOM 隐藏进程的本质是操作EPROCESS结构体,EPROCESS结构体中包含了系统中的所有进程相关信息,还有很多指向其他结构的指针,首先我们可以通过WinDBG在内核调试模式下输入dt_eprocess...ActiveProcessLinks 该指针把每个进程的EPROCESS结构体连接成了双向链表,我们可以使用 ZwQuerySystemInformation 这个函数来遍历出所有的进程信息,要实现进程隐藏...,只需要将某个进程的EPROCESS从结构体中摘除,那么通过ZwQuerySystemInformation函数就无法遍历出被摘链的进程了,从而实现了进程隐藏

44820

驱动开发:DKOM 实现进程隐藏

DKOM 就是直接内核对象操作技术,我们所有的操作都会被系统记录在内存中,而驱动进程隐藏的做旧就是操作进程的EPROCESS结构与线程的ETHREAD结构、链表,要实现进程隐藏我们只需要将某个进程中的信息...,在系统EPROCESS链表中摘除即可实现进程隐藏。...DKOM 隐藏进程的本质是操作EPROCESS结构体,EPROCESS结构体中包含了系统中的所有进程相关信息,还有很多指向其他结构的指针,首先我们可以通过WinDBG在内核调试模式下输入dt_eprocess...要实现进程隐藏我们需要关注结构中的 ActiveProcessLinks 该指针把每个进程的EPROCESS结构体连接成了双向链表,我们可以使用 ZwQuerySystemInformation 这个函数来遍历出所有的进程信息...,要实现进程隐藏,只需要将某个进程的EPROCESS从结构体中摘除,那么通过ZwQuerySystemInformation函数就无法遍历出被摘链的进程了,从而实现了进程隐藏

55010

干货 | 通过HOOK底层API实现进程隐藏

前言 一次跟师傅交流时师傅谈到有些EDR或AV,他们保护目标主机,甚至无进程,不经想到病毒实际上也常用这种技术。当然,做到隐藏,一个简单的dll注入或者劫持就可以,但本文主要讲解关于进程隐藏。...PE文件隐藏可以通过 •进程伪装: 将进程名替换成其他正常进程的名称(修改PEB路径和命令行信息)•傀儡进程: 通过将主进程挂起,替换内存数据,卸载镜像,修改上下文,并执行真正我们想要执行的进程,这也是一些壳的原理...•HOOK: 通过HOOK三环最底层APIZwQuerySystemInformation实现隐藏,这是本文的重点•COM劫持、DLL劫持、DLL注入.........= (PSYSTEM_PROCESS_INFORMATION)SystemInformation; while (TRUE) { // 判断是否是要隐藏进程...这里选择隐藏QQ程序 ? 注入程序后 ? ? 可以看到QQ进程信息已经剔除 思考 如何将所有进程钩住? 使用全局钩子,这里我认为是两个知识点,就不继续展开说了。 ?

1.8K70

基于PEB断链实现进程模块隐藏

首发于奇安信攻防社区:https://forum.butian.net/share/1362 前言 断链这种技术非常古老,同时应用于非常多的场景,在内核层如果我们需要隐藏一个进程的内核结构体,也会使用这种技术...本文基于PEB断链在用户层和内核层分别进行实现,在用户层达到的效果主要是dll模块的隐藏,在内核层达到的效果主要是进程隐藏。...这个链表跟进程隐藏有关,只要我们把想要隐藏进程对应的EPROCESS的链断掉,就可以达到在0环进程隐藏的目的。...,通过EPROCESS找到我们要隐藏进程的ActiveProcessLinks,将双向链表的值修改,就可以将我们想要隐藏的这个进程的ActiveProcessLinks从双向链表中抹去的效果,这里的话如果在...pEprocess; curNode = (PLIST_ENTRY)((ULONG)pCurProcess + 0x88); 然后判断通过EPROCESS的0x174处的ImageFileName来判断进程名是不是我们想要隐藏进程

54820

基于全局句柄表发现隐藏进程

我们知道在0环进行PEB断链可以达到隐藏进程的效果,但是这只是作为权限维持的一种方法,如果要想完美的隐藏进程几乎是不可能的,本文就基于全局句柄表PsdCidTable,来找到隐藏进程的效果。...当一个进程创建或者打开一个内核对象时,将获得一个句柄,通过这个句柄可以访问内核对象。 为什么要有句柄? 句柄存在的目的是为了避免在应用层直接修改内核对象。...[image-20220316110021797.png] 这里为了看一下效果,使用PEB断链隐藏一下notepad进程 [image-20220316105813025.png] 启动驱动断链成功...[image-20220316110207457.png] 可以看到notepad.exe进程,那么这里就可以证明,系统并不是通过PEB找双向链表去定位到进程的,而是通过全局句柄表来寻找进程,也就是说我们通过...PEB断链进行进程隐藏只能进行表面上的隐藏,要实现真正的隐藏就需要将某个进程从全局句柄表里面摘除,但是这里如果将进程从全局句柄表里面摘除就有可能发生不稳定的情况,这又是另外一个知识点了,这里就不拓展延伸了

78330

基于全局句柄表发现隐藏进程

首发于奇安信攻防社区:https://forum.butian.net/share/1416 前言 我们知道在0环进行PEB断链可以达到隐藏进程的效果,但是这只是作为权限维持的一种方法,如果要想完美的隐藏进程几乎是不可能的...,本文就基于全局句柄表PsdCidTable,来找到隐藏进程的效果。...\n"); } 实现效果 首先安装驱动 然后启动即可遍历全局句柄表 这里我们可以看到notepad.exe这个进程 这里为了看一下效果,使用PEB断链隐藏一下notepad进程 启动驱动断链成功...然后在任务管理器和cmd里面都看不到notepad.exe这个进程 然后再启动遍历全局句柄表的驱动 可以看到notepad.exe进程,那么这里就可以证明,系统并不是通过PEB找双向链表去定位到进程的...,而是通过全局句柄表来寻找进程,也就是说我们通过PEB断链进行进程隐藏只能进行表面上的隐藏,要实现真正的隐藏就需要将某个进程从全局句柄表里面摘除,但是这里如果将进程从全局句柄表里面摘除就有可能发生不稳定的情况

40921

基于PEB断链实现进程模块隐藏

断链这种技术非常古老,同时应用于非常多的场景,在内核层如果我们需要隐藏一个进程的内核结构体,也会使用这种技术。...本文基于PEB断链在用户层和内核层分别进行实现,在用户层达到的效果主要是dll模块的隐藏,在内核层达到的效果主要是进程隐藏。...这个链表跟进程隐藏有关,只要我们把想要隐藏进程对应的EPROCESS的链断掉,就可以达到在0环进程隐藏的目的。...] 实现 那么到这里我们的思路就清晰了,通过EPROCESS找到我们要隐藏进程的ActiveProcessLinks,将双向链表的值修改,就可以将我们想要隐藏的这个进程的ActiveProcessLinks...pEprocess; curNode = (PLIST_ENTRY)((ULONG)pCurProcess + 0x88); 然后判断通过EPROCESS的0x174处的ImageFileName来判断进程名是不是我们想要隐藏进程

1.7K71

Linux 遭入侵,挖矿进程隐藏排查记录

今天来给大家分享下这两天遇到的一个问题,服务器被挖矿了,把我的排查记录分享下,希望能帮到有需要的同学。...问题原因 ---- 多台服务器持续告警CPU过高,服务器为K8s的应用节点,正常情况下CPU使用率都挺低的,通过排查是原因是被挖矿了,下面为定位过程 定位过程 ---- 登陆问题主机10.92.0.X,...cpu使用率基本跑满(用户态),没有发现可疑的进程,初步怀疑可能是进程在哪里隐藏了 执行命令ps -aux --sort=-pcpu|head -10 嗯哼,藏得够深的,可还是被揪出来啦 ? ?...这个eta可能是起的一个守护进程,用于唤起上面圈起来的python进程, 这个脚本的用途是,链接远程服务"http://g.upxmr.com:999/version.txt",并下载 写入到本地隐藏文件.../tmp/.x,然后执行 注意:这个执行文件会修改服务器的一些配置,如dns,hosts,定时任务,创建可执行文件 查看dns 果然dns被修改了 ?

6.6K30

进程服务器

一、思路 先与客户端建立好连接, 每次监听到一个客户端之后,都需要产生一个子进程去处理这个连接,然后父进程继续去等待监听,唯一一个要注意的点就是要使用信号来监听子进程是否结束,从而对其进行回收,防止僵尸进程的产生...&opt, sizeof(opt)); (3)bind函数 bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));b这个函数主要目的就是将服务器的地址结构绑定到套接字...lfd上,所以开始要设置服务器的ser_addr:ser_addr.sin_family = AF_INET, ser_addr.sin_port = htons(8888);ser_addr.sin_addr.s_addr...监听到了客户端后,就要开始创建子进程来对这个监听进行处理;pid = fork() 3、子进程处理通信 因为子进程不需要监听连接,使用可以close(lfd);之后便可以进行通信处理 void do_work...sizeof(buf)); tcp.Write(cfd, buf, n); tcp.Write(STDOUT_FILENO, buf, n); } } 4、父进程回收子进程

4.7K20

Nginx服务器进程

Nginx服务器进程有3类:主进程、工作进程、缓存进程 (1)主进程 Nginx启动时运行的主要进程,主要功能是与外界通信和对内部其他进程进行管理 主要工作内容 1)读取配置文件,验证有效性和正确性...2)建立、绑定、关闭 socket 3)按照配置生成、管理、结束工作进程 4)接收指令,如 重启、升级、退出 5)不中断服务,平滑重启、升级,升级失败的回滚处理 6)开启日志文件,获取文件描述符 (2)...工作进程 由主进程生成,生成数量由配置文件指定,工作进程生存于主进程的整个生命周期 主要工作内容 1)接收请求 2)将请求依次送入各个功能模块进行过滤处理 3)IO调用,获取响应数据 4)与后端服务器通信...,接收后端服务器处理结果 5)数据缓存,访问缓存索引、查询、调用缓存数据 6)发送请求结果 7)接收主进程指令,如 重启、升级、退出 (3)缓存进程 缓存进程有两类 1)缓存索引重建进程 nginx启动后由主进程生成...,在缓存元数据重建完成后就自动退出 该进程启动后,对缓存文件的目录结构扫描,在内存中建立索引元数据库 2)缓存索引管理进程 生存于主进程的整个生命周期 负责在索引元数据更新完成后,对元数据是否过期进行判断

4.4K40

安全研究 | Linux 遭入侵,挖矿进程隐藏案例分析

本文作者:Fooying、zhenyiguo、murphyzhang 一、背景 云鼎实验室曾分析不少入侵挖矿案例,研究发现入侵挖矿行为都比较粗暴简单,通过 top 等命令可以直接看到恶意进程,挖矿进程不会被刻意隐藏...;而现在,我们发现黑客开始不断使用一些隐藏手段去隐藏挖矿进程而使它获得更久存活,今天分析的内容是我们过去一个月内捕获的一起入侵挖矿事件。...二、入侵分析 本次捕获案例的入侵流程与以往相比,没有特殊的地方,也是利用通用漏洞入侵服务器并获得相关权限,从而植入挖矿程序再进行隐藏。...,首先可以明显感觉到服务器的资源被占用而导致的操作迟缓等问题,通过一些常规手段可以发现一些异常信息,但又看不到进程信息: ?...通过 find 命令查找入侵时间范围内变更的文件,对变更文件的排查,同时对相关文件进行分析,基本可以确认黑客使用的进程隐藏手法。 ? ?

3.1K80
领券