Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/nvisosecurity/cobaltwhispers
Mécanismes de PersistanceÉvasion IDS/IPSPost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesAttaque Adversariale
GitHub

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 →
nvisosecurity/cobaltwhispers

CobaltWhispers

Voir le dépôt
2403519il y a 3 ansVérifié par Kitploit

À propos

CobaltWhispers est un script d'agresseur qui utilise une collection de fichiers d'objet Beacon (BOF) pour Cobalt Strike afin d'effectuer des injections de processus, de la persistance et plus encore, en tirant parti d'appels système directs (SysWhispers2) pour contourner les EDR/AV.

Partager

CobaltWhispers

Auteur : @Cerbersec

CobaltWhispers est un script aggressor qui utilise une collection de Beacon Object Files pour Cobalt Strike afin d'effectuer de l'injection de processus, de la persistance et plus encore, en tirant parti des appels système directs pour contourner les EDR/AV.

CobaltWhispers est propulsé par SysWhispers2 et InlineWhispers2
CobaltWhispers est basé sur StayKit et sur les travaux de Hasherezade et Forrest Orr.

CobaltWhispers a été réalisé dans le cadre d'un stage au sein de la Red Team de NVISO Security. Les articles de blog associés sont disponibles ici (injection de processus) et ici (kernel karnage).

Compilation à partir du code source

CobaltWhispers nécessite plusieurs outils pour être compilé :

  • MingW-w64 - apt install mingw-w64
  • Make - apt install make
  • Python3
  • SysWhispers2
  • InlineWhispers2

Chaque projet nécessite 3 fichiers générés par SysWhispers2 / InlineWhispers2 pour fonctionner :

  • syscalls-asm.h
  • syscalls.c
  • syscalls.h

Ces fichiers peuvent être générés conformément à la documentation d'InlineWhispers2, cependant cette méthode n'est pas optimale car beaucoup de code inutile sera inclus :

git clone https://github.com/Sh0ckFR/InlineWhispers2 && cd InlineWhispers2
cd SysWhispers2/ && python3 syswhispers.py --preset all -o syscalls_all && cd ..
python3 InlineWhispers2.py

À la place, utilisez SysWhispers2 pour générer les fichiers de sortie uniquement pour les API nécessaires, puis fournissez-les manuellement (ou via un script) à InlineWhispers2 qui les convertira dans le format approprié. Consultez le makefile inclus pour plus d'informations ou utilisez les fichiers inclus à vos risques et périls.

Injection

SpawnProcess

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
--5NonHérite des autorisations du processus parent

Description

Démarre un nouveau processus suspendu avec Code Integrity Guard (CIG) activé pour bloquer les binaires signés non Microsoft. Usurpe le processus parent spécifié. Le PID est renvoyé.

Paramètres

Processus parent : Le nom du processus à définir comme parent
Emplacement de l'exécutable : Chemin complet de l'exécutable sur le disque utilisé pour démarrer le nouveau processus


CreateRemoteThread

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
Shellcode/RawPID5Non-

Description

Injecte une charge utile dans un processus distant via NtCreateThreadEx

Paramètres

PID du processus : L'identifiant du processus distant
Emplacement de la charge utile : Emplacement de la charge utile sous forme binaire sur le disque (Conditionnel | Facultatif)
Charge utile b64 : Shellcode brut au format chaîne encodée en base64 (Conditionnel | Facultatif)
Listener : Listener pour lequel générer la charge utile (Conditionnel)

Un listener doit être spécifié pour générer une charge utile Beacon. Si une charge utile manuelle est souhaitée, elle doit être fournie via un chemin vers le binaire brut sur le disque, ou un shellcode encodé en base64.


QueueUserAPC

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
Shellcode/RawPID2NonPeut potentiellement faire planter le processus cible

Description

Injecte une charge utile dans un processus distant via NtQueueApcThread

Paramètres

PID du processus : L'identifiant du processus distant
Threads : Nombre de threads auxquels ajouter un appel APC
Emplacement de la charge utile : Emplacement de la charge utile sous forme binaire sur le disque (Conditionnel | Facultatif)
Charge utile b64 : Shellcode brut au format chaîne encodée en base64 (Conditionnel | Facultatif)
Listener : Listener pour lequel générer la charge utile (Conditionnel)

Un listener doit être spécifié pour générer une charge utile Beacon. Si une charge utile manuelle est souhaitée, elle doit être fournie via un chemin vers le binaire brut sur le disque, ou un shellcode encodé en base64.


MapViewOfSection

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
Shellcode/RawProcessus de substitution5Non-

Description

Injecte une charge utile dans un processus de substitution via NtMapViewOfSection

Paramètres

Processus parent : Le nom du processus à définir comme parent
Emplacement de l'exécutable : L'emplacement sur disque de l'exécutable à utiliser pour démarrer un nouveau processus
Emplacement de la charge utile : Emplacement de la charge utile sous forme binaire sur le disque (Conditionnel | Facultatif)
Charge utile b64 : Shellcode brut au format chaîne encodée en base64 (Conditionnel | Facultatif)
Listener : Listener pour lequel générer la charge utile (Conditionnel)

Un listener doit être spécifié pour générer une charge utile Beacon. Si une charge utile manuelle est souhaitée, elle doit être fournie via un chemin vers le binaire brut sur le disque, ou un shellcode encodé en base64.


TransactedHollowing

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
PEProcessus de substitution5NonRequiert une charge utile PE x64

Description

Injecte une charge utile dans un processus de substitution en utilisant des sections transactionnelles et des vues mappées. Le point d'entrée distant et le PEB sont mis à jour, sans sections mémoire anormales ni permissions mémoire anormales. Voir ici pour plus d'informations.

Paramètres

Processus parent : Le nom du processus à définir comme parent
Emplacement de l'exécutable : L'emplacement sur disque de l'exécutable à utiliser pour démarrer un nouveau processus
Emplacement de la charge utile : Emplacement de la charge utile PE x64 sur le disque (Conditionnel | Facultatif)
Charge utile b64 : Charge utile PE x64 au format chaîne encodée en base64 (Conditionnel | Facultatif)
Listener : Listener pour lequel générer la charge utile (Conditionnel)

Un listener doit être spécifié pour générer une charge utile Beacon. Si une charge utile manuelle est souhaitée, elle doit être fournie via un chemin vers le PE x64 sur le disque, ou un PE x64 encodé en base64.


PhantomDLLHollowing

ACTUELLEMENT NON IMPLÉMENTÉ

Type de charge utileCibleFiabilité (0-5)Admin requisRemarques
Shellcode indépendant de la position (PIC)Processus de substitution5OuiDes permissions élevées sont requises pour ouvrir les DLL système avec des permissions d'écriture

Description

Injecte une charge utile dans un processus de substitution en utilisant des sections transactionnelles combinées au DLL hollowing. Voir ici pour plus d'informations.

Paramètres

Télécharger l’outil