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
ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent — Framework C2 en assembly x64 sans fichier avec pivotement de protocole ICMP/DNS à double canal, exécution directe d'appels système et injection de processus basée sur ptrace pour une exécution furtive de commandes et une exfiltration de données. | Kitploit
Outils/GitHubGitHub/jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent
Escalade de PrivilègesFrameworks d'ExploitationÉvasion IDS/IPSShellcodePost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles

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
GitHub
jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent

ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent

Framework C2 en assembly x64 sans fichier avec pivotement de protocole ICMP/DNS à double canal, exécution directe d'appels système et injection de processus basée sur ptrace pour une exécution furtive de commandes et une exfiltration de données.

Voir le dépôtSite web
881835il y a 19 joursVérifié par Kitploit
 ________  ___  ___  ________  ________  _________       ________  ________   
|\   ____\|\  \|\  \|\   __  \|\   ____\|\___   ___\    |\   ____\|\_____  \  
\ \  \___| \ \  \\\  \ \  \|\  \ \  \___|\|___ \  \_|    \ \  \___|\|____|\  \ 
 \ \  \  __ \ \   __  \ \  \\\  \ \_____  \   \ \  \      \ \  \     ____\_\  \
  \ \  \|\  \ \  \ \  \ \  \\\  \|____|\  \   \ \  \      \ \  \___|\____ \  \
   \ \_______\ \__\ \__\ \_______\____\_\  \   \ \__\      \ \______\\_________\
    \|_______|\|__|\|__|\|_______|\_________\   \|__|       \|______\|_________|
                                 \|_________|                                   

Implant C2 sans fichier, purement en assembleur x64, utilisant une architecture à double canal (ICMP / DNS). Zéro libc. Zéro disque. Invisible pour les sondes EDR standards.


Architecture Langage Protocole Protocole OS Version Suricata GitHub stars GitHub license GitHub repo size

Ghost-C2

Aperçu

⭐️ Si vous trouvez cette recherche utile, merci de considérer lui donner une étoile pour soutenir son développement.

🚨 RECHERCHE TECHNIQUE COMPLÈTE & CODE SOURCE : Ce dépôt est un résumé. Pour la description architecturale complète, les détails d'évasion mémoire W^X et l'implémentation de la VTable, visitez la page officielle du projet : ICMP-Ghost Technical Breakdown

Ghost-C2 est un framework de commande et de contrôle entièrement écrit en assembleur x64 Linux pur, sans dépendance à libc. Chaque opération passe par des appels système directs. Il n'y a pas de tables d'import, pas d'artefacts de l'éditeur de liens dynamique et aucune écriture sur le disque.

Initialement construit comme un canal furtif brut ICMP, la version 3.6.2 introduit une architecture de pivotement de protocole à double canal. Les opérateurs peuvent basculer de manière transparente le canal de communication de l'implant entre les sockets brutes ICMP silencieuses et le tunneling UDP DNS furtif à la volée. L'implant réside exclusivement dans la RAM, injecté dans un processus système en cours via un chargeur personnalisé basé sur ptrace.

Ce projet a été développé pour explorer jusqu'où la furtivité en espace utilisateur et la synchronisation d'état réseau peuvent aller sans toucher au noyau.


Architecture

ghost-c2-architecture
┌─────────────────────────────────────────────────────────────┐
│                      MACHINE OPÉRATEUR                      │
│                                                             │
│   ┌──────────────┐                                          │
│   │  client.asm  │  ← Terminal UI : Prompt IP/Domaine + Cmd │
│   │  (Console    │    Chiffre la charge utile avec XOR       │
│   │   Opérateur) │    rotatif                               │
│   │              │    Sync. état : mode ICMP / mode DNS     │
│   └──────┬───────┘                                          │
│          │                                                  │
└──────────┼──────────────────────────────────────────────────┘
           │  Canal 1 : ICMP brut (Sans état, Sans port)
           │  Canal 2 : DNS UDP Port 53 (Asymétrique)
┌──────────┼──────────────────────────────────────────────────┐
│          │             MACHINE CIBLE                        │
│          ▼                                                  │
│   ┌──────────────┐     ┌─────────────────────────────────┐  │
│   │  loader.asm  │────▶│         sniff.asm (PIC)         │  │
│   │  (Chargeur   │     │         Vit uniquement en RAM   │  │
│   │   Fantôme)   │     │         à l'intérieur d'un proc.│  │
│   └──────────────┘     └────────────────┬────────────────┘  │
│                                         │                   │
│   1. Scanne /proc pour le PID cible     │ Écoute ICMP/DNS  │
│   2. ptrace ATTACH                      │ Valide Auth      │
│   3. Force mmap distant (RW)             │ Déchiffre cmd    │
│   4. Injecte le shellcode PIC           │ fork+execve      │
│   5. mprotect → RX                      │ memfd_create     │
│   6. Redirige RIP vers le shellcode     │ Compresse (DPCM-  │
│   7. ptrace DETACH → se termine         │   RLE)            │
│                                         │ Chiffre & Fragm. │
│                                         │ Envoie Réponse    │
└─────────────────────────────────────────┼───────────────────┘
                                          │  Trafic Chiffré
                                          ▼
                                   [ client.asm ]
                                   Reçoit & Valide
                                   Déchiffre Charge Utile
                                   Décompresse (Hybride)
                                   Réassemble & Affiche

Composants

client.asm — Console Opérateur

Le terminal côté attaquant. Gère l'interface utilisateur, la gestion dynamique de la mémoire et la synchronisation de l'état de la cible. Peut envoyer des paquets sous forme de requêtes d'écho ICMP ou de requêtes DNS TXT. Écoute les réponses fragmentées, empêche les débordements de tampon et reconstruit la sortie. Dispose d'un module de "Reconnexion de cible active" pour récupérer des sessions orphelines.

sniff.asm — Agent Implant PIC

L'implant s'exécutant sur la cible. Compilé en binaire brut (indépendant de la position, sans en-têtes ELF) pour pouvoir être injecté dans des adresses mémoire arbitraires. Il met à jour dynamiquement sa VTable interne pour basculer entre l'écoute ICMP et la liaison UDP DNS en fonction des commandes de pivotement de l'opérateur.

Phantom_Loader/loader.asm — Moteur d'Injection

Le mécanisme de livraison. Scanne /proc, trouve un processus cible par son nom de comm, et injecte le shellcode PIC dans celui-ci via une machine d'état ptrace en plusieurs étapes. Se termine proprement après l'injection — ne laisse aucune trace.


Techniques de Furtivité et d'Évasion

Pivotement de Protocole à Double Canal (ICMP ↔ DNS)

Ghost-C2 v3.6.2 permet à l'opérateur de changer à chaud le protocole réseau sans perdre l'agent. En envoyant des commandes de pivotement spécifiques, les VTables du Maître et de l'Agent sont dynamiquement réécrites :

  • !D (Pivoter vers DNS) : Les deux nœuds ferment les sockets ICMP et initialisent la communication UDP sur le Port 53. Idéal pour contourner un filtrage strict de couche 3 en se fondant dans le trafic DNS d'entreprise.
  • !I (Pivoter vers ICMP) : L'Agent ferme les sockets UDP, tue les liaisons de port et retourne en écoute silencieuse sur socket brute. Parfait pour le mode furtif "Fantôme".

Compresseur Hybride DPCM-RLE x64

Le moteur de transmission de données de Ghost-C2 utilise une couche de compression et d'encodage hybride fortement optimisée en assembleur x86-64.

Télécharger l’outil