PacketWhisper — Как передавать данные через DNS без контроля над серверами

03 Jun, 2021

Репозиторий давно не обновлялся

Последнее обновление было 5 лет назад.

653
🔱 122
👥 18

Когда DNS становится секретным каналом

Представьте ситуацию: вам нужно передать файл через сеть с жёсткими ограничениями, где FTP, HTTP и даже SSH под строгим контролем. А DNS-запросы? Они почти всегда разрешены. Именно на этой особенности построен PacketWhisper — инструмент, превращающий обычные DNS-запросы в скрытый канал передачи данных.

Чем PacketWhisper отличается от других DNS-туннелей

Обычные методы DNS-экфильтрации требуют:

  • Контроля над DNS-сервером
  • Использования поддоменов для передачи данных
  • Шифрования payload'а

PacketWhisper работает иначе. Он:

  1. Преобразует файл в список доменных имён через стеганографию
  2. Использует заранее разрешённые DNS-серверы
  3. Не требует успешного разрешения запросов
# Пример запуска
$ python packetWhisper.py

Три кита PacketWhisper

1. Работа без контроля над инфраструктурой

Проекту не нужны:

  • Ваши домены
  • Ваши DNS-серверы
  • Успешное разрешение запросов

2. Стеганография в тексте

Используется Cloakify Toolset для преобразования данных в безобидные на вид FQDN:

Реклама

Пример преобразования

3. Гибкие режимы работы

  • Случайные поддомены (рекомендуется) — обходит кэширование и NAT
  • Повторяющиеся FQDN — удобно для поиска в больших PCAP-файлах
  • Обычные домены — для локальных сетей

Как это выглядит в реальности

  1. Исходный файл → список доменов
  2. DNS-запросы → передача данных
  3. Перехват трафика → восстановление файла

Схема работы

Практическое применение

  • Тестирование на проникновение
  • Обход DLP-систем
  • Передача данных в ограниченных сетях
  • Исследование сетевых политик

Важно: скорость передачи всего ~7.2 КБ/час. Но когда другие методы недоступны, даже это ценно.

Технические особенности

  • Python 2.7 (идёт порт на 3.6)
  • Минимальные зависимости (только tcpdump/WinDump)
  • Поддержка различных методов стеганографии

Кому стоит попробовать

  • Пентестерам
  • Красным командам
  • Специалистам по безопасности
  • Любопытным сетевым инженерам

Проект с открытым кодом (MIT License) и активно развивается. В планах — поддержка MDNS и LLMNR для локальных сетей.

«Это не высокоскоростной канал, но когда другие двери закрыты, даже мышь в стене может оказаться полезной» — так можно описать философию PacketWhisper.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.