Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent — Бесфайловый C2-фреймворк на ассемблере x64 с двухканальным пивотингом по протоколам ICMP/DNS, прямым выполнением системных вызовов и внедрением в процессы на основе ptrace для скрытого выполнения команд и эксфильтрации данных. | Kitploit
Инструменты/GitHubGitHub/jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent
Повышение привилегийФреймворки для эксплойтовОбход IDS/IPSШелл-кодПост-эксплуатацияКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent

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

Бесфайловый C2-фреймворк на ассемблере x64 с двухканальным пивотингом по протоколам ICMP/DNS, прямым выполнением системных вызовов и внедрением в процессы на основе ptrace для скрытого выполнения команд и эксфильтрации данных.

РепозиторийСайт
8818161 месяц назадПроверено Kitploit
 ________  ___  ___  ________  ________  _________       ________  ________   
|\   ____\|\  \|\  \|\   __  \|\   ____\|\___   ___\    |\   ____\|\_____  \  
\ \  \___| \ \  \\\  \ \  \|\  \ \  \___|\|___ \  \_|    \ \  \___|\|____|\  \ 
 \ \  \  __ \ \   __  \ \  \\\  \ \_____  \   \ \  \      \ \  \     ____\_\  \
  \ \  \|\  \ \  \ \  \ \  \\\  \|____|\  \   \ \  \      \ \  \___|\____ \  \
   \ \_______\ \__\ \__\ \_______\____\_\  \   \ \__\      \ \______\\_________\
    \|_______|\|__|\|__|\|_______|\_________\   \|__|       \|______\|_________|
                                 \|_________|                                   

Бесфайловый C2-имплант на чистом x64 Assembly, использующий двухканальную архитектуру (ICMP / DNS). Ноль libc. Ноль на диске. Невидим для стандартных EDR-хуков.


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

Ghost-C2

Обзор

⭐️ Если вы считаете это исследование полезным, пожалуйста, поставьте звёздочку, чтобы поддержать дальнейшую разработку

🚨 ПОЛНОЕ ТЕХНИЧЕСКОЕ ИССЛЕДОВАНИЕ И ИСХОДНЫЙ КОД: Этот репозиторий — краткая сводка. Полное описание архитектуры, детали обхода памяти W^X и реализация VTable доступны на официальной странице проекта: ICMP-Ghost Technical Breakdown

Ghost-C2 — это C2-фреймворк, написанный полностью на чистом x64 Linux Assembly без зависимостей от libc. Каждая операция выполняется через прямые системные вызовы. Нет таблиц импорта, нет артефактов динамического линковщика и нет записи на диск.

Изначально созданный как скрытый ICMP-канал, версия 3.6.2 представляет архитектуру двухканального переключения протоколов (Dual-Channel Protocol Pivoting). Оператор может на лету переключать канал связи импланта между бесшумными raw-сокетами ICMP и маскирующимся DNS UDP-туннелированием. Имплант живёт исключительно в RAM, внедряясь в работающий системный процесс с помощью кастомного загрузчика на основе ptrace.

Этот проект создан, чтобы исследовать, насколько далеко можно продвинуться в скрытности пользовательского пространства и синхронизации состояния сети, не затрагивая ядро.


Архитектура

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

Компоненты

client.asm — консоль оператора

Атакующая терминальная сторона. Обрабатывает интерфейс, динамическое управление памятью и синхронизацию состояния цели. Может отправлять пакеты как ICMP Echo Request, так и DNS TXT-запросы. Слушает фрагментированные ответы, предотвращает переполнение буфера и восстанавливает вывод. Содержит модуль «Active Target Reconnection» для восстановления потерянных сессий.

sniff.asm — PIC-имплант

Имплант, работающий на цели. Скомпилирован как «сырой» бинарник (позиционно-независимый, без ELF-заголовков), поэтому может быть внедрён в произвольные адреса памяти. Динамически обновляет внутренний VTable для переключения между сниффингом ICMP и привязкой UDP DNS по командам оператора на переключение протокола.

Phantom_Loader/loader.asm — механизм внедрения

Механизм доставки. Сканирует /proc, находит целевой процесс по имени comm и внедряет PIC-шеллкод в него с помощью многоступенчатого ptrace-конечного автомата. После внедрения корректно завершает работу, не оставляя следов.


Техники скрытности и обхода

Двухканальное переключение протоколов (ICMP ↔ DNS)

Ghost-C2 v3.6.2 позволяет оператору «горячо» менять сетевой протокол без потери агента. При отправке специальных команд переключения VTable как на стороне Master, так и на стороне Agent динамически перезаписываются:

  • !D (переключение на DNS): Оба узла закрывают ICMP-сокеты и инициализируют связь через UDP-порт 53. Идеально для обхода строгой фильтрации Layer 3 за счёт маскировки под корпоративный DNS-трафик.
  • !I (переключение на ICMP): Агент закрывает UDP-сокеты, убивает привязки портов и возвращается в режим бесшумного сниффинга raw-сокетов. Идеально для «фантомного» режима скрытности.

Гибридный x64-компрессор DPCM-RLE

Движок передачи данных Ghost-C2 использует гибридный уровень сжатия и кодирования, сильно оптимизированный на x86-64 Assembly.

  • DPCM (Differential Pulse Code Modulation): Вычисляет и передаёт математическую разность (дельту) между опорным символом и последующими, снижая энтропию данных.
  • RLE (Run-Length Encoding): Упаковывает подряд идущие пробелы и повторяющиеся блоки на битовом уровне.
  • Результат: сокращает общий объём полезной нагрузки на 40–55%, уменьшая сетевой след и количество внедряемых пакетов.
Скачать инструмент