Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent — Framework C2 em Assembly x64 sem arquivos com pivô de protocolo ICMP/DNS de canal duplo, execução direta de syscall e injeção de processo baseada em ptrace para execução furtiva de comandos e exfiltração de dados. | Kitploit
Ferramentas/GitHubGitHub/jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent
Escalada de PrivilégiosFrameworks de ExploraçãoEvasão de IDS/IPSShellcodePós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de Payloads

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent

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

Framework C2 em Assembly x64 sem arquivos com pivô de protocolo ICMP/DNS de canal duplo, execução direta de syscall e injeção de processo baseada em ptrace para execução furtiva de comandos e exfiltração de dados.

Ver RepositórioSite
881816há 1 mêsRevisado pelo Kitploit
 ________  ___  ___  ________  ________  _________       ________  ________   
|\   ____\|\  \|\  \|\   __  \|\   ____\|\___   ___\    |\   ____\|\_____  \  
\ \  \___| \ \  \\\  \ \  \|\  \ \  \___|\|___ \  \_|    \ \  \___|\|____|\  \ 
 \ \  \  __ \ \   __  \ \  \\\  \ \_____  \   \ \  \      \ \  \     ____\_\  \
  \ \  \|\  \ \  \ \  \ \  \\\  \|____|\  \   \ \  \      \ \  \___|\____ \  \
   \ \_______\ \__\ \__\ \_______\____\_\  \   \ \__\      \ \______\\_________\
    \|_______|\|__|\|__|\|_______|\_________\   \|__|       \|______\|_________|
                                 \|_________|                                   

Implant C2 fileless, puro Assembly x64, utilizando uma arquitetura de Canal Duplo (ICMP / DNS). Zero libc. Zero disco. Invisível para hooks padrão de EDR.


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

Ghost-C2

Visão Geral

⭐️ Se você considera esta pesquisa útil, por favor, considere dar uma estrela para apoiar o desenvolvimento contínuo

🚨 PESQUISA TÉCNICA COMPLETA & CÓDIGO FONTE: Este repositório é um resumo. Para a análise arquitetural completa, detalhes de evasão de memória W^X e implementação da VTable, visite a página oficial do projeto: ICMP-Ghost Technical Breakdown

Ghost-C2 é um framework de comando e controle escrito inteiramente em Assembly puro x64 Linux, sem dependências de libc. Cada operação passa por chamadas de sistema diretas. Não há tabelas de importação, artefatos de linker dinâmico ou gravações em disco.

Originalmente construído como um canal stealth bruto de ICMP, a versão 3.6.2 introduz uma arquitetura de Pivô de Protocolo de Canal Duplo. Operadores podem alternar perfeitamente o canal de comunicação do implante entre ICMP Raw Sockets silencioso e DNS UDP Tunneling evasivo em tempo real. O implante vive exclusivamente na RAM, injetado em um processo do sistema em execução através de um loader personalizado baseado em ptrace.

Este projeto foi construído para explorar o quanto a stealth em espaço de usuário e a sincronização de estado de rede podem chegar sem tocar no kernel.


Arquitetura

ghost-c2-architecture
┌─────────────────────────────────────────────────────────────┐
│                      MÁQUINA DO OPERADOR                    │
│                                                             │
│   ┌──────────────┐                                          │
│   │  client.asm  │  ← Terminal UI: Prompt IP/Domain + Cmd   │
│   │  (Console do │    Criptografa payload com XOR Rotativo  │
│   │   Operador)  │    Sincronização de Estado: modo ICMP    │
│   │              │    / modo DNS                            │
│   └──────┬───────┘                                          │
│          │                                                  │
└──────────┼──────────────────────────────────────────────────┘
           │  Canal 1: ICMP Raw (Sem estado, Sem porta)
           │  Canal 2: DNS UDP Porta 53 (Assimétrico)
