что делать если не инжектится неверлуз

Статья [Reverse-Engineering] Лоадер NEVERLOSE

Шалом. Давно я не выпускал статью с реверсом чего-либо, связано это было с отсутствием времени и апатией, которая меня преследовала неделями.
Сегодня я решил разобрать лоадер Neverlose.cc, не знаю кто работал над ним, но парочку фишек я подчеркнул которые встретил во время отладки
Не знаю откуда появились разговоры о невозможности реверса неверлуза из-за его защиты, но это было довольно забавно читать =)

2. Лоадер ImGui
2.1. Аватарка + токен
2.2. Парсинг информации о читах
2.3. Проверка версии
2.4. Чек на валидность токена
2.5. Парсинг логина с сервера
3. Консольное приложение с инжектом
3.1. Анти-дебаг трюки и их обход
3.1.1. Детект с помощью OsBuildNumber
3.1.2. Детект с помощью BeingDebugged
3.2. Hello From Kernel-Mode!
4. Генерация HWID и соединение с сервером
4.1. Метки для генерации HWID
5. Итоги
6. Бонус

1. Введение
Ожидалось, что как и со спиртхаком и миднайтом лоадер Neverlose будет скомпилирован на x64 архитектуре с использованием asmjit. (Нет)
На деле оказалось, что это х32 приложение накрытое вмпротектом, это относится к двум файлам

2. Лоадер ImGui
Первый файл, который имеет при себе ImGui интерфейс, это своего рода «дроппер», который перед тем, как сбросить второй файл сделает 5 реквестов на сервер, чтобы взять:

(Токен юзера находится в HKEY_CURRENT_USER\Software\neverlose )

Вообще в некоторых моментах у неверлуза есть проверка на User-Agent и так просто с браузера уже зайти нельзя будет
Лоадер сам по себе не имеет при себе какой-то защиты в отличии от второго файла, который он будет дроппать для инжекта

3. Консольное приложение с инжектом

3.1. Анти-дебаг трюки и их обход

У Neverlose есть два типа антидебага: Исключения и MessageBoxA с сообщение об обнаружении отладчика
Вся антиотладка неверлуза состоит из работы со структурой Process Environment Block (PEB)

3.1.1. Детект с помощью OsBuildNumber

3.1.2. Детект с помощью BeingDebugged

Второй метод заключается также в работе с PEB, на этот раз он не ставит хук, а просто по дефолту смотрит дебажат ли программу
с помощью PEB->BeingDebugged. Обход состоит просто в том, чтобы поставить галку только на BeingDebugged

Пример детекта отладчика с помощью BeingDebugged:

3.2. Hello From Kernel-Mode!

Так как разработчики очень часто использовали CreateFileW для записи лога, я случайно пропалил место хранения драйвера, мониторя действия над nl.log =p Ну и как оказалось позже драйвер был вовсе накрыт вмпротектом, из-за чего невозможно провести какой-либо анализ
Разве что пытаться палить с клиента параметры DeviceIoControl. CreateFileW также будет использоваться и для создания хендла драйвера \\\\.\\nbsod, после создания хендла неверлуз пытается выгрузить свой драйвер через NtUnloadDriver, если он был загружен раннее до этого.
Сразу же после загрузки драйвера c помощью NtLoadDriver и сервиса с именем NeverBSOD драйвер удаляется полностью с пк, а сервис остаётся

Если кому интересно местоположение драйвера: C:\Windows\Temp\nbsod.sys

4. Генерация HWID и соединение с сервером

Все соединение неверлуза держиться только на сокетах, как например для проверки хвида он вызывался только в одном месте с помощью send, что позволяло создать паттерн для будущих патчей.
В основном неверлуз отправляет информацию о девайсах клиента без всякого шифрования. Итак, какие же метки для генерации хвида использует неверлуз?

4.1. Метки для генерации HWID

