SpawnWith:新一代进程创建与注入利器
SpawnWith 项目地址: https://gitcode.com/gh_mirrors/sp/SpawnWith
项目介绍
在网络安全领域,进程创建与代码注入是常见的操作,它们在渗透测试和漏洞利用中发挥着关键作用。SpawnWith 是一款实验性的 Beacon 对象文件(BOF),为传统的 spawnas
和 inject
命令提供了全新的替代方案。通过引入 spawn_with [pid] [listener]
命令,它为安全研究员和测试人员提供了一种更加灵活且强大的方法来创建进程和注入代码。
项目技术分析
SpawnWith 的核心在于其高度优化的进程创建与代码注入流程。以下是该项目的关键技术步骤:
- 获取目标进程的句柄。
- 获取该进程的主要令牌。
- 将主要令牌复制为模拟令牌。
- 获取 Beacon 的
spawnto
值。 - 使用
CreateProcessWithTokenW
尝试使用复制的令牌创建新进程,如果失败,则改用CreateProcessAsUserW
。 - 将 Beacon 的 shellcode 注入到新创建的进程中,如果是 P2P 情况下,与 Beacon 建立链接。
这些步骤不仅确保了操作的效率和安全性,还提供了灵活的应对策略,以适应不同的操作系统和环境。
项目及技术应用场景
SpawnWith 的设计理念使其在多个场景下都表现出色:
- 渗透测试:在渗透测试中,安全研究员可以使用 SpawnWith 来模拟恶意行为,测试系统的防御能力。
- 漏洞利用:在发现系统漏洞时,可以利用 SpawnWith 来创建进程并注入代码,从而验证和利用这些漏洞。
- 安全培训:在安全培训课程中,SpawnWith 可以作为教学工具,帮助学生理解进程创建和代码注入的原理和技术。
以下是一个使用示例:
beacon> getuid
[*] You are DESKTOP-1U6AHIU\Daniel (admin)
beacon> ps
22656 21972 wordpad.exe x64 1 DESKTOP-1U6AHIU\test_user
beacon> spawnto x64 %windir%\sysnative\notepad.exe
beacon> spawn_with 22656 tcp-local
[*] Task Beacon to run windows/beacon_bind_tcp (127.0.0.1:4444)
[+] received output:
Spawned PID 45668 and injected 297472 bytes
[+] established link to child beacon: 192.168.0.195
项目特点
1. 高度灵活性
SpawnWith 的设计允许用户根据具体需求选择不同的进程创建和代码注入策略,从而适应不同的环境和场景。
2. 强大的功能
通过集成多种操作系统调用和高级API,SpawnWith 提供了强大的功能,使得进程创建和代码注入更加高效和安全。
3. 易于集成
由于 SpawnWith 是基于 Beacon 对象文件设计的,它易于与现有的安全工具和平台集成,为用户提供了无缝的使用体验。
4. 开源与自由
作为开源项目,SpawnWith 为安全社区提供了自由探索和改进的机会,促进了技术的进步和共享。
总结而言,SpawnWith 是一款功能强大、高度灵活的进程创建与代码注入工具,适用于多种安全研究和测试场景。通过其先进的架构和高效的操作流程,为网络安全领域带来了全新的可能性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考