┌──────────┼──────────────────────────────────────────────────┐
│          │             MÁQUINA ALVO                         │
│          ▼                                                  │
│   ┌──────────────┐     ┌─────────────────────────────────┐  │
│   │  loader.asm  │────▶│         sniff.asm (PIC)         │  │
│   │  (Loader     │     │         Vive apenas na RAM      │  │
│   │   Fantasma)  │     │         dentro do processo      │  │
│   └──────────────┘     │         hospedeiro              │  │
│                         └────────────────┬────────────────┘  │
│                                         │                   │
│   1. Escaneia /proc por PID alvo        │ Escuta ICMP/DNS   │
│   2. ptrace ATTACH                      │ Valida Autentica. │
│   3. Força mmap remoto (RW)             │ Descriptografa    │
│   4. Injeta shellcode PIC               │ comando           │
│   5. mprotect → RX                      │ fork+execve       │
│   6. Redireciona RIP → shellcode        │ memfd_create      │
│   7. ptrace DETACH → sai                │ Comprime(DPCM-RLE)│
│                                         │ Criptografa &     │
│                                         │ Fragmenta         │
│                                         │ Envia Resposta    │
└─────────────────────────────────────────┼───────────────────┘
                                          │  Tráfego Criptografado
                                          ▼
                                   [ client.asm ]
                                   Recebe & Valida
                                   Descriptografa Payload
                                   Descomprime (Híbrido)
                                   Remonta & Imprime

Componentes

client.asm — Console do Operador

O terminal do lado do atacante. Lida com UI, gerenciamento dinâmico de memória e sincronização de estado do alvo. Pode enviar pacotes como Echo Requests ICMP ou consultas DNS TXT. Escuta respostas fragmentadas, previne estouros de buffer e reconstrói a saída. Possui um módulo de "Reconexão Ativa de Alvo" para resgatar sessões órfãs.

sniff.asm — Agente Implant PIC

O implante em execução no alvo. Compilado como um binário bruto (independente de posição, sem cabeçalhos ELF) para que possa ser injetado em endereços de memória arbitrários. Ele atualiza dinamicamente sua VTable interna para alternar entre sniffing ICMP e bind UDP DNS com base em comandos de pivô do operador.

Phantom_Loader/loader.asm — Motor de Injeção

O mecanismo de entrega. Escaneia /proc, encontra um processo alvo pelo nome comm e injeta o shellcode PIC nele usando uma máquina de estados ptrace de múltiplos estágios. Sai limpo após a injeção — não deixa rastros.


Técnicas de Stealth & Evasão

Pivô de Protocolo de Canal Duplo (ICMP ↔ DNS)

Ghost-C2 v3.6.2 permite que o operador troque o protocolo de rede a quente sem perder o agente. Ao enviar comandos de pivô específicos, as VTables tanto no Mestre quanto no Agente são sobrescritas dinamicamente:

  • !D (Pivô para DNS): Ambos os nós fecham sockets ICMP e inicializam comunicação UDP Porta 53. Ideal para contornar filtragem estrita de Camada 3, misturando-se ao tráfego DNS corporativo.
  • !I (Pivô para ICMP): O Agente fecha sockets UDP, mata bindings de porta e retorna ao sniffing silencioso de Raw Socket. Perfeito para modo stealth "Fantasma".

Compressor Híbrido DPCM-RLE x64

O motor de transmissão de dados do Ghost-C2 utiliza uma camada híbrida de compressão e codificação fortemente otimizada em Assembly x86-64.

  • DPCM (Modulação por Código de Pulso Diferencial): Calcula e envia a diferença matemática (Delta) entre um caractere de referência e os subsequentes, reduzindo a entropia dos dados.
  • RLE (Codificação Run-Length): Empacota espaços consecutivos e blocos repetitivos no nível de bits.
  • Resultado: Reduz a carga útil total de dados em 40% a 55%, minimizando a pegada de rede e o número de pacotes injetados.
Baixar ferramenta