Первым делом он берет информацию о HID-девайсе: USB Keyboard SEM с помощью всё того же CreateFileA

016FEAF0 01A11600 «%20&hid=USB%20Keyboard%20%20SEM%0AUSB%20Keyboard%20%20SEM%0A»

Далее он будет брать информацию о количестве оперативной памяти (пример: ram=7.983875);
О версии винды: (win=Windows%2010%20Pro%2018362.1.amd64fre.19h1_release.190318-1202);
О видеокарте: (gpu=AMD%20Radeon%20R7%20200%20Series&)
О процессоре: (cpu=%20%20%20%20%20%20%20%20Intel%28R%29%20Core%28TM%29%20i3-2100%20CPU%20%40%203.10GHz&)
О прозводителе биоса: (bios=Award%20Software%20International%2C%20Inc.%20F1%2002%2F11%2F2011%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20&)

Ну и напоследок после биоса он засунет информации о HID-девайсе, который я упомянул выше.

В целом весь реквест на сервер выглядит так:
016FEB50 01A112E8 «ram=7.983875&win=Windows%2010%20Pro%2018362.1.amd64fre.19h1_release.190318-1202&gpu=AMD%20Radeon%20R7%20200%20Series&cpu=%20%20%20%20%20%20%20%20Intel%28R%29%20Core%28TM%29%20i3-2100%20CPU%20%40%203.10GHz&bios=Award%20Software%20International%2C%20Inc.%20F1%2002%2F11%2F2011%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20&hid=»

Возможно поговорю по поводу реверса неверлуза в своем тг канале, подписывайтесь если шо: Colby5Covington / Back-Engineering

Вложения

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

colby57

K1Z4RU

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

K1Z4RU

sanchezmom

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

sanchezmom

K1Z4RU

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

K1Z4RU

Yammi

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

Yammi

L1ney

что делать если не инжектится неверлуз. Смотреть фото что делать если не инжектится неверлуз. Смотреть картинку что делать если не инжектится неверлуз. Картинка про что делать если не инжектится неверлуз. Фото что делать если не инжектится неверлуз

L1ney

Шалом. Давно я не выпускал статью с реверсом чего-либо, связано это было с отсутствием времени и апатией, которая меня преследовала неделями.
Сегодня я решил разобрать лоадер Neverlose.cc, не знаю кто работал над ним, но парочку фишек я подчеркнул которые встретил во время отладки
Не знаю откуда появились разговоры о невозможности реверса неверлуза из-за его защиты, но это было довольно забавно читать =)

2. Лоадер ImGui
2.1. Аватарка + токен
2.2. Парсинг информации о читах
2.3. Проверка версии
2.4. Чек на валидность токена
2.5. Парсинг логина с сервера
3. Консольное приложение с инжектом
3.1. Анти-дебаг трюки и их обход
3.1.1. Детект с помощью OsBuildNumber
3.1.2. Детект с помощью BeingDebugged
3.2. Hello From Kernel-Mode!
4. Генерация HWID и соединение с сервером
4.1. Метки для генерации HWID
5. Итоги
6. Бонус

1. Введение
Ожидалось, что как и со спиртхаком и миднайтом лоадер Neverlose будет скомпилирован на x64 архитектуре с использованием asmjit. (Нет)
На деле оказалось, что это х32 приложение накрытое вмпротектом, это относится к двум файлам

2. Лоадер ImGui
Первый файл, который имеет при себе ImGui интерфейс, это своего рода «дроппер», который перед тем, как сбросить второй файл сделает 5 реквестов на сервер, чтобы взять:

(Токен юзера находится в HKEY_CURRENT_USER\Software\neverlose )

Впринципе всё, разбирать особо нечего, конечно я успел еще глянуть проверку на подписку, но там нет ничего интересного
Скрин проверки:
Посмотреть вложение 17798

Вообще в некоторых моментах у неверлуза есть проверка на User-Agent и так просто с браузера уже зайти нельзя будет
Лоадер сам по себе не имеет при себе какой-то защиты в отличии от второго файла, который он будет дроппать для инжекта

3. Консольное приложение с инжектом

3.1. Анти-дебаг трюки и их обход

У Neverlose есть два типа антидебага: Исключения и MessageBoxA с сообщение об обнаружении отладчика
Вся антиотладка неверлуза состоит из работы со структурой Process Environment Block (PEB)

3.1.1. Детект с помощью OsBuildNumber

3.1.2. Детект с помощью BeingDebugged

Второй метод заключается также в работе с PEB, на этот раз он не ставит хук, а просто по дефолту смотрит дебажат ли программу
с помощью PEB->BeingDebugged. Обход состоит просто в том, чтобы поставить галку только на BeingDebugged

Пример детекта отладчика с помощью BeingDebugged:

3.2. Hello From Kernel-Mode!

Так как разработчики очень сильно использовали CreateFileW и использовали его постоянно для записи лога, я случайно пропалил место хранения драйвера, мониторя действия над nl.log =p Ну и как оказалось позже драйвер был вовсе накрыт вмпротектом, из-за чего невозможно провести какой-либо анализ
Разве что пытаться палить с клиента параметры DeviceIoControl. CreateFileW также будет использоваться и для создания хендла драйвера \\\\.\\nbsod, после создания хендла неверлуз пытается выгрузить свой драйвер через NtUnloadDriver, если он был загружен раннее до этого.
Сразу же после загрузки драйвера c помощью NtLoadDriver и сервиса с именем NeverBSOD драйвер удаляется полностью с пк, а сервис остаётся

Если кому интересно местоположение драйвера: C:\Windows\Temp\nbsod.sys

4. Генерация HWID и соединение с сервером

Все соединение неверлуза держиться только на сокетах, как например для проверки хвида он вызывался только в одном месте с помощью send, что позволяло создать паттерн для будущих патчей.
В основном неверлуз отправляет информацию о девайсах клиента без всякого шифрования. Итак, какие же метки для генерации хвида использует неверлуз?

4.1. Метки для генерации HWID

Первым делом он берет информацию о HID-девайсе: USB Keyboard SEM с помощью всё того же CreateFileA

Вызов CreateFileA:
Посмотреть вложение 18016
016FEAF0 01A11600 «%20&hid=USB%20Keyboard%20%20SEM%0AUSB%20Keyboard%20%20SEM%0A»

Далее он будет брать информацию о количестве оперативной памяти (пример: ram=7.983875);
О версии винды: (win=Windows%2010%20Pro%2018362.1.amd64fre.19h1_release.190318-1202);
О видеокарте: (gpu=AMD%20Radeon%20R7%20200%20Series&)
О процессоре: (cpu=%20%20%20%20%20%20%20%20Intel%28R%29%20Core%28TM%29%20i3-2100%20CPU%20%40%203.10GHz&)
О прозводителе биоса: (bios=Award%20Software%20International%2C%20Inc.%20F1%2002%2F11%2F2011%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20&)

Ну и напоследок после биоса он засунет информации о HID-девайсе, который я упомянул выше.

В целом весь реквест на сервер выглядит так:
016FEB50 01A112E8 «ram=7.983875&win=Windows%2010%20Pro%2018362.1.amd64fre.19h1_release.190318-1202&gpu=AMD%20Radeon%20R7%20200%20Series&cpu=%20%20%20%20%20%20%20%20Intel%28R%29%20Core%28TM%29%20i3-2100%20CPU%20%40%203.10GHz&bios=Award%20Software%20International%2C%20Inc.%20F1%2002%2F11%2F2011%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20Gigabyte%20Technology%20Co.%2C%20Ltd.%20H67M-UD2H-B3%20&hid=»

Возможно поговорю по поводу реверса неверлуза в своем тг канале, подписывайтесь если шо: Colby5Covington / Back-Engineering

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *