Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
spawn — Cobalt Strike BOF,用于生成一个牺牲进程,向其注入 shellcode 并执行 payload。通过启用任意代码防护 (ACG)、BlockDll 和 PPID 欺骗来生成牺牲进程,旨在绕过 EDR/用户态钩子。 | Kitploit
工具/GitHubGitHub/boku7/spawn
权限提升漏洞利用Shellcode后渗透利用渗透测试命令与控制红队Payload 开发
GitHubboku7/spawn

spawn

Cobalt Strike BOF,用于生成一个牺牲进程,向其注入 shellcode 并执行 payload。通过启用任意代码防护 (ACG)、BlockDll 和 PPID 欺骗来生成牺牲进程,旨在绕过 EDR/用户态钩子。

查看仓库
4677233年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SPAWN - Cobalt Strike BOF

Cobalt Strike BOF,用于生成一个牺牲进程,向其注入shellcode并执行载荷。通过使用任意代码保护(ACG)、BlockDll和PPID欺骗生成牺牲进程,旨在绕过EDR/用户态钩子。

  • 由于ACG,此工具不支持依赖于以下功能的shellcode:
    • 在RW与RX之间切换内存权限。
    • RWX内存
  • 如需向依赖上述功能的生成进程注入shellcode,请参见Hollow BOF项目
  • 关于ACG的精彩讲解,请参见下面Adam Chestner的博客。

新功能 (2021年8月1日)

  • 使用任意代码保护(ACG)生成牺牲进程,防止EDR解决方案钩入牺牲进程的DLL。
    • 详情请参见Adam Chester的《保护你的恶意软件》博客。BOF的这部分源自他的工作。
  • 注入并执行shellcode。

从ACG保护进程中弹出计算器

root@kitploit:~
beacon> spawn notepad.exe 6248 /Users/bobby.cooke/git/boku7/SPAWN/popCalc.bin
[*] SPAWN (Bobby Cooke//SpiderLabs|@0xBoku|github.com/boku7)
[+] Opened handle 0x534 to process 6248(PID)
[+] Spawned process: notepad.exe | PID: 8404 | PPID: 6248
[+] Allocated RE memory in remote process 8404 (PID) at: 0x00000177A72C0000
[+] Wrote 280 bytes to memory in remote process 8404 (PID) at 0x00000177A72C0000
[+] APC queued for main thread of 8404 (PID) to shellcode address 0x00000177A72C0000

新功能 (2021年7月19日)

  • CNA攻击者脚本接口
root@kitploit:~
beacon> help
    spawn                     Spawn a process with a spoofed PPID and blockDll
beacon> help spawn
Synopsis: spawn /path/to/exe PPID
beacon> ps
8264  5536  OneDrive.exe                 x86   1           DESKTOP-KOSR2NO\boku 
beacon> spawn cmd.exe 8264
[*] SPAWN (@0xBoku|github.com/boku7)
Opened handle 0x634 to process 8264(PID)
Success! Spawned process: cmd.exe | PID: 5384 | PPID: 8264
  • PPID欺骗
  • Cobalt Strike“类”blockdll功能

使用x64 MinGW编译:

root@kitploit:~
x86_64-w64-mingw32-gcc -c spawn.x64.c -o spawn.x64.o

从Cobalt Strike Beacon控制台运行

  • 编译后,将spawn.cna脚本导入Cobalt Strike的脚本管理器。
root@kitploit:~
beacon> spawn /path/to/exe PPID /local/path/to/shellcode.bin

待办列表

  • 攻击者脚本,改善最终用户体验
  • PPID欺骗,优化父子进程关系的OPSEC
    • 这里可以看到我们的 cmd.exe 进程以 OneDrive.exe 为PPID生成。
  • 实现Cobalt Strike的 blockdll 功能,防止非微软签名的DLL加载到生成进程的内存中
    • 可以看到父子进程关系,且我们的生成进程已创建为 签名限制(仅Microsoft) 模式。
    • 签名限制(仅Microsoft) 使得非微软签名的DLL无法加载到我们的生成进程中。
  • PE文件不存在时不再使beacon进程崩溃
    • 不再因进程创建失败而崩溃!
  • 将新进程生成时的PID返回至Cobalt Strike控制台
  • 构建不同的远程进程注入方法(2021年8月1日)
  • 构建不同的远程进程补丁方法
    • NTDLL.DLL远程进程解除钩子
    • ETW远程进程补丁/绕过
    • AMSI远程进程补丁/绕过
    • CLR加载及.Net程序集注入

我为什么构建这个?

1. 为了更深入地学习Cobalt Strike BOF
2. 我希望在选择牺牲进程时具有灵活性。
  • 每次fork-and-run都生成相同的进程,在我看来是糟糕且可预测的OPSEC。
  • 可能已有相关方法,或内置在CS中。无论如何,我想自己构建。
3. 我有很多很酷的BOF想法,希望基于此实现。

致谢/参考

PPID欺骗与blockDll功能
  • 感谢/致敬:Adam Chester (@xpn)、@SEKTOR7net、Raphael Mudge
  • 感谢你们贡献的精彩工作。没有你们的博客、视频和优质内容,我将无法发布此项目。
  • PPID欺骗与blockdll的主要参考
    • https://blog.xpnsec.com/protecting-your-malware/
    • https://blog.cobaltstrike.com/2021/01/13/pushing-back-on-userland-hooks-with-cobalt-strike/
    • https://institute.sektor7.net/ (课程)
Raphael Mudge - Beacon Object Files - Luser演示
  • https://www.youtube.com/watch?v=gfYswA_Ronw
Cobalt Strike - Beacon Object Files
  • https://www.cobaltstrike.com/help-beacon-object-files
BOF代码参考
anthemtotheego/InlineExecute-Assembly
  • https://github.com/anthemtotheego/InlineExecute-Assembly/blob/main/inlineExecuteAssembly/inlineExecute-Assembly.cna
ajpc500/BOFs
  • https://github.com/ajpc500/BOFs/
trustedsec/CS-Situational-Awareness-BOF
  • https://github.com/trustedsec/CS-Situational-Awareness-BOF
Sektor7恶意软件开发基础课程 - 学习了早期鸟注入技术
  • https://institute.sektor7.net/red-team-operator-malware-development-essentials
下载工具