首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

进程欺骗实践

文章前言 监控进程和子进程之间的关系是威胁检测团队检测恶意活动的常用技术,例如,如果powershell是子进程,而Microsoft Word是进程,这是一种折中的行为,各种EDR可以很容易地检测到这种异常活动...,这时红队可以考虑使用进程PID欺骗作为逃避方法,Windows API调用"CreateProcess"允许用户传入一个用于分配PID的参数,它可以用于指定当前进程进程。...项目介绍 https://github.com/Al1ex/SelectMyParent image.png 进程欺骗 Step 1:选择进程并确定其PID image.png Step 2:之后执行以下命令进行进程欺骗...SelectMyParent.exe notepad 928 image.png Step 3:使用process Explor查看进程树,可以看到成功欺骗 image.png 参考链接 https...2020/02/24/parent-pid-spoofing/ https://ired.team/offensive-security/defense-evasion/parent-process-id-ppid-spoofing

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

进程ID进程间的关系

进程ID 进程相关的 ID 有多种,除了进程标识 PID 外,还包括:线程组标识 TGID,进程组标识 PGID,回话标识 SID。...TGID/PGID/SID 分别是相关线程组长/进程组长/回话 leader 进程的 PID。 下面分别介绍这几种ID。 PID 进程总是会被分配一个唯一标识它们的进程ID号,简称 PID。...由进程创建的所有线程都有相同的线程组ID(TGID)。线程有自己的 PID,它的TGID 就是进程的主线程的 PID。如果进程没有使用线程,则其 PID 和 TGID 相同。...因此进程还可以注册 SIGCHLD 信号的处理函数,异步回收资源。 如果进程提前结束,那么子进程将把1号进程 init 作为进程。总之,进程都有进程,负责进程结束后的资源回收。...在子进程退出且进程完成回收前,子进程变成僵尸进程。僵尸进程持续的时间通常比较短,在进程回收它的资源后就会消亡。如果进程没有处理子进程的终止,那么子进程就会一直处于僵尸状态。

33922

进程退出时如何确保子进程退出?

前言 子进程退出的时候,进程能够收到子进程退出的信号,便于管理,但是有时候又需要在进程退出的时候,子进程也退出,该怎么办呢? 进程退出时,子进程会如何?...17433的进程id是17432,但是在10秒后,它的进程变成了1658。...另外还可以观察到,该进程也是其他系统进程进程。 如何确保进程退出的同时,子进程也退出? 既然如此,如何确保进程退出的同时,子进程也退出呢?...for the child of a fork(2) and (since Linux 2.4.36 / 2.6.23) when executing a set-user-ID...总结 有些情况下,我们常常需要父子进程共存亡,子进程退出时,进程可以通过wait捕捉子进程的退出状态,但是进程退出时,子进程却难以得知。

11.5K21

ORACLE:根据id查询所有子孙数据,或者根据子id查询所有数据(start with connect by prior)

