Гайд [Reverse-Engineering] Лоадер NEVERLOSE

Разработчик
Статус
Онлайн
Регистрация
18 Мар 2020
Сообщения
439
Реакции[?]
870
Поинты[?]
195K
=========================================================

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

Скажу сразу, это перезалив моей статьи с другого форума, поэтому очень высока вероятность того, что информацию которую вы для себя откроете в этой статье более чем не актуальна. (Исключение: CrackMe)

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

=========================================================

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

1. Введение

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 реквестов на сервер, чтобы взять:

2.1. Аватарку юзера + токен ->
Пожалуйста, авторизуйтесь для просмотра ссылки.

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

2.2. Второй реквест нужен для того, чтобы лоадер неверлуза спарсил результат, который находится в .json формате ->
Пожалуйста, авторизуйтесь для просмотра ссылки.

Код:
[{"cheat": "csgo", "changelog":
{"changelog": "- Fixed Grenade Prediction\r\n- Fixed some lua crashes/bugs\n", "date": 1619808270}, "desc": "Neverlose for CS:GO will make you feel like a real professional.\nOne of the best legit and rage aimbots will allow you to kill all your enemies, and incredibly beautiful and customizable visuals will give your game new colors.\n", "status": "Undetected", "name": "CS:GO", "version": "2.5.1", "license": 1625150529, "lastlaunch": 1622560669, "type": "Release"},
{"cheat": "apex", "changelog": {"changelog": "", "date": 0}, "desc": "Neverlose for Apex Legends will allow you to make the most incredible kills in your life.\nThanks to customizable visuals and radar, you can see enemies even on the other end of the map.\nWith the help of skinchanger you can change the look of all your weapons. Isn't that great?\nOnly Windows 10 1803+ supported.", "status": "Unknown", "name": "Apex Legends", "version": "1.0.0", "license": 0, "lastlaunch": 0, "type": "Release"}]
2.3. Третий реквест это просто видимо проверка версии ->
Пожалуйста, авторизуйтесь для просмотра ссылки.


2.4. Четвертый реквест - это проверка на токен с реестра. При валидном токене сервер напишет "ok" ->
Пожалуйста, авторизуйтесь для просмотра ссылки.


2.5. Ну и пятый реквест, это парсинг моего логина с сервера, опять же без токена тут никак не обойтись =) ->
Пожалуйста, авторизуйтесь для просмотра ссылки.


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


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


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


Если же в первом лоадере неверлуза файл не имел при себе никаких сюпризов, то тут разработчики решили поиграться с любителями
поюзать ScyllaHide, делает он "12.4 шагов", где он успеет сгенерировать хвид, загрузить и выгрузить драйвер NeverBSOD, записать все логи с шагами в
"C:\\Users\\user_name\\AppData\\Local\\Temp\\\\nl.log" и т.д. Начнем по порядку

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

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

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

По началу когда я расставил везде галки на плагине я думал, что неверлуз детектит хуки на Nt функции, однако это далеко не так
Первый метод заключается в детекте хука OsBuildNumber
При детекте хука в EAX засовывался 0xDEADC0DE, а EIP полностью сбивается и ставится 0x0
т.е. программу уже невозможно будет дебажить

Скрин детекта:
3.png

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

Второй метод заключается также в работе с PEB, на этот раз он не ставит хук, а просто по дефолту смотрит дебажат ли программу
с помощью PEB->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:


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="

5. Итоги

Вот и подошел к концу мой реверс этого чудо-приложения, на который я потратил +- полтора дня. Я не упомянул много мелких деталей и реквестов по типу neverlose.cc/api-2/inj-start, neverlose.cc/api-2/getkey2?hash= и прочее. Да и впринципе уже не смогу о них рассказать, так как после того как я решил прочекать регионы памяти у csgo после инжекта - игра ушла в краш, а подписка была забанена. Полагаю, это был скан и отлавливание лишних открытых хендлов игры, но уже не суть =)

upd: если чо я уже давно разбанен, просто к слову



Подписывайтесь на блог моей команды :)
Пожалуйста, авторизуйтесь для просмотра ссылки.


На этом всё. Всем добра и позитива.​
 
The measure of perfection
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
384
Реакции[?]
145
Поинты[?]
0
привет где ссылка на скачивание в итоге ???
 
$$$fulminant$$$
Эксперт
Статус
Оффлайн
Регистрация
30 Мар 2018
Сообщения
1,598
Реакции[?]
423
Поинты[?]
1K
upd: если чо я уже давно разбанен, просто к слову



Подписывайтесь на блог моей команды :)
Пожалуйста, авторизуйтесь для просмотра ссылки.


На этом всё. Всем добра и позитива.​
это и есть бонус?
 
nop
Пользователь
Статус
Оффлайн
Регистрация
1 Ноя 2019
Сообщения
261
Реакции[?]
53
Поинты[?]
0
Я тоже недавно нл реверсил без сабки
но все заканчивалось на этом
IMG_20211224_094001.png
 
Эх, жизнь — хоть за хуй
Забаненный
Статус
Оффлайн
Регистрация
8 Июл 2019
Сообщения
2,993
Реакции[?]
1,656
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так каждый может, а ты купи саб
 
Эх, жизнь — хоть за хуй
Забаненный
Статус
Оффлайн
Регистрация
8 Июл 2019
Сообщения
2,993
Реакции[?]
1,656
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Разработчик
Статус
Онлайн
Регистрация
18 Мар 2020
Сообщения
439
Реакции[?]
870
Поинты[?]
195K
Бля я не инженер, но мне кажется что ты меня наебать хочешь :LUL:
без подписки для тебя подготовлен билд с imgui лаунчером, который тебе четко и ясно напишет, что у тебя нет подписки, а значит в дальнейшем не будет никакой инициализации драйвера нла и создания консольного приложения, который будет общаться с драйвером
 
Эх, жизнь — хоть за хуй
Забаненный
Статус
Оффлайн
Регистрация
8 Июл 2019
Сообщения
2,993
Реакции[?]
1,656
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
без подписки для тебя подготовлен билд с imgui лаунчером, который тебе четко и ясно напишет, что у тебя нет подписки, а значит в дальнейшем не будет никакой инициализации драйвера нла и создания консольного приложения, который будет общаться с драйвером
Бро братан братишка этоже просто рофлы. Будь проще расслабься и успокойся. Гайд 9/10 так как не хочешь дать драйвер
 
Разработчик
Статус
Онлайн
Регистрация
18 Мар 2020
Сообщения
439
Реакции[?]
870
Поинты[?]
195K
создаётся
до первой проверки со сервер-сайда патч становится юзлесс, ну ты впринципе и так уже столкнулся с этим, на моей памяти у конснольки важные проверки сидят где-то под виртуализацией
 
Начинающий
Статус
Оффлайн
Регистрация
2 Май 2020
Сообщения
19
Реакции[?]
0
Поинты[?]
0
пока вы ревёрсите лоадеры топ читов, я не могу в луа сделать функцию wait() ,_,
 
Сверху Снизу