Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #45, АВГУСТ 2004 г.

Десятка самых-самых

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #045, стр. 045-040-4


Как выяснилось, ослика также тошнит от греческих символов :). Если сделать интересный запрос вида about:более_2_тысяч_греческих_символов, вылезет окно с инфой о переполнении. То же окошко можно появится, если подставить символы в http-ссылку. Ничто не мешает хакеру смастерить страничку, которая будет убивать IE у нерадивых посетителей. Брешь может проявиться и в мирное время, когда пользователь серфит какой-нибудь буржуйский инет-магазин (именно об этом гласил первоисточник уязвимости).

И, наконец, самый свежий баг, который обнаружился после анализа честно спионеренных исходников Windows. С помощью Internet Explorer можно выполнить произвольный код, переполнив буфер. Брешь достаточно простая: злоумышленник должен сконструировать специально обработанный bitmap-файл. Когда такой файл будет загружен в браузер ушастого ламера, возникнет переполнение буфера. Изъян нашли в коде 'win2k/private/inet/mshtml/src/site/download/imgbmp.cxx'.

8. Shoutcast heap overflow

Еще одна хитрая уязвимость нашлась в проекте Shoutcast. Все началось с того, что хакер с ником HEX заметил возможность переполнения значений переменных icy-name и icy-desc (имя и описание сервиса), передающихся через Web. Их размер, как обычно, не контролировался. Через несколько дней после этого компания m00-security наколбасила виндовый эксплоит. Причем сырцы этого сплоита хранились в строжайшей тайне, до тех пор пока хакер не выложил src-код, приводящий к краху линуксовый Shoutcast.

Единственным спасением является то, что без знания пароля, задаваемого при конфигурации сервера, хакер не сможет переполнить буфер. Однако дефолтовый пассворд выглядит как «changeme» и, как ни странно, юзается многими админами. Если версия демона – старше 1.9.2, переполнить буфер уже не удастся.

9. Serv-U buffer overflows

Теперь поговорим об FTP-серверах. Виндовый Serv-U, славившийся стабильностью, изрядно подпортил себе репутацию. Багоискатели нашли целых три уязвимости, которые приводят либо к краху сервера, либо к получению абсолютных прав на машине. Рассмотрим эти бреши подробнее.

Первая дырка затаилась в команде CHMOD, изменяющей права на файлы. Ее параметр ограничен лишь 256 байтами, но это ограничение никто не проверяет. А, как известно, что не запрещено, то разрешено. Вот и стали подставлять хакеры вместо реального файла всякую фигню. В итоге, буфер переполнялся, а shell-код, грамотно переданный серверу, выполнялся на ура. По понятным причинам злоумышленник получал командный shell на левом порту. Если по каким-то причинам адрес возврата был подобран неверно, взломщик просто останавливал работу Serv-U.

Не успели девелоперы пофиксить этот баг, как хакеры нашли еще один. На этот раз неверная обработка команды LIST –l с подставным параметром в 134 байта убивала Serv-U. Убийство сервака можно было осуществить даже без эксплоита, вручную. Однако к описанию приводился полноценный перловый сплоит.

Вскоре багоискатели откопали третий изъян – в функции MDTM. Эта команда отображает время создания файла. Ошибка заключается в том, что размер этого файла не может превышать 256 байт. Когда хакер передает слишком длинный аргумент, происходит переполнение буфера. Последствий может быть два: либо осуществится корректная передача shell-кода (с последующим открытием порта), применимого для определенной ОС, либо сервис просто уйдет в даун.

Назад на стр. 045-040-3  Содержание  Вперед на стр. 045-040-5