. ---> 最常见的例子就是省市区一体表,就是通过id、pid、level来进行控制,从而一张表来存储数据.我们进行拿数据的时候,不用再连表拿取,直接通过(start with connect by...二、准备省市区表: CREATE TABLE REGION ( "ID" NUMBER NOT NULL, "name" VARCHAR2(200 BYTE), "PID" NUMBER,...查询所有的子数据 需求:我输入山东省的id,会把山东省及下面的市区都查询出来 select * from REGION start with id = 2 connect by prior id =...pid -- prior 右边是子级id,就往子级的方向查询 ORDER BY id; 结果展示 四、根据id查询所有的数据 需求:我输入黄岛区的id,会把黄岛区及其所在的市省国查询出来 select...* from REGION start with id = 8 connect by prior pid = id -- prior 右边是id,就往级的方向查询 ORDER BY id; 结果展示

2.2K10

【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid进程id不变?】

本章主要内容面向接触过Linux的老铁 主要内容含: 1.系统调用接口查看pid,ppid pid:当前进程 ppid:进程 每一次启动的进程, 系统会重新生成pid ,系统只保证当前生命周期内...pid有效; 但是 进程不会变 2.为什么ppid进程id不变?...——bash命令行解释器与bash进程 当我们运行一个进程时,命令行解释器会把这个指令解释成bash的子进程 接着再由这个bash的子进程执行对应的命令 当这个子进程出现问题时,并不影响bash的进程...即:每一条命令被执行,都属于bash的子进程 我们执行一段代码,parent对应的是getppid()函数; 我们接着用ps+grep过滤指令查看这个16815进程,发现其就是bash进程

9110

8.7 进程检测反调试

首先这是一种比较奇特的反调试思路,通过检测自身进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这个进程派生而来的子进程,也就是说如果没有被调试其得到的进程就是...Explorer.exe的进程PID,而如果被调试则该进程进程PID就会变成调试器的PID值,通过对进程的检测即可实现检测是否被调试的功能。...PROCESSENTRY32); Process32First(hProcessSnap, &pe32); do { // 先判断是不是我们自己进程的...PID if (ProcessId == pe32.th32ProcessID) { // 判断进程是否是 Explorer.exe...} return FALSE;}int main(int argc, char * argv[]){ if (IsDebug()) { printf("[-] 进程正在被调试

20530

8.7 进程检测反调试

首先这是一种比较奇特的反调试思路,通过检测自身进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这个进程派生而来的子进程,也就是说如果没有被调试其得到的进程就是...Explorer.exe的进程PID,而如果被调试则该进程进程PID就会变成调试器的PID值,通过对进程的检测即可实现检测是否被调试的功能。...PROCESSENTRY32); Process32First(hProcessSnap, &pe32); do { // 先判断是不是我们自己进程的...PID if (ProcessId == pe32.th32ProcessID) { // 判断进程是否是 Explorer.exe...return FALSE; } int main(int argc, char * argv[]) { if (IsDebug()) { printf("[-] 进程正在被调试

17520

关于进程和子进程的关系(UAC 绕过思路)

假设是a进程创建了b进程,那么a进程就是b进程进程。...,假设我们利用一下该API,我们就能够将自己的进程的的进程设置为随意进程(要提权绕过UAC的鸽子注意了),假设把木马进程进程设置为 杀软 的ID或者csrss.exe ,notepad.exe 等可信进程...就能能设置这个被创建进程进程,这里也仿照黑防上贴下部分代码: DWORD pid = 0; /* 依据进程名获取随意进程Id */ GetProcessIdByName(L"explorer.exe...假设你调试的程序检測进程,直接用以上的办法启动它,当然进程就是他检測同意的进程喽, 这里启动时要注意的是设置CREATE_SUSPEND 就是创建挂起,然后在创建后使用ResumeThread恢复就能够顺利调试了...所以说进程进程不一定是进程的创建者,所以那一群依据进程来看进程是否可信的杀软就呵呵了。 可是这里说下 360 这个绕只是,原因是啥哪? 记得我开篇时说过道高一尺,魔高一丈吗?

1.5K30

如何获得Docker容器进程ID?

开始之前 在某些情况下,比如系统负载很高 docker stop 无法关闭某个容器(无响应),这时可以根据容器进程ID找到宿主机进程ID,然后强制kill掉这个容器,最好已经使用了数据卷保证数据持久化...获得容器进程ID docker inspect -f '{{ .State.Pid }}' web 9834 3....最后如有必要可以kill这个进程ID,这等于强制杀掉容器进程。 kill -9 9834 容器进程 内容摘自 > 一书。...容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID空间。...小结 最后来总结下文章中的知识点 Docker容器本质上是宿主机上的进程。 容器进程ID就是宿主机进程ID,因为它们是相同的。

5.5K10

php 多进程编程进程的阻塞与非阻塞实例分析

本文实例讲述了php 多进程编程进程的阻塞与非阻塞。分享给大家供大家参考,具体如下: php中进程的阻塞,主要是进程等待子进程退出。 1.php代码如下: <?...pcntl_wait($status); } else { //这里是子进程空间 echo "进程ID: ", posix_getppid(), " 进程ID : ", posix_getpid...echo "进程ID: ", posix_getppid(), " 进程ID : ", posix_getpid(), " {$i} \r\n"; //我们让子进程等待3秒,再退出...status, WNOHANG); } else { //这里是子进程空间 echo "进程ID: ", posix_getppid(), " 进程ID : ", posix_getpid...代码3.php与2.php效果一样,pcntl_wait()函数的作用只是用来让进程等待子进程退出,默认情况下会阻塞主进程

87141
领券