Вы используете устаревший браузер!

Страница может отображаться некорректно.

СпецНаз (специальные названия)

СпецНаз (специальные названия)

Другие выпуски этой рубрики (56)
  • добавить в избранное
    Добавить в закладки

Это бомба!

Прочитали: 5618 Комментариев: 49 Рейтинг: 70

9 августа 2019

Выпуск о zip-бомбах вызвал читательский интерес, так что мы решили вернуться к этой теме еще раз.

Нас спрашивали: сколько ресурсов расходуется при проверке бомб, упомянутых в том выпуске. Отвечаем скриншотами. Вот данные по процессору:

#drweb

А вот память (использована тестовая виртуальная машина с очень малым объемом памяти):

#drweb

Из изображений видно, что лишь в начале проверки возникает небольшой «горбик».

Вернемся к собственно бомбам. На самом деле их много, и бывают они самыми разными. Например, вы наверняка знаете, что изображения могут сохраняться в файлах с потерей качества и без. Форматы без потери качества – это, по сути, чистые архивы. Алгоритм сжатия пробегает по строчкам изображения и, если видит ряд одинаковых пикселей, пишет в файл: мол, тут столько-то таких-то пикселей. Чем это чревато? Создаем огромную картинку из одинаковых элементов. В виде файла она будет весить очень мало, а вот программе для ее отображения потребуется очень много ресурсов.

В архиве на 420 байт – файл PNG размером 6 132 534 байт (5,8 МБ) и изображением 225 000 х 225 000 пикселей (50,625 гигапикселей). В пиксельном буфере с тремя байтами на пиксель картинка займёт примерно 141,4 ГБ.

Картинка почти полностью состоит из нулей, с секретным сообщением в центре. Для лучшего сжатия используется однобитное цветовое пространство, хотя большинство программ для рендеринга графики всё равно резервируют по три бита на пиксель и разворачивают картинку в 141,4 гигабайта.

Источник

Заходите вы на некий сайт, видите «превьюшку» картинки, скачиваете ее – и...

Исследователь написал два небольших PHP-скрипта, которые определяют подозрительные user-agent. Так, если злоумышленники пытаются использовать сканер уязвимостей, или через браузер запрашивают доступ к защищенным или приватным страницам (бэкэнду, панели администрирования, страницам, содержащим формы регистрации и входа), скрипты подменяют обычное содержимое страницы ZIP-бомбой. Как только клиент атакующего получит такой архив, злоумышленника ждет неизбежный аварийный отказ.

Источник

Если вам нравится рисковать, попробуйте сами!

Источник

А есть еще «фавиконы» (favicon) – картинки, отображаемые слева от адресной строки браузера. Вот в связи с этим старая «шутка»:

Энтузиасты-извращенцы в качестве фавикона выкладывали своим посетителям 10GB-файл мультиков в HD.

Остается утешаться тем, что фавикон-иконки размером в 10Gb — это не самое страшное, что может случиться с вами в жизни.

Источник

Сложно ли сделать бомбу? Зависит от целей. Подчас – проще простого:

Это легко сделать в Linux с помощью следующей команды:

dd if=/dev/zero bs=1024 count=10000 | zip zipbomb.zip -

Замените счетчик количеством КБ, которое вы хотите сжать. В приведенном выше примере создается 10-мегабайтная молния (не большая часть бомбы вообще, но она показывает процесс).

Вам НЕ нужно место на жестком диске для хранения всех несжатых данных.

Источник

Команда dd создает поток нулей и отправляет их на вход архиватора. Тот получает их и на лету упаковывает в архив.

Это вариант с практически бесконечным файлом. Еще есть вариант с почти бесконечным количеством вложенных каталогов в архиве:

Из Security Focus доказательство концепции (NSFW!), это ZIP файл с 16 папками, каждый с 16 папками, который продолжается (42 - это имя zip файла):

\42\lib 0\book 0\chapter 0\doc 0\0.dll

...

\42\lib F\book F\chapter F\doc F\0.dll

Вероятно, я ошибаюсь с этой цифрой, но она создает 4 ^ 16 (4 299 967 296) каталогов. Поскольку каждому каталогу требуется пространство для размещения N байтов, оно становится огромным. Файл dll в конце – 0 байт.

Распакованный только первый каталог \42\lib 0\book 0\chapter 0\doc 0\0.dll приводит к 4 ГБ пространства для размещения.

Источник

В чем опасность вложенных каталогов? Это связано с рекурсией. Обнаружив файл, архиватор запускает определенную процедуру (в данном случае – распаковки). Если в ходе распаковки найден еще один архив (вложенный в распаковываемый), то распаковка текущего уровня приостанавливается, сохраняется окружение, и вызывается та же процедура, которая уже работала. Когда вложенная распаковка завершит работу, то при возврате из процедуры окружение восстановится автоматически и продолжится прерванная распаковка. Но если встретится еще один уровень, а затем еще... Всё время сохраняется окружение. А ресурсы программы на сохранение окружения, в том числе стек программы (если интересно, что это – пишите, расскажем), ограниченны и исчерпываются. Далее возможны варианты: либо программа «падает», либо возникает так называемое исключение, и распаковка аварийно завершается – вирус внутри остается ненайденным. Но это, конечно, в случае обычных программ. Антивирус же обязан распаковать до упора.

Если хотите сделать всё вручную, есть рецепт:

Шаги, которые я сделал до сих пор:

  • создайте файл с размером 1,4 ГБ, полный '0'
  • сжать его.
  • переименуем .zip в .txt, затем сделаем 16 копий.
  • сжать все это в .zip файл,
  • переименовать переименованные .txt файлы внутри .zip файла в .zip снова,
  • повторите шаги от 3 до 5 раз.
  • Наслаждайтесь:)

Хотя я не знаю, как объяснить, где сжатие переименованного zip файла все еще сжимает его в меньшем размере, но он работает. Может быть, мне просто не хватает технических терминов.

Источник

Если интересует теория, можно заглянуть, например, сюда.

#бомба

Антивирусная правДА! рекомендует

Во многих странах «активная защита» приравнивается к хакингу и является уголовно наказуемой. Например, в Германии.

Это как подключить электрошокер к двери в квартиру или поставить у входа капкан для воров.

Источник

Мы крайне не рекомендуем использовать бомбы любых видов ни в качестве шуток, ни в качестве защиты. Но важно понимать, как это может быть использовано против вас.

Оцените выпуск

Сделайте репост

Необходимо войти на страницу выпуска через аккаунт на сайте «Доктор Веб» (или создать аккаунт). Аккаунт должен быть связан с вашим аккаунтом в социальной сети. Видео о связывании аккаунта.


Нам важно ваше мнение

Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.

Комментарии пользователей