Дополнение к 45-ой главе «Введения в крэкинг, используя OllyDbg»

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,411
2,025
От переводчика: приложении к 45-ой главе находился PDF на испанском языке, и эта статья является его переводом на русский язык.

В этой статье показан другой способ противостоять упаковщику из вышеуказанной главы единственно с помощью щелчков по кнопкам мыши без необходимости делать что-то ещё.

Замечание: используемый Ollydbg - это обычная версия, единственные модификации - это Ollyghost и плагин Ollydump для дампа процесса.

• Также используется PE Editor, LordPE и две утилиты из списка - Estricina и Pokemon Anti_Attach.

Сводная информация

Первым делом до того, как атаковать программу в памяти, посмотрим на данные файла, для чего откроем программу в LordPE.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Эти данные нам понадобятся, так как упаковщик может изменить их во время распаковки, и мы ничего не сможет сделать. Как видим, данные NumberOfRvaAndsizes были изменены, так как знаем, что это поле содержало 10 в шестнадцатеричной системе. Изменим его, для чего необходимо его смещение, так что открывает редактор PE. Видим, что смещение равно B4.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Следующее, что нам необходимо знать - это OEP, и с этим нам поможет плагин PEID.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Ок, теперь у нас есть все сведения, которые нам нужны, чтобы начать... Стало быть, идём в атаку.

Полученые данные:

  1. OEP 00401000
  2. SizeOfImagen 00006000
  3. NumberOfRvaAndSizes Находится по смещению b4 и было изменено на 10
Атака

Запускаем упаковщик вне OllyDbg, и он работает.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Чтобы работать с большим удовольствием, будем использовать утилиту Marciano, которая называется Estricina, с помощью которой остановим третью нить, которая содержит упаковщик (этот шаг не является необходимым, но делает работу более удобной).

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Если мы делаем это, то загрузка процессора нитью падает с 99 процентов до нуля.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Теперь мы можем спокойно использовать нашу машину.

Атака в памяти, чтобы нас не обнаружили

После использования Pokemos'а, чтобы избежать возможных противоприсоединительных и тому подобных приёмов, восстанавливаем значение NumberOfRvaSizes, которое, как мы помним, находится по смещению B4.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Хорошо, если была защита против присоединения, то она исчезла. Продолжаем атаковать упаковщик в памяти. Открываем LordPE, и ищем упаковщик в списке процессов.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Как видим, у него размер образа равна 0001000, и мы знаем, что он должен быть равен 0006000, и это запутывает OllyDbg и любой дампер, поэтому у нас на выходе и не получается хорошего исполняемого файла, кроме того это мешает использовать программу Import для восстановления таблицы импорта.

Вывод: нужно починить его, это понятно. Кликаем по нёму в LordPE правой кнопкой мыши и исправляем

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


И как видим на скриншоте справа, размер стал 0006000, каким он и должен быть.

Уже починили часть программы в памяти, теперь подсоединяемся с помощью OllyDbg и видим, что она сообщает нам о том, что заголовок неверен.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Жмём на "Oк" и программа аттакуется, останавливается на API-функции.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Теперь так как знаем его OEP, идём в окне кода в 00401000 и оказываемся на OEP программы.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


И видим, что с ней всё в порядке... Нажимаем правую кнопку мышью.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


И видим в регистре EIP, что остановились на OEP, так что теперь переходим к сдампливанию с помощью плагина.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Осталось только добавить таблицу, которую подготавливаем с помощью Import. Вводим OEP и нажимаем три кнопки по порядку, выбираем сдампленный ранее файл и не выходим из окна, в котором заголовок находится в плохом состоянии. Об этом нам ещё ранее сказал OllyDbg.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Реконструируем заголовок с помощью какой-нибудь программы, у которой есть такая функция, в данном случае это LordPE, и программа становится нормальной.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


И если посмотрим в администраторе задач Windows, увидим, что программа больше не пожирает ресурсов - упаковщик исчез.

[Broken External Image]:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Ок, достаточно на сегодня.
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя