Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter Хакер в ВКонтакте Приложение Хакер для Facebook Хакер на Formspring.me
Журнал Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
Взлом как образ мысли Взлом как образ мысли
Интервью с человеком, который, как оказалось, является не только талантливым пентестером в одной из крупных ИБ-компании, но и хакером-ветераном, который уверенными шагами вышел на свет и прикоснулся к истории российской хак-сцены....
Полный гид по накрутке онлайн-голосований Полный гид по накрутке онлайн-голосований
Конкурсы с голосованием привлекают большое количество посетителей, а трафик, как известно, — это деньги. Особый интерес вызывают конкурсы, где за победу предлагаются лакомые призы....

Хакер № 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 начинает р...





Предыдущие номера


    Rambler's Top100