Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent — Framework C2 in Assembly x64 fileless con pivoting di protocollo ICMP/DNS a doppio canale, esecuzione diretta di syscall e iniezione di processi basata su ptrace per un'esecuzione furtiva di comandi ed esfiltrazione di dati. | Kitploit
Strumenti/GitHubGitHub/jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent
Escalation di PrivilegiFramework di ExploitEvasione IDS/IPSShellcodePost-ExploitCommand and ControlRed TeamingSviluppo Payload

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent

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

Framework C2 in Assembly x64 fileless con pivoting di protocollo ICMP/DNS a doppio canale, esecuzione diretta di syscall e iniezione di processi basata su ptrace per un'esecuzione furtiva di comandi ed esfiltrazione di dati.

Vedi RepositorySito web
88183519 giorni faRevisionato da Kitploit
 ________  ___  ___  ________  ________  _________       ________  ________   
|\   ____\|\  \|\  \|\   __  \|\   ____\|\___   ___\    |\   ____\|\_____  \  
\ \  \___| \ \  \\\  \ \  \|\  \ \  \___|\|___ \  \_|    \ \  \___|\|____|\  \ 
 \ \  \  __ \ \   __  \ \  \\\  \ \_____  \   \ \  \      \ \  \     ____\_\  \
  \ \  \|\  \ \  \ \  \ \  \\\  \|____|\  \   \ \  \      \ \  \___|\____ \  \
   \ \_______\ \__\ \__\ \_______\____\_\  \   \ \__\      \ \______\\_________\
    \|_______|\|__|\|__|\|_______|\_________\   \|__|       \|______\|_________|
                                 \|_________|                                   

Implant C2 fileless in puro Assembly x64 che utilizza un'architettura a doppio canale (ICMP / DNS). Zero libc. Zero disco. Invisibile agli hook EDR standard.


Architecture Language Protocol Protocol OS Version Suricata GitHub stars GitHub license GitHub repo size

Ghost-C2

Panoramica

⭐️ Se trovi utile questa ricerca, considera di mettere una stella per supportare lo sviluppo futuro

🚨 RICERCA TECNICA COMPLETA E CODICE SORGENTE: Questa repository è un riepilogo. Per l'analisi architetturale completa, i dettagli sull'evasione della memoria W^X e l'implementazione della VTable, visita la pagina ufficiale del progetto: ICMP-Ghost Technical Breakdown

Ghost-C2 è un framework di command-and-control scritto interamente in Assembly x64 Linux puro, senza dipendenze da libc. Ogni operazione passa attraverso syscall dirette. Non ci sono tabelle di importazione, nessun artefatto del dynamic linker e nessuna scrittura su disco.

Nato originariamente come canale stealth ICMP raw, la versione 3.6.2 introduce un'architettura di Protocol Pivoting a doppio canale. Gli operatori possono passare senza problemi il canale di comunicazione dell'implant tra ICMP Raw Sockets silenziosi e DNS UDP Tunneling elusivo, al volo. L'implant vive esclusivamente in RAM, iniettato in un processo di sistema in esecuzione tramite un loader personalizzato basato su ptrace.

Questo progetto è stato realizzato per esplorare fino a che punto possono spingersi lo stealth nello spazio utente e la sincronizzazione dello stato di rete senza toccare il kernel.


Architettura

ghost-c2-architecture
┌─────────────────────────────────────────────────────────────┐
│                      OPERATOR MACHINE                       │
│                                                             │
│   ┌──────────────┐                                          │
│   │  client.asm  │  ← Terminal UI: Prompt IP/Domain + Cmd   │
│   │  (Operator   │    Encrypts payload with Rolling XOR     │
│   │   Console)   │    State Sync: ICMP mode / DNS mode      │
│   └──────┬───────┘                                          │
│          │                                                  │
└──────────┼──────────────────────────────────────────────────┘
           │  Channel 1: Raw ICMP (Stateless, Port-less)
           │  Channel 2: DNS UDP Port 53 (Asymmetric)
