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

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

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

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

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

Категории

Все категории
Loading categories
zombie-zip — Некорректный ZIP-архив, который обходит обнаружение антивирусом, объявляя Method=0 (stored), но при этом содержащий полезную нагрузку, сжатую DEFLATE. | Kitploit
Инструменты/GitHubGitHub/bombadil-systems/zombie-zip
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияОбход IDS/IPSСкриптинг и автоматизацияАнализ вредоносных программТестирование на ПроникновениеRed Teaming
GitHubbombadil-systems/zombie-zip

zombie-zip

Некорректный ZIP-архив, который обходит обнаружение антивирусом, объявляя Method=0 (stored), но при этом содержащий полезную нагрузку, сжатую DEFLATE.

Репозиторий
196355 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

Zombie ZIP

Техника подмены формата ZIP, обходящая 98% антивирусных движков.

CVE-2026-0866 | VU#976247 | Опубликовано 10 марта 2026 года

Техника

Создайте ZIP-файл, в котором:

root@kitploit:~
Compression Method = 0 (STORED)
Actual data = DEFLATE compressed
CRC-32 = Checksum of uncompressed payload
root@kitploit:~
AV Engine:  Reads Method 0 → Scans compressed noise → No detection
Attacker:   Ignores Method field → Decompresses as DEFLATE → Recovers payload

Результаты

ФайлТехникаVirusTotal
baseline.zipКорректный ZIP55/67
method_mismatch.zipZombie ZIP1/66

98% обхода. Та же нагрузка. Те же байты. Другой контейнер.

Быстрая проверка

root@kitploit:~
# Generate a Zombie ZIP
python3 zombie_zip.py

# Upload method_mismatch.zip to VirusTotal
# Observe 1/51 detection vs 55/67 for baseline

# Recover payload programmatically
python3 loader_poc.py method_mismatch.zip
# Outputs byte-identical EICAR (SHA-256: 275a021b...)

Инструмент Container

Container.py обобщает технику Zombie ZIP в автономный упаковщик/распаковщик для произвольных файлов с использованием формата .cpack.

Как это работает

Container.py берёт любой файл, сжимает его содержимое с помощью DEFLATE и записывает его в ZIP-архив, объявленный как STORED (Method=0). В результате получается файл .cpack — неофициальный формат контейнера, который защищает содержимое файлов от просмотра.

В отличие от исходного PoC Zombie ZIP, CRC в файле .cpack вычисляется по сжатым (DEFLATE) байтам, а не по исходной нагрузке. Это означает, что архив структурно корректен — нет ошибок CRC, нет флагов повреждения. Содержимое просто непрозрачно для всего, кроме распаковщика.

Результаты

ФайлТехникаVirusTotal
eicar.comСырая нагрузка EICAR55/67
eicar.com.cpackУпаковано контейнером0/62

0/62. Единственный файл, который каждый антивирусный движок на Земле специально создан обнаруживать, стал невидимым.

Использование

root@kitploit:~
# Requires PyQt6
pip install PyQt6

# Launch the GUI
python3 Container.py
  • Выберите любой файл → создаётся filename.cpack (упакованный)
  • Выберите файл .cpack → восстанавливается исходный файл (распакованный)

Почему это существует

Несколько сторон объявили, что лежащая в основе техника не является проблемой безопасности. CERT/CC 18 марта 2026 года определил, что техника Zombie ZIP «не представляет собой действительную уязвимость» и «не обходит и не влияет на какие-либо подразумеваемые или явные средства контроля безопасности». Cisco классифицировала её как «рекомендацию по усилению защиты». Несколько исследователей публично заявили, что это не уязвимость.

Поскольку это было объявлено не-проблемой, этот инструмент просто позволяет вам защитить ваши файлы и данные от постороннего изучения, используя технику, не имеющую последствий для безопасности.

Результат 0/62 на EICAR позволяет предположить, что последствия могли быть преуменьшены.

Файлы

  • zombie_zip.py - скрипт-генератор
  • method_mismatch.zip - предварительно сгенерированный PoC с EICAR
  • baseline.zip - корректный ZIP для сравнения
  • loader_poc.py - демонстрирует программное восстановление нагрузки
  • Container.py - графический упаковщик/распаковщик для произвольных файлов (формат .cpack)

Как это работает

Антивирусные движки доверяют полю Method в ZIP. Когда Method=0 (STORED), они сканируют данные как сырые несжатые байты. Но данные на самом деле сжаты DEFLATE — поэтому сканер видит сжатый шум и не находит сигнатур.

В исходном PoC Zombie ZIP значение CRC устанавливается равным контрольной сумме несжатой нагрузки, что создаёт несоответствие, из-за которого стандартные инструменты извлечения (7-Zip, unzip, WinRAR) сообщают об ошибках или извлекают повреждённые данные.

Container.py полностью избегает этого. Поскольку zipfile.ZipFile вычисляет CRC по записываемым байтам (данным, сжатым DEFLATE), CRC совпадает с сохранённым значением. Стандартные инструменты открывают архив без ошибок. Они успешно извлекают сжатый шум. Нет ошибок CRC. Нет флагов повреждения. Антивирус сканирует шум и сообщает «чисто».

Однако специально созданный загрузчик, который декомпрессирует сохранённые данные как DEFLATE, безупречно восстанавливает нагрузку. Функция распаковки Container.py демонстрирует это — стандартный zlib.decompressobj с raw DEFLATE (wbits=-15).

Уязвимость — это обход сканера: средства контроля безопасности утверждают, что «вредоносное ПО отсутствует», хотя вредоносное ПО присутствует и тривиально восстанавливается.

Вектор атаки

Это не уязвимость извлечения для конечного пользователя. Это техника многоэтапной доставки / скрытой пересылки:

  1. Вредоносная нагрузка упаковывается в контейнер Zombie ZIP или .cpack
  2. Файл пересекает границы безопасности (почтовые шлюзы, сетевые сканеры, конечные антивирусы)
  3. Сканеры читают Method=0, сканируют сжатый шум и сообщают «чисто»
  4. Загрузчик или дроппер программно декомпрессирует нагрузку
  5. Нагрузка материализуется и выполняется

Это согласуется с устоявшимися схемами доставки вредоносного ПО (ISO-smuggling, HTML-smuggling, злоупотребление CAB), когда злоумышленники используют собственные загрузчики, а не потребительские инструменты извлечения.

Затронуто

  • 50/51 антивирусных движков на VirusTotal (Zombie ZIP)
  • 62/62 антивирусных движков на VirusTotal (Container / .cpack)
  • Microsoft Defender, Avast, Bitdefender, ESET, Kaspersky, McAfee, Sophos, TrendMicro и др.
  • Только Kingsoft обнаружил исходный Zombie ZIP. Ни один движок не обнаружил .cpack.

Предшествующие работы

  • VU#968818 (CERT/CC, 2004): некорректно сформированные ZIP-архивы, обходящие антивирусы
  • CVE-2004-0935: обход ESET Anti-Virus с помощью некорректно сформированных ZIP-заголовков
  • Эта техника демонстрирует новый примитив (рассинхронизацию поля method) в том же классе уязвимостей

Автор

Chris Aziz - Bombadil Systems

Лицензия

MIT - Только для авторизованных исследований в области безопасности.

Скачать инструмент