Обзор эксплойтовПриветствуем тебя, о достопочтимый читатель! В обзоре эксплоитов данном собрали мы для тебя не рецепты яств заморских, не изображения дев нагих, а набор эксплоитов интересных за месяц последний. Так узри же очами своими письмена следующие, и да пребудет с тобой Сила! Уязвимость в Adobe Flash Player 10.2.153.1 SWFCVSSV2
Brief
Flash Player представляет собой виртуальную машину, на которой выполняется загруженный из интернета код flash-программ. Важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность флешовых приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров. В этот раз мы рассмотрим сбой в Adobe Flash Player, который происходит из-за неправильного использования типа объекта, что позволяет атакующему перезаписать указатель в памяти и в результате добиться исполнения произвольного кода, иначе говоря, перехватить контроль над системой, подверженной данной уязвимости. На данный момент эта уязвимость активно используется для распространения разнообразной малвари: эксплоиты для бага вошли в используемые злоумышленниками сплойтпаки. Векторы вторжения: Adobe Flash Player, Adobe Reader и Acrobat, Microsoft Word/Excel (включение .wf-файлов в doc- и xls-файлы соответственно). Справедливости ради нужно отметить, что Adobe Reader X в защищенном режиме работы использует sandbox и пресекает исполнение произвольного кода, несмотря на существование уязвимости. Впрочем, это обстоятельство мало что меняет :). ExploitУязвимый вызов располагается по адресу 0x100d01f6 в библиотеке Flash10o.ocx (для версии плагина Adobe Flash Player 10.2.153.1). Код ActionScript, позволяющий достигнуть уязвимого места:
Дальнейший анализ уязвимости, вызванной вышеприведенным кодом, показывает, что мы имеем очередную неразбериху с типом объекта, произошедшую в SharedObject.prototype.getSize(), когда класс Date расширяется добавлением пользовательской функции, полученной через SharedObject.prototype.getSize. Объект Date инициализируется значением 1.41466385537348e-315, которое при сохранении в памяти преобразуется в 0x11111110, а он, в свою очередь, подходит для реализации техники heap spraying. Когда вызывается пользовательская функция Date.c_fun(), управление передается в SharedObject.prototype.getSize(), в которой происходит некорректная интерпретация передаваемого объекта Date как имеющего тип SharedObject, в результате чего совершается попытка использовать значение, которым был инициализирован объект Date (0x11111110), как указатель на таблицу виртуальных функций. Используя модуль из metasploit, запустим на подверженной уязвимости машине калькулятор:
Сервер запущен. Теперь от нас требуется только пройти по предоставленной ссылке (http://192.168.2.20:8080/Jk32OyCPJ0NUR6B) и мы сможем смиренно, затаив дыхание наблюдать за тем, как Internet Explorer превращается в калькулятор... TargetsIE 6/7 на Windows XP SP3 и Windows Vista. SolutionОбновить Adobe Flash Player. Переполнение буфера на стеке в Wireshark <= 1.4.4 PACKET-DECT.CCVSSV2
Brief
Wireshark (ранее Ethereal) — это один из лучших анализаторов сетевого трафика, доступных на сегодняшний момент. Имеет графический пользовательский интерфейс. Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет графический пользовательский интерфейс и гораздо так же больше возможностей по сортировке и фильтрации информации. Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчивый режим (promiscuous mode). Wireshark «знает» структуру самых различных сетевых протоколов и поэтому позволяет разобрать сетевой пакет, отображая значение каждого поля протокола любого уровня. Поскольку для захвата пакетов используется pcap, существует возможность захвата данных только из тех сетей, которые поддерживаются этой библиотекой. Тем не менее, Wireshark умеет работать с множеством форматов входных данных, соответственно, можно открывать файлы данных, захваченных другими программами, что расширяет возможности захвата. ExploitУязвимое место в коде (исходный код wireshark 1.4.1, packetdect.c, строка 1886):
pkt_bfield представляет собой структуру типа dect_bfield, описание которой приведем ниже:
Как видно, происходит копирование данных пакета в 128-байтный буфер Data, располагающийся на стеке. Для того чтобы лицезреть уязвимость воочию, нам надо будет сформировать определенным образом pcap-файл и отправить его на нужный интерфейс. Например, этого можно добиться, используя прекрасную вещь под названием scapy:
Запускаем wireshark, заставляем его слушать нужный нам интерфейс и шлем ему привет в виде только что сформированного пакета:
Ровно один пакет — и wireshark с грохотом падает ниц. Ну а теперь, воспользуемся благами цивилизации в виде модуля для metasploit и сформируем эксплоит с классической, полезной нагрузкой в виде запуска калькулятора:
Запускаем wireshark, ставим прослушку интерфейса. Отправляем вредоносный пакет:
Наблюдаем калькулятор :) Targets
SolutionОбновить Wireshark. Множественные уязвимости в Zyxel Zywall USGCVSSV2
BriefСерия железок ZyWALL USG — новое комплексное решение от ZyXEL для обеспечения информационной безопасности и управления трафиком, включая функциональную настраиваемую защиту от спама, контроль полосы пропускания для разнообразных объектов cети, предотвращение вторжений и безопасность удаленных подключений при помощи виртуальных частных сетей. В начале мая немецкая группа RedTeam Pentesting опубликовала отчет о двух уязвимостях в этих устройствах, найденных ими в ходе одного из пентестов: обход аутентификации и повышение привилегий. В результате эксплуатации первой уязвимости неаутентифицированные пользователи могут скачивать и загружать конфигурационные файлы в устройства, которые применяются автоматически. В результате использования второго бага пользователь с ограниченными правами может стать админом и менять через веб-интерфейс любые настройки. ExploitОбновления прошивок для устройств ZyXEL ZyWALL USG представляют собой обычный zip-архив, в котором также находятся еще два зашифрованных zip-архива с основной прошивкой. Например, архив с прошивкой 2.21(BQD.2) для ZyWALL USG 20 («ZyWALL USG 20_2.21(BDQ.2)C0.zip») содержит следующие файлы:
Файлы 221BDQ2C0.bin и 221BDQ2C0.db, несмотря на указанное расширение, являются зашифрованными zip-архивами (кстати, в анализе типа файла всем линуксоидам может помочь стандартная утилита /usr/bin/file). Можно просмотреть список файлов в этих архивах:
Было обнаружено, что размер файла 221BDQ2C0.conf из главного архива в точности совпадает с размером файла system-default.conf из зашифрованных архивов. Такой факт не может не намекать на успешное применение известной из области криптоанализа атаки с известным открытым текстом, что и было проделано с помощью следующих утилит:
После этого файл с исходной файловой системой устройства compress.img раскрывается с помощью unsquashfs. Устройства ZyWALL USG управляются удаленно с помощью веб-интерфейса на сервере Apache. Чтобы войти туда, необходимо пройти аутентификацию. Модуль «mod_auth_zyxel.so» реализует этот функционал и настраивается в файле /etc/service_conf/httpd.conf, который можно извлечь из compress.img. В этом конфиге есть директива «AuthZyxelSkipPattern», которая отменяет аутентификацию для некоторых точек:
Админский интерфейс состоит из нескольких CGI-скриптов. Например, проследуя по следующей ссылке после логина под админом, можно получить конфигурационный файл:
Сервер Apache в стандартной конфигурации позволяет добавлять произвольные пути к CGI-скриптам. Таким образом, добавив строку «/images/» в вышестоящую ссылку, скрипт «export-cgi» все равно отработает и выдаст конфиг:
А так как строка «/images/» присутствует в директиве AuthZyxelSkipPattern, то эту ссылку можно открывать даже не залогинившись в админской панели. Полученный конфиг содержит чувствительные данные, такие как хеши пользователей и правила файрвола. Кроме того, в административном интерфейсе есть скрипт под названием «file_upload-cgi», который, как легко догадаться, позволяет загружать файлы. Применяя аналогичный финт со строкой «/ images/», можно загружать конфиги без всякой аутентификации. К тому же, если загружаемому файлу назначить имя «startup-config. conf», то настройки, указанные в нем, применятся незамедлительно. В него можно, например, добавить второго админа с известным нам паролем. Итак, две следующие команды демонстрируют, как можно скачать/ закачать искомый конфиг и получить полный доступ к устройству:
TargetsВсе прошивки ZyXEL USG, выпущенные до 25 апреля 2011 года, являются уязвимыми. SolutionСкачай и установи обновленную прошивку, датированную 25 апреля, либо отключи административный веб-интерфейс. SQL инъекция и XSS в Wordpress Sermonbrowser PluginCVSSV2
BriefВ конце апреля некий Ma3sTr0-Dz опубликовал очередной эксплоит под очередной плагин для ВордПресса. Уязвимости достаточно тривиальные — это SQL инъекция и межсайтовый скриптинг. В результате эксплуатации первой можно получить хеш админа, в результате второй — куки пользователей (в том числе и админа). ExploitЭксплоит написан на php, при его запуске в качестве параметра нужно всего лишь указать ссылку на уязвимый сайт, дальше скрипт все сделает сам. Вот его код (исключительно для ознакомления):
Targets
SolutionНужно обновить плагин до версии 0.44.1 или более поздней. |