Хакер № 05/06 (89)

Сам себе антивирус
Bokiv (Bokiv@yandex.ru)
Хакер, номер #089, стр. 089-060-2
7C812E03 MOV EAX,DWORD PTR FS:[18]
7C812E09 MOV EAX,DWORD PTR DS:[EAX+30]
7C812E0C MOVZX EAX,BYTE PTR DS:[EAX+2]
7C812E10 RETN
Пройдем до RETN по F8. Вот посмотри: значение регистра EAX равно единице - это результат работы функции IsDebuggerPresent, то есть отладчик обнаружен. Кликни по регистру EAX в отладчике и введи вместо единицы ноль. Дальше можешь выходить из функции по F8. Вышел? Смотрим дальше - видим код:
0041B88C JE SHORT Mytob.0041B890
0041B88E POPAD
0041B88F RETN
Интересное место. Если отладчик обнаружен, то переходим на команду POPAD, где искусственно создается исключение, так как POPAD отработал раньше времени! Но мы обманули протектор и поэтому спокойно перепрыгиваем ловушку. Теперь давай искать дальше POPAD’ы. Сразу скажу это примерно на 40 строк вниз.
0041B8F9 POPAD - ставим брейкпоинт
0041B8FA JMP SHORT Mytob.0041B8FE
0041B8FC INT 1
0041B8FE RETN
Посмотрим еще ниже и опять:
0041B975 POPAD - ставим брейкпоинт
0041B976 PUSH EAX
0041B977 XOR EAX, EAX
0041B979 PUSH DWORD PTR FS:[EAX]
0041B97C MOV DWORD PTR FS:[EAX],ESP
0041B97F JMP SHORT Mytob.0041B982
Как видишь, я установил брейкпоинты на два найденных мной вызова POPAD. Делай то же самое и запускай программу. Оля остановилась на 0041B975, а дальше (0041B982) идут команды, которых не было, когда мы смотрели код после остановки на IsDebuggerPresent (полиморфный код для сокрытия ЕР upx)! Команда POPAD отработала, а значит, где-то рядом должен быть нужный нам переход. Пройдемся по F8 и посмотрим, что же будет дальше. По адресу 0041B982 происходит исключительная ситуация, проходим ее по Shift+F8 и попадаем в системную библиотеку ntdll:
7C90EAF0 MOV EBX,DWORD PTR SS:[ESP]
7C90EAF3 PUSH ECX
7C90EAF4 PUSH EBX
7C90EAF5 CALL ntdll.7C9377C1
7C90EAFA OR AL,AL
7C90EAFC JE SHORT ntdll.7C90EB0A
7C90EAFE POP EBX
7C90EAFF POP ECX
7C90EB00 PUSH 0
7C90EB02 PUSH ECX
7C90EB03 CALL ntdll.ZwContinue
Скажу сразу: если пройти CALL (7C90EB03) по F8, то программа запустится, значит, мы дойдем до адреса 7C90EB02 (F8) и посмотрим содержимое стека. Если не знаешь что это такое, то тебе рановато еще читать эту статью. Будем искать адрес, который меньше, чем EP протектора (0041B060). Просмотрим правое нижнее окно Оли (стек):
0012FD7C 7C910738 ntdll.7C910738
0012FD80 FFFFFFFF
0012FD84 20008332
0012FD88 7C90EB94 ntdll.KiFastSystemCallRet
0012FD8C 0012FFB0
0012FD90 00000000
0012FD94 0012FFC0
0012FD98 00419910 Mytob.00419910 - этот адрес нам подходит!
0012FD9C 0000001B
0012FDA0 00010246 UNICODE "_HOST_CHECK=NO"
Итак, сравним:
- 00419910 - найденный нами адрес.
- 0041B060 - EP протектора.
Ух, я уже на ЕР UPX! Ты еще нет? Тогда быстрей ставь брейкпоинт на 00419910 (bp 00419910), дави Enter, потом F9 — и ты со мной. Если ты видишь кучу нулей, то нажми Ctrl+A — Оля проанализирует код. Тут уже совсем все просто: надо всего лишь распаковать UPX.
Назад на стр. 089-060-1 Содержание Вперед на стр. 089-060-3
ВИДЕО К ЭТОМУ НОМЕРУШкола самбы для админов В этом ролике мы покажем, как установить и настроить сервер Samba в качестве контроллера домена на примере дистрибутива Ubuntu Linux. Разберем параметры конфигурационного файла, покажем, как проконтролировать работу сервиса, добавить пол...
Надежный сторожевой сети В этом ролике мы покажем, как установить ISA 2006 Server Enterprise, создать новую политику предприятия и правило доступа межсетевого экрана, просмотреть и изменить их свойства, опубликовать в ISA веб-ресурс, изменить сетевую топологию и...
Харакири по хакерски В этом видео ты увидишь, как хакер, выполняя очередное задание, натыкается на японский ресурс. При первом осмотре ничего интересно найти не удается. Движка как такового нет, а весь контент - просто набор HTML-страничек. Но хакера интерес...
PostgreSQL на коленях Это видео является наглядным пособием к недавней статье "Разрушая базы", демонстрирующем особенности запросов к СУБД PostgreSQL, и продолжением темы про SQL-инжекции в PostgreSQL. На примере обычного сайта показаны основные аспе...
Хакнутый хостинг Однажды хакеру потребовался хостинг для своего нового замысла (а хакерам довольно часто требуются хостинги для своих замыслов). Платить денежки за такие услуги он жутко не любил, поэтому намеривался просто скардить себе аккаунт на одном из...
Взлом e-gold В этом видео автор показывает, как с помощью нехитрого скрипта, имитирующего работу логин-страницы www.e-gold.com, можно увести у американского толстосума его честно заработанный лавандос. Завладев этим комплектом скриптов, STORM начинает р...
|