Трёхминутный стерео-WAV при 44.1 кГц весит около 30 МБ и содержит порядка 15.8 миллионов сэмплов. Каждый сэмпл — 16-битное число. Замени младший бит в каждом из них — и получишь почти 2 МБ скрытой ёмкости. Амплитуда сдвинется на 1/65536 от полного диапазона. Ухо не заметит. EDR не заметит. Файл звучит как обычная музыка.
Именно так работает LSB-стеганография — самый распространённый способ спрятать payload в аудио. И это не теория из CTF-задач.
🔊 В 2019 году Symantec зафиксировала, что группировка Turla использовала WAV-файлы для доставки кода на заражённые хосты. Параллельно исследователи Cylance нашли криптомайнеры и Metasploit-шеллы внутри аудио. Файлы воспроизводились без щелчков, без артефактов — чистый звук. С тех пор техника только развивается, а детект в большинстве организаций стоит на нуле.
Почему атакующим это удобно:
• Межсетевые экраны и DLP считают аудио безопасным медиаконтентом. GET-запрос на
.wav с публичного CDN — для фильтра это «пользователь слушает музыку».• EDR реагирует на исполняемые файлы и скрипты, а WAV сам по себе не исполняется. Payload извлекает отдельный загрузчик, уже сидящий на хосте.
• Атакующий может обновлять шеллкод, не трогая ничего на эндпоинте — просто заменил WAV на CDN, и бот тянет свежий payload.
🛡 Что с обнаружением? Ни CrowdStrike Falcon, ни Microsoft Defender for Endpoint, ни SentinelOne не инспектируют содержимое аудиофайлов. Поведенческий анализ сработает только на этапе исполнения извлечённого кода. Сам WAV проходит незамеченным.
Но слабые места у техники есть. LSB-стеганография уязвима к статистическому анализу — тест хи-квадрат может выявить аномальное распределение младших битов. Правда, в реальных кампаниях payload шифруют перед встраиванием, и простые статистические тесты перестают работать. Ещё одно ограничение: метод не переживает lossy-сжатие. Если WAV прогнать через MP3-транскодер — шеллкод разрушится. Атакующий привязан к lossless-каналам.
Помимо LSB существуют и другие подходы. Фазовое кодирование прячет данные в фазовых разностях сегментов — устойчивее к обработке, но ёмкость ниже. Спектральное встраивание помещает биты в частоты выше 14–16 кГц, где слух наименее чувствителен. А в той же кампании 2019 года Cylance обнаружила загрузчики на основе
rand() с фиксированным seed — WAV звучал как белый шум, но после PRNG-декодирования превращался в полноценный PE-файл.📖 В полной версии статьи — практические методы обнаружения, инструменты стегоанализа и конкретные скрипты для детекта. Рекомендуем к прочтению.
https://codeby.net/threads/steganografiya-v-audiofailakh-kak-malvar-pryachut-vnutri-wav-i-kak-eto-obnaruzhit.92973/
