12.07.2015 Views

img - Xakep Online

img - Xakep Online

img - Xakep Online

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

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

ВЗЛОМТюрин АлексейÈÄÅÌÍÀ ÏÀÑÕÀËÜÍÓÞÎÕÎÒÓÏîäðîáíîñòè egg hunt øåëëêîäà ïîñëåäíèõ íîìåðàõ ][ áûëà íàïèñàíà ñåðèÿ ñòàòåé ïî êîäèíãó æèâó÷èõ ñïëîéòîâñ èñïîëüçîâàíèåì ðàçíîîáðàçíûõ ìåòîäîâ îáõîäà ìåõàíèçìîâ çàùèòû â ïîñëåäíèõâåðñèÿõ Windows. ×òîáû òû áûë ïðîñâåùåí è ÷óâñòâîâàë ñåáÿ â ñïëîéòîñòîðîåíèèêàê ðûáà â áîðùå, ÿ ïîâåäàþ êîå-÷òî íà áëèçêóþ òåìó — øåëëêîäîïèñàíèå.À èìåííî: âíóòðåííîñòè è òåõíè÷åñêèå ïîäðîáíîñòè ìåòîäà/øåëëêîäà. Èìÿ åìó —Egg Hunting.×ÒÎ ÒÀÊÎÅ EGG HUNTING?По сути иггхантинг представляет собой небольшой по размерушеллкод, цель которого — найти в виртуальной памяти атакуемогопроцесса боевой шеллкод и передать ему управление процессом.Нахождение обеспечивается за счет уникальной последовательностисимволов, стоящих перед основным шеллкодом. Насамом деле, Egg Hunting — это один из классических методов,используемых в сплойтостроении/шеллкодописании. Используетсяон уже давно в тех или иных ситуациях. Лучшей работойпо данной теме считается статья такого известного человечкакак skape аж от 2003 года (hick.org/code/skape/papers/egghuntshellcode.pdf).À ÇÀ×ÅÌ ÎÍÎ ÍÀÌЕсли просто, то иггхантинг используют в ситуациях, когда основнойшеллкод не влезает в переполняемый буфер и/или неизвестно, где онразмещен в памяти. Если непонятно, то поймешь на примере. А еслис подробностями, то...Все мы просматриваем багтрэк, читаем описание уязвимостей, иногдазакладываем в PoC-сплойты. Большинство из них имеют начинку ввиде, например, запуска калькулятора или открытия TCP-порта. То жесамое относится и ко всякого рода статьям про сплойтостроение, гдесплойты применяются в лабораторных условиях, а начинка используетсятолько для того, чтобы показать, что все получилось.В реальной жизни, как ни странно, не все так просто, и функционалакалькулятора явно не хватает для того, чтобы и в систему въесться, иобойти всякие механизмы безопасности, не говоря уж об антивирусахи файерволах, и, к тому же, ограничениях на используемые символы.Конечно, во многом выручают staged-шеллкоды, где боевой шеллкодпопадает в память постепенно, по стадиям. М-м… в общем, иггхант —это подвид staged-шеллкода.К примеру, универсальный шеллкод назапуск калькулятора — всего 200 байт (а привязанный к конкретной ОСи ее адресам — всего 27 байт :)), на бинд — 341 байт. Если добавитьограничения на использование \x00\xff, что вполне обычно, получаем227 байт и 368 байт соответственно.Если предположить, что мы ограничены БУКВО-циферками: 534, 816.В общем, тут все понятно.Да и проcтой бинд порта — неинтересно. К примеру, шеллкод наустановку туннеля через DNS, о котором я писал в рубрике Easy Hack,весит аж за 1000 байт, и это в натуральном виде.Что же нам могут предложить эксплойты? Сколько могут вместить всебя начинки? По-разному. Очень.Это в лабораторных условиях при переполнении буфера мы получаембольшую, непрерывную, неизмененную область в стеке с полностьюконтролируемым EIP. Эх… Кстати, в MSF к каждому сплойту указываетсяразмер возможной начинки и запрещенные символы в раз-066 XÀÊÅÐ 08 /139/ 10

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

Saved successfully!

Ooh no, something went wrong!