12.07.2015 Views

Февраль

Февраль

Февраль

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

взлом123412341 2Переполнениебуфера в драйверах NVIDIA для LINUXBriefРаз уж этот обзор explot'ов оказался стихийнопосвящен Linux-программам (причем безовсякого умысла с моей стороны, просто такполучилось), будет уместно рассказать о дырев «фирменных» драйверах от NVIDIA, выпущенныхв виде двоичных файлов без исходныхтекстов. Увы! Закрытые продукты встречаютсяи в Linux, причем качество большинства изних весьма невелико, а доработка «напильником»чрезвычайно затруднена — оно и понятно:в машинном коде разбирается далеконе каждый линуксоид. А вот Windows-хакерычувствуют себя как рыба в (мутной) воде — имк этому не привыкать.Дыра выражается в виде традиционнойошибки переполнения и при благоприятном(для хакера) стечении обстоятельств позволяетатакующему выполнять произвольный кодна целевой системе с наивысшими уровнемпривилегий, причем атака может быть осуществленане только локально, но и удаленно— через remote X-клиента или X-клиента,зашедшего на web-сервер с «троянской» страничкой.Техническиеподробности можно найтина www.securityfocus.com/bid/20559/info.TargetsNVIDIA официально подтверждает уязвимостьдвух следующих версий Linuxдрайверов:1.0-8762 и 1.0-8774, утверждая,что более ранние версии (такие, например,как 1.0-8178 или 1.0-7184) не содержатэтой дыры, а начиная с версии 1.0-8776,она уже исправлена: http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.php?p_faqid=1971. Но различные независимыеэксперты подозревают, что и болеедревние версии уязвимы тоже (в первуюочередь подозрение падает на версиидрайверов под Solaris и FreeBSD), однаконикто из них это не подтвердил proof-ofconceptexploit'ом, поэтому вопрос остаетсяоткрытым. Тем временем компания Solarisклятвенно заверяет, что на платформу SPARCэта угроза не распространяется, но x86-64‐версии драйверов все-таки уязвимы:http://sunsolve.sun.com/search/document.do?assetkey=1-26-102693-1&searchclause=.ExploitИсходный текст демонстрационного exploit'ас shell-кодом на борту лежит по адресуhttp://download2.rapid7.com/r7-0025/nv_exploit.c,а ниже приведен его ключевой фрагмент:Ключевой фрагмент exploit'а, атакующегоуязвимые драйверы от NVIDIAXGlyphInfo * glyphs;XRenderPictFormat fmt;XRenderPictFormat *mask = 0;GlyphSet gset; char * buf =0; intoffset, cr, numB; int xscreenpos =32680;int magic_len= 2768‐xscreenpos;int wr_addr_len = 3548; int wr_nop_len=200;offset = gotaddr-(heapaddr-0x2C0000);offset += magic_len; glyphs = malloc(sizeof(XGlyphInfo)*3);/* Payload glyph */glyphs[0].width=0x4000; // onecontiguous buf of 16K... way morethan necessaryglyphs[0].height = 1; glyphs[0]./ 062xàêåð 02 /98/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!