┌──────────┼──────────────────────────────────────────────────┐
│          │             TARGET MACHINE                       │
│          ▼                                                  │
│   ┌──────────────┐     ┌─────────────────────────────────┐  │
│   │  loader.asm  │────▶│         sniff.asm (PIC)         │  │
│   │  (Phantom    │     │         Lives in RAM only       │  │
│   │   Loader)    │     │         inside host process     │  │
│   └──────────────┘     └────────────────┬────────────────┘  │
│                                         │                   │
│   1. Scans /proc for target PID         │ Listens ICMP/DNS  │
│   2. ptrace ATTACH                      │ Validates Auth    │
│   3. Force remote mmap (RW)             │ Decrypts command  │
│   4. Inject PIC shellcode               │ fork+execve       │
│   5. mprotect → RX                      │ memfd_create      │
│   6. Redirect RIP → shellcode           │ Compress(DPCM-RLE)│
│   7. ptrace DETACH → exits              │ Encrypt & Frag.   │
│                                         │ Sends Reply       │
└─────────────────────────────────────────┼───────────────────┘
                                          │  Encrypted Traffic
                                          ▼
                                   [ client.asm ]
                                   Receives & Validates
                                   Decrypts Payload
                                   Decompresses (Hybrid)
                                   Reassembles & Prints

Componenti

client.asm — Console dell'Operatore

Il terminale lato attaccante. Gestisce l'interfaccia utente, la gestione dinamica della memoria e la sincronizzazione dello stato del target. Può inviare pacchetti sia come ICMP Echo Request che come query DNS TXT. Ascolta le risposte frammentate, previene i buffer overflow e ricostruisce l'output. Include un modulo di "Active Target Reconnection" per recuperare sessioni orfane.

sniff.asm — Agente Implant PIC

L'implant in esecuzione sul target. Compilato come binario raw (position-independent, senza header ELF) così da poter essere iniettato in indirizzi di memoria arbitrari. Aggiorna dinamicamente la sua VTable interna per passare dallo sniffing ICMP al binding UDP DNS in base ai comandi di pivot dell'operatore.

Phantom_Loader/loader.asm — Motore di Iniezione

Il meccanismo di consegna. Scansiona /proc, trova un processo target tramite il nome comm e vi inietta la shellcode PIC usando una macchina a stati ptrace multistadio. Termina in modo pulito dopo l'iniezione — non lascia tracce.


Tecniche di Stealth ed Evasione

Protocol Pivoting a Doppio Canale (ICMP ↔ DNS)

Ghost-C2 v3.6.2 consente all'operatore di cambiare a caldo il protocollo di rete senza perdere l'agente. Inviando specifici comandi di pivot, le VTable sia nel Master che nell'Agente vengono sovrascritte dinamicamente:

  • !D (Pivot a DNS): Entrambi i nodi chiudono i socket ICMP e inizializzano la comunicazione UDP sulla Porta 53. Ideale per bypassare un filtraggio Layer 3 rigoroso mimetizzandosi nel traffico DNS aziendale.
  • !I (Pivot a ICMP): L'Agente chiude i socket UDP, elimina i binding di porta e torna allo sniffing silenzioso su Raw Socket. Perfetto per la modalità stealth "Phantom".

Compressore Ibrido DPCM-RLE x64

Il motore di trasmissione dati di Ghost-C2 utilizza un layer ibrido di compressione e codifica pesantemente ottimizzato in Assembly x86-64.

  • DPCM (Differential Pulse Code Modulation): Calcola e invia la differenza matematica (Delta) tra un carattere di riferimento e quelli successivi, abbassando l'entropia dei dati.
  • RLE (Run-Length Encoding): Impacchetta spazi consecutivi e blocchi ripetuti a livello di bit.
  • Risultato: Riduce il payload dati complessivo dal 40% al 55%, minimizzando l'impronta di rete e il numero di pacchetti iniettati.
Scarica lo strumento