Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
spawn — Cobalt Strike BOF qui génère un processus sacrificiel, l'injecte avec du shellcode et exécute la charge utile. Conçu pour contourner les hooks EDR/UserLand en générant un processus sacrificiel avec Arbitrary Code Guard (ACG), BlockDll et PPID spoofing. | Kitploit
Outils/GitHubGitHub/boku7/spawn
Escalade de PrivilègesExploitationShellcodePost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles
GitHubboku7/spawn

spawn

Cobalt Strike BOF qui génère un processus sacrificiel, l'injecte avec du shellcode et exécute la charge utile. Conçu pour contourner les hooks EDR/UserLand en générant un processus sacrificiel avec Arbitrary Code Guard (ACG), BlockDll et PPID spoofing.

46772il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

SPAWN - Cobalt Strike BOF

Cobalt Strike BOF that spawns a sacrificial process, injects it with shellcode, and executes payload. Built to evade EDR/UserLand hooks by spawning sacrificial process with Arbitrary Code Guard (ACG), BlockDll, and PPID spoofing.

  • Due to ACG, this does not support shellcode which is dependent on these fuctionalities:
    • Toggling memory permissions between RW/RX.
    • RWX memory
  • To inject shellcode into a spawned process that is dependent on the above functionilities please see the Hollow BOF project
  • For an awesome explaination on ACG please see Adam Chestner's blog below.

Nouveautés (08/01/2021)

  • Spawn sacrificial process with Arbitrary Code Guard (ACG) to prevent EDR solutions from hooking into sacrificial process DLL's.
    • See Adam Chester's "Protecting Your Malware" blog for full details. This part of the BOF is derived from his work.
  • Inject & Execute shellcode.

Popin' Calc from ACG Protected Process

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

Nouveautés (07/19/2021)

  • CNA Agressor Script interface
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 Spoofing
  • Cobalt Strike "like" blockdll functionality

Compilation avec MinGW x64:

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

Exécution depuis la console Beacon de Cobalt Strike

  • Après compilation, importez le script spawn.cna dans le Script Manager de Cobalt Strike.
root@kitploit:~
beacon> spawn /path/to/exe PPID /local/path/to/shellcode.bin

Liste des tâches à faire

  • Script Agressor pour une meilleure expérience utilisateur
  • Spoofing PPID pour une meilleure OPSEC de la relation processus parent-enfant
    • Ici, nous pouvons voir notre processus cmd.exe être généré avec le PPID comme OneDrive.exe
  • Implémenter la fonctionnalité blockdll de Cobalt Strike pour empêcher les DLL non signées par Microsoft de se charger dans la mémoire des processus générés
    • Nous voyons la relation parent-enfant du processus, et que notre processus généré a été créé avec la restriction Signatures restreintes (Microsoft uniquement)
    • La restriction Signatures restreintes (Microsoft uniquement) fait que les DLL non signées par Microsoft ne peuvent pas être chargées dans notre processus généré
  • Ne pas faire planter le processus beacon lorsque le fichier PE n'existe pas
    • Ne plante plus lors d'un échec de création de processus !
  • Retourner le PID à la console Cobalt Strike lorsque le nouveau processus est généré

Pourquoi ai-je construit cela ?

1. Pour en apprendre davantage sur les BOF Cobalt Strike
2. Je veux de la flexibilité dans le choix de mes processus sacrificiels.
  • Générer le même processus pour chaque fork-and-run me semble être une OPSEC mauvaise/prévisible.
  • Il existe probablement des méthodes pour cela déjà disponibles ou intégrées dans CS. Quoi qu'il en soit, je voulais construire la mienne.
3. J'ai beaucoup d'idées cool de BOF que je veux construire là-dessus.

Crédits / Références

Spoofing PPID et fonctionnalité blockDll
  • Crédit/remerciements à : Adam Chester @_xpn_ + @SEKTOR7net + Raphael Mudge
  • Merci pour le travail incroyable que vous avez apporté. Je ne pourrais pas publier cela sans vos blogs, vidéos et contenu génial !
  • Références principales pour le spoofing PPID et 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/ (Cours)
Raphael Mudge - Beacon Object Files - Luser Demo
  • https://www.youtube.com/watch?v=gfYswA_Ronw
Cobalt Strike - Beacon Object Files
  • https://www.cobaltstrike.com/help-beacon-object-files
Références de code 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
Cours Sektor7 Malware Dev Essentials - a appris à faire la technique d'injection early bird
  • https://institute.sektor7.net/red-team-operator-malware-development-essentials
Télécharger l’outil

  • Développer différentes méthodes d'injection de processus distant (08/01/21)
  • Développer différentes méthodes de patching de processus distant
    • Déshookage distant du processus NTDLL.DLL
    • Patching/Contournement distant ETW
    • Patching/Contournement distant AMSI
    • Chargement CLR et injection d'assembly .Net