ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
взлом<br />
Файловый репрозиторий на OpenRCE<br />
Сообщение о неудачной инициализации динамической библиотеки,<br />
ведущей к завершению процесса<br />
>> Targets<br />
MS VS, WinDbg, OllyDbg, ImmDbg, Syser, SoftICE, IDA-Pro и многие<br />
другие.<br />
>> Exploit<br />
Демонстрационный пример (вместе с полными исходными текстами,<br />
правда, без комментариев) выложен на OpenRCE в мой репрозиторий:<br />
https:// openrce.org/repositories/users/nezumi/quux-crackme.<br />
zip. Пример занимает в упакованном виде меньше 2х килобайт, совместим<br />
с Вистой/Server 2008 и не конфликтует с Syser’ом (в смысле<br />
не «выбивает» из него BSOD, но ускользает из-под вышеперечисленных<br />
отладчиков).<br />
>> Solution<br />
Отсутствует. Ну, не то, чтобы совсем, — но общих решений нет, и помимо<br />
DllMain существует много всего, исполняющегося до «всплытия»<br />
отладчика. Взять хотя бы те же TLS-callback’и. А потому загрузка<br />
программы в отладчик — равносильна ее запуску, и потенциально<br />
опасные файлы можно использовать только на специальной (виртуальной)<br />
машине, на которой нет ничего, что было бы жалко потерять.<br />
Кстати, в Olly Advanced — популярном plug-in’е для Ольги — есть<br />
опция «Flexible Breakpoints», убирающая программную<br />
точку останова, что предотвращает обнаружение отладчика, но не в<br />
силах противостоять подмене стартового адреса первичного потока.<br />
Аналогичным образом дела обстоят и с другим популярным plugin’ом<br />
— PhantOm, имеющим опцию «Remove EP Break», назначение<br />
которой говорит само за себя.<br />
Разумеется, это никакой не crackme (в обычном смысле), а настоящий<br />
exploit типа proof-of-concept, предназначенный для тестирования<br />
отладчиков на «вшивость» и написанный так, чтобы предельно<br />
облегчить его понимание, благодаря чему сломать его — плевое<br />
дело. Но если наворотить здесь хитрый код, то шансы на понимание<br />
резко снизятся, а шансы на «взлом» отладчика, соответственно,<br />
резко возрастут. Борьба с отладчиками на данном этапе не входила в<br />
мою задачу — этому посвящена отдельная колонка в журнале, а здесь<br />
мы говорим исключительно о дырах (прорыв сквозь отладчик — в<br />
первую очередь дефект проектирования отладчика, то есть дыра, и<br />
только потом — антиотладочный прием).z<br />
xàêåð 06 /114/ 08<br />
045