PacketWhisper — Как передавать данные через DNS без контроля над серверами
Репозиторий давно не обновлялся
Последнее обновление было 5 лет назад.
Когда DNS становится секретным каналом
Представьте ситуацию: вам нужно передать файл через сеть с жёсткими ограничениями, где FTP, HTTP и даже SSH под строгим контролем. А DNS-запросы? Они почти всегда разрешены. Именно на этой особенности построен PacketWhisper — инструмент, превращающий обычные DNS-запросы в скрытый канал передачи данных.
Чем PacketWhisper отличается от других DNS-туннелей
Обычные методы DNS-экфильтрации требуют:
- Контроля над DNS-сервером
- Использования поддоменов для передачи данных
- Шифрования payload'а
PacketWhisper работает иначе. Он:
- Преобразует файл в список доменных имён через стеганографию
- Использует заранее разрешённые DNS-серверы
- Не требует успешного разрешения запросов
# Пример запуска
$ python packetWhisper.py
Три кита PacketWhisper
1. Работа без контроля над инфраструктурой
Проекту не нужны:
- Ваши домены
- Ваши DNS-серверы
- Успешное разрешение запросов
2. Стеганография в тексте
Используется Cloakify Toolset для преобразования данных в безобидные на вид FQDN:

3. Гибкие режимы работы
- Случайные поддомены (рекомендуется) — обходит кэширование и NAT
- Повторяющиеся FQDN — удобно для поиска в больших PCAP-файлах
- Обычные домены — для локальных сетей
Как это выглядит в реальности
- Исходный файл → список доменов
- DNS-запросы → передача данных
- Перехват трафика → восстановление файла

Практическое применение
- Тестирование на проникновение
- Обход DLP-систем
- Передача данных в ограниченных сетях
- Исследование сетевых политик
Важно: скорость передачи всего ~7.2 КБ/час. Но когда другие методы недоступны, даже это ценно.
Технические особенности
- Python 2.7 (идёт порт на 3.6)
- Минимальные зависимости (только tcpdump/WinDump)
- Поддержка различных методов стеганографии
Кому стоит попробовать
- Пентестерам
- Красным командам
- Специалистам по безопасности
- Любопытным сетевым инженерам
Проект с открытым кодом (MIT License) и активно развивается. В планах — поддержка MDNS и LLMNR для локальных сетей.
«Это не высокоскоростной канал, но когда другие двери закрыты, даже мышь в стене может оказаться полезной» — так можно описать философию PacketWhisper.
