![]() |
eXeL@B —› Вопросы новичков —› Алгоритм разбора блокеров |
Посл.ответ | Сообщение |
|
Создано: 07 октября 2013 08:00 · Личное сообщение · #1 Доброго времени Ходил к знакомым лечить windows блокера, загрузочная флешка и прочее проблему решило. Забрал тельце с собой ... и слегка обломался в разборе. Запускал из олли, ставил бряк на запись в реестре - судя по всему процесс запущенный в отладчике завершился, запустился другой процесс, и блокнул виртуалку. Судя по зверьку писано непрофессионалами, ничем не паковано Имеется пару вопросов: Как предотвратить блокировку диспетчера задач, ну и там алт+таб и т.п. Т.е. спокойно добраться до алгорима проверки ключа вирусней. особенно носом тыкать не надо, просто впервые таким занимаюсь, немного общей инфы, ну или живой пример очень поможет заранее спасибо ![]() |
|
Создано: 07 октября 2013 08:32 · Поправил: ZaZa · Личное сообщение · #2 SergeyIvan А может забрать права на запись в реестр по путям, которые блокируют диспетчер задач и т.д.? А можно еще тут прогнать сначала: А потом просмотреть отчет и глянуть: где, что дергается, куда ломится и т.д. ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 07 октября 2013 09:01 · Личное сообщение · #3 |
|
Создано: 07 октября 2013 09:04 · Личное сообщение · #4 |
|
Создано: 07 октября 2013 09:19 · Поправил: Veliant · Личное сообщение · #5 Большая часть винлоков написана на Delphi+KOL. Чтоб окно олли не блокировалось окном винлока, жмешь alt+f5 в олли, правда при этом могут отвалиться клавиши F1-F12. Да и коды разблокировки есть от силы у половины винлоков. Так что покажи хотяб его скрин. Еще часто встречаются винлоки написанные школотой с использованием PhpSoulEngine. Тогда ищешь в теле сигнатуру "SO!" с именем _EVENTS. И копируешь все вплоть до сигнутары "EO!" Полученные данные сначала декриптуешь по base64, потом zlib. Add: >>судя по всему процесс запущенный в отладчике завершился, запустился другой процесс Значит упакован. Лови WriteProcessMemory во второй процесс и получишь распакованный ехе. ![]() |
|
Создано: 07 октября 2013 12:00 · Личное сообщение · #6 Я так понимаю - есть разные методики работы локера. Т.е. можно патчить загрузочный сектор, можно патчить explorer.exe, можно в реестре менять путь стандартного шелла и будет запускаться другая оболочка. Плясать надо от определения того, каким методом пользуется локер. Судя по зверьку писано непрофессионалами Из чего это следует? (просто любопытно) Грузил в отладчик дергется пару фунок, и пару десятков mfc.000xxxx и дальше. Флирты иды спасут отца русской демократии. >>судя по всему процесс запущенный в отладчике завершился, запустился другой процесс Значит упакован. Нет, не значит. Если у меня в ресурсах одного ехе лежит другой ехе, то это не значит, что ехе № 2 упакован. Ловить надо вначале CreateProcessA/W. Лично от себя добавлю, что мне интересна методика модификации загрузочных секторов жёсткого диска, с точки зрения "как это потом программно лечить". А остальное всё - детский лепет, а не локеры. (ну, мне так кажется) ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 07 октября 2013 12:12 · Личное сообщение · #7 ARCHANGEL пишет: Лично от себя добавлю, что мне интересна методика модификации загрузочных секторов жёсткого диска, с точки зрения "как это потом программно лечить". А остальное всё - детский лепет, а не локеры. (ну, мне так кажется) Не актуально уже. А по сабжу, mbrlocker'ы, как правило, делают копию оригинального mbr, которую восстанавливают и грузят после разблокировки. В самом распространенном локере оригинальный MBR лежит во втором секторе. В подмененном mbr ищешь чтение секторов (int 13h) и смотришь номера читаемых им секторов. Там таких вызовов будет несколько т.к. там еще читаются сектора с текстом локера и с битовой картой шрифтов. ![]() |
|
Создано: 07 октября 2013 14:26 · Личное сообщение · #8 Veliant пишет: Не актуально уже. Да, я просто в этих вопросах не очень в теме. по сабжу, mbrlocker'ы, как правило, делают копию оригинального mbr, которую восстанавливают и грузят после разблокировки. В самом распространенном локере оригинальный MBR лежит во втором секторе. Это хорошо всё, но мне бы пример кода, а лучше тьюториал (английский или русский языки), просто мне вот непонятно несколько пунктов: 1. Как это дело дебажить? Вот как бы мне отдебажить загрузочный сектор? 2. Как создать загрузочный сектор на каком-то носителе информации (флэшке, CD-ROM)? У меня тут чисто академический интерес, поэтому мне не нужно зиродей разработки по vbr и т.д. mbr бы хватило. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 07 октября 2013 15:15 · Поправил: dosprog · Личное сообщение · #9 ARCHANGEL, "лечение" в таких случаях программе лучше не доверять. Ручками в DISKEDIT.EXE искать оригинальный сектор, если он не шифрован. А вообще лучше иметь сохранённую копию MBR и в случае чего просто восстанавливать её, загрузившись в DOS. Удобно пользоваться Дебажить реально загрузочный сектор можно с помощью Soft-ICE for DOS, который умеет выполнять "тёплую перезагрузку". ![]() |
|
Создано: 07 октября 2013 15:20 · Личное сообщение · #10 ARCHANGEL пишет: Как это дело дебажить? Вот как бы мне отдебажить загрузочный сектор? Если это VMWare, то открываешь .vmx файл и добавляешь строки Code:
Далее открываешь IDA или любой другой front-end для gdb и подключаешься к удаленному отладчику localhost:8832. Переходишь на адрес 0x7c00 и ставишь бряк, отпускаешь - voila! Ты на начальной инструкции MBR. В иде после этого надо дополнительно переключить сегмент в 16 бит (по умолчанию 32) ![]() |
|
Создано: 07 октября 2013 22:19 · Поправил: SergeyIvan · Личное сообщение · #11 Спасибо всем за ответы ![]() ARCHANGEL пишет: Из чего это следует? (просто любопытно) Наверное следует из процесса лечения занявшего 5 минут, 4 из которых загрузка с флешки. ARCHANGEL пишет: Нет, не значит. Если у меня в ресурсах одного ехе лежит другой ехе, то это не значит, что ехе № 2 упакован. Ловить надо вначале CreateProcessA/W. Вообщем общее уловил. Про mbr не будем, вот туловище кому интересно - пароль на архив virus - http://rghost.ru/49217030 Цель (моя) - получить код разблокировки А вот вопрос - поиск сигнатур pe-файла внутре жертвы - вариант ? ЗЫ по поводу мбр блокеров - может будет интересно - https://vazonez.com/ ![]() |
|
Создано: 07 октября 2013 22:46 · Поправил: Veliant · Личное сообщение · #12 Собственно что я и говорил. По WriteProcessMemory инжектится декриптованный ехе, упакованный UPX. Под ним Delphi+KOL. Code:
В OnCreate в окне создается невидимый editbox с кодом Code:
Далее в обработчике OnPress (40E438) сравниваются введенный код с содержимым невидимого editbox Code:
Ну и дальше создание kill.bat который удаляет винлок, забыв правда почистить реестр за собой А вообще для этого винлока код = указанный номер без первой и последней цифры. SergeyIvan пишет: А вот вопрос - поиск сигнатур pe-файла внутре жертвы - вариант ? Только если вы хотите поставить доставание ключей из винлоков на поток. В аттаче если кому надо сигнатуры KOL для иды. ![]() ![]() |
|
Создано: 07 октября 2013 23:02 · Поправил: GMax · Личное сообщение · #13 |
|
Создано: 07 октября 2013 23:57 · Поправил: dosprog · Личное сообщение · #14 SergeyIvan, коды вводи-не вводи, а реестр чистить ручками всё равно придётся. Поэтому лучше не играться в эти игры, а сразу приступать к действиям. Кстати, смело вы так с флешки грузитесь... а ведь бывают нестандартные винчестеры на нетбуках, в этом случае загрузка с карточки без драйверов вам мало что даст. Поэтому самый нормальный способ - загрузка Windows по F8 Safe mode+Command Prompt, дальше запуск отруки Explorer.exe и уже тогда манипуляции с реестром, которые вы проделали. (Вообще можно и после обычной загрузки подержать Ctrl+Shift+Esc и в диспетчере задач ухитриться тыцнуть "Завершить". Ничем не хуже ввода дурацких цифер). Игры с перечислениями денег - зряшная трата времени и этих денег. Одна знакомая попробовала... Всё равно пришлось звать на помощь. И ещё - а кто-нибудь пробивал в гугле реквизиты, куда перечислять денюжки? - Я да. Интересные результаты, должен вам сказать ))). Вот до кучи похожая вестчь: ![]() ![]() |
|
Создано: 08 октября 2013 01:07 · Поправил: GMax · Личное сообщение · #15 dosprog пишет: Вот до кучи похожая вестчь Процедура проверки: Code:
![]() |
|
Создано: 17 октября 2013 12:48 · Личное сообщение · #16 Интерестно Если лог не врет то он достаточно свеж : Time Stamp : 2013:10:02 Language Code : French ; А это еще интересней.) .Я правильно понял что сначала CreateFile. А далее в него он инжект ? Так же в Стринга есть такое дело .data:0040503C 0000001B C C:\windows\explorer.exe..\ Причем тут Explorer.exe? Спасибо. ![]() |
|
Создано: 18 октября 2013 04:03 · Личное сообщение · #17 |
|
Создано: 18 октября 2013 09:17 · Личное сообщение · #18 Isaev пишет: Это ты чем так кол раскладывал? Выставил галку в delphi чтоб при компиляции создавался OBJ-файл, потом из него сделал FLIRT-сигнатуры с помощью flair. ![]() |
|
Создано: 18 октября 2013 12:53 · Личное сообщение · #19 |
|
Создано: 21 октября 2013 00:34 · Поправил: Dimarik5 · Личное сообщение · #20 DenCoder Да вопрос задал глупо признаю. Но хотелось бы побольше узнать об инжекте. OpenProcess + VirtualAllocEx + WriteprocessMemory + CreateRemoteThread Как я понимаю это простой способ инжекта. А в аргументы какой функции кладется смещение байт которые именно будут инжектироватся? И адресс по которому будет инжект в жертве.К примеру если инжект идет в невостребованное пространство между секциями.Надеюсь вопрос задал правильно. Спасибо за ответы. ![]() |
|
Создано: 21 октября 2013 06:37 · Личное сообщение · #21 Дык, VirtualAllocEx может выделять память по необходимому адресу, если он не занят. А вообще код для инжекта правильнее делать базонезависимым. ----- Nulla aetas ad discendum sera ![]() |
|
Создано: 21 октября 2013 16:17 · Личное сообщение · #22 |
![]() |
eXeL@B —› Вопросы новичков —› Алгоритм разбора блокеров |