Акция 2025: Оплачиваем написание статей на кардинг тематику. Подробности
Перейти к содержанию
Искать в
  • Ещё...
Поиск результатов, которые содержат...
Поиск результатов в...

NullPhantom

Пользователи
  • Публикаций

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Neutral
  1. Вступление. Всем привет, новичок на форуме. Хочу поделиться хоть какими-то знаниями, создать первую статью так сказать. Поэтому разберем разные """разнообразные""" вирусы, которые распространяются в сети под видом бесплатных читов для игр CS:GO/CS2 Статью писал для начинающих вирусологов/реверс-инжинерам, которым интересно узнать, как работают вирусы изнутри, какие у них шифрования и т.д Проблема на YouTube и Telegram Злоумышленники давно уже маскируют вредоносное ПО под видом читов для игр, эта практика началась задолго до CS:GO, еще во времена игр ВКонтакте. Сейчас же они всё так же распространяются, но теперь ещё и под видом самого кряка чита, всё это дело публикуется на платформе YouTube. Они вписывают довольно привлекательную смесь фраз в название ролика, а именно: "Название популярного чита + Crack", чтобы заманивать наивных пользователей. Для личного удобства перед разбором я буду писать небольшую информацию об авторах вредоносного ПО, пример: [пациент и его номер] - [уровень риска вредоносного ПО]. Уровни риска и что под эту категорию может попасть: 1. Неприятное говно (Низкий опасный потенциал) - потенциально нежелательные программы (PUP), которые не причиняют прямого вреда, но могут быть бесполезны или навязчивы. 2. Опасное говно (Средний опасный потенциал) - вредоносы, собирающие конфиденциальную информацию без ведома пользователя. 3. Деструктивное говно (Высокий опасный потенциал) - удаление важных файлов, отключение компонентов ОС, невозможность загрузки операционной системы, синий экран, зашифрованные данные, ратники Разбор пациентов Пациент 1 - Опасное говно (Средний опасный потенциал) Наш первый пациент является очень хорошим примером того самого душевнобольного, который умудряется делать все платные читы бесплатными, добавляя туда свой подвох, о котором не сообщит вам, распространяя это всё на YouTube и на свой Telegram-канал Также пациент включил смекалку и поместил вирус в 7Zip пакер, что позволило ему обойти детекты на сайте детекта вирусов Virus Total. На рисунке представлены отношения между файлами, обнаруженными при запуске. Теперь я распишу за что отвечает каждый файл, представленный на иллюстрации, но более подробно. 1. Cheat Installer - главный файл, который распаковывает остальные файлы в папку AppData/Local/Temp/main, и затем запускает файл main.bat 2. AntiAV.data (AntiAV/AntiAV.bat at master · hXR16F/AntiAV (github.com)) - изначально представляет собою batch-скрипт, который создаёт main.bat и помещает в него код, параллельно добавляя джанк-код и зашифровывает файл. 3. main.bat - "мозг" операции по запуску вируса, чей код представлен ниже: Сам алгоритм довольно простой, вначале file.bin переименовывается в file.zip, и начинается процесс распаковки, используя ключ для расшифровки "13917279271825026492155405390". Структура file.zip представляют собой матрешечную вложенность, именно по этой причине здесь используется цикл для распаковки. После распаковки file.zip обратно переименовывается в file.bin, а Installer.exe получает скрытый атрибут, делая его невидимым в стандартном представлении файловой системы, затем процесс запускается. 4. Installer.exe - вирус, при первом запуске он только инициализирует себя и отключает сервисы. Первым, что делает вирус, так это выполняет команду в powershell: Эта команда добавляет два исключения в Защитник Windows: - Путь: %UserProfile% - Путь: %ProgramData% - Расширение: .exe Затем наглым образом удаляет обновление KB90830: Вирусу его удаляет не просто так, дело в том, что обновление 90830 связано с установкой средства удаления вредоносного ПО (Windows Malicious Software Removal Tool) Ко всему прочему он останавливает важные службы Похоже, что дело мы имеем с Crypto Silent Miner, на то указывают строки с остановкой служб: https://github.com/UnamSanctam/Sile...lentCryptoMiner/Resources/Code/miner.cpp#L121 Двигаемся дальше! Пациент 2 - Опасное говно (Средний опасный потенциал) Следующий пациент очень хорошо раскачал свою канал, где постит бесплатные читы, и чужие кряки, к которым он сам не имеет никакого отношения. Тем не менее, ему хватает наглости их склеивать со своим вирусов и публиковать в открытый доступ. Разберем его пост с кряком Primordial, к которому опять же, он не имеет никакого отношения, но не стоит удивляться, если пост с примордом пропадет. Лоадер, как бы это неудивительно не звучало, находится под протектором Enigma с полным пресетом защиты, он проверяет наличие дебаггера, виртуальной машины и целостность (даже имя оригинальное сверяет). Зачем и что скрывать такому честному человеку? Который сто процентов не распространял бы вирусы. Непонятно, но было бы интересно услышать ответ на это от самого автора канала. Теперь обсудим саму схему работы лоадера(в котором находится вирус), хотя правильнее назвать его дроппером. Используя песочницу, я обнаружил, что его лоадер создал два исполняемых файла, и затем закрылся. Если раньше старый лоадер просто дропал Vac Bypass.exe и майнер, то сейчас "новый" лоадер слегка поменял контент, который дроппает пользователю Для его самых избранных фанатов: архив был скачан прямиком из его телеграм-канала Разберем роль каждого из процессов 1. cli_gui.exe - Обыкновенный лоадер который весит совсем ничего, имеет зачем-то примитивную проверку на отладчик и в целом играет роль LLA инжектора с патчем NtOpenFile. 2. updater.exe - Майнер, который представлен как Microsoft Edge Updater с иконкой браузера и подписью Microsoft. Updater.exe тоже завершает те же самые службы, что и майнер предыдущего пациента, не трудно догадаться что оба пациента используют одну и ту же пасту, но с разными настройками. Например, майнер второго пациента использует технику Process Hollowing (What is process hollowing? (techtarget.com)) в замороженный системный процесс dialer.exe, и уже там майнит. (Забавный факт, но на некоторых LTSC-сборках нет такого системного процесса, и майнер, не зная этого, пытается создать процесс, и с треском проваливается.) Отдельного внимания стоит то, как именно пациент криптит строки, скрины взяты из его старого лоадера с кряком Inuria: Он палит аргумент с голой строкой в функции, которая её криптит, и затем после полученной зашифрованной строки начинает сразу же её дексорить))00 Шифрование 10 из 10. К сожалению, админ этого канала отказался признавать наличие вируса в своих публикациях и не захотел вести со мной адекватный диалог, поэтому шутко-поминки, идём дальше. Лоадер оригинального Luno Free(ОРИГИНАЛЬНЫЙ ЧИТ БЕЗ ВИРУСОВ) не превышает 1мб, а файл, который предоставляет пациент весит аж 11мб Пациент 3 - Деструктивное говно (Высокий опасный потенциал) Теперь перейдем к более серьезным малварям. На очереди человек, который якобы смог "взломать" мощный чит, с мощной защитой, и выложить в бесплатный доступ Оказалось, что файл этот был написан на C#, и накрыт видоизменённым обфускатором Confuser Core 1.5.0, что доставило мне не мало проблем позже при деобфускации файла. Первичный анализ Во время статического анализа я заметил, что de4dot не смог распознать этот обфускатор, поэтому пришлось смотреть вручную листинг в dnSpy Далее я полистал названия классов и обнаружил кучу пустых методов, было ясно, что это слегка видоизмененный Confuser.Core, например то же шифрование строк поменялось в лучшую сторону, да так, что ни одна паблик тулза не хотела фиксить это. Убираем AntiTamper Чтобы была возможность трассировать уже деобфусцированный код, нам нужно снять анти-тампер с файла, который инициализируется первым в программе, если его пропатчить до того, как он вызовется, то в последующем программа просто крашнет. Сама цель АнтиТампера распределена на несколько этапов, а именно: 1. Поиск зашифрованного блока данных: АнтиТампер сканирует заголовки и секции файла, чтобы найти нужный ему блок данных, который изначально зашифрован в файле. 2. Дешифрование этих данных: Найденный блок данных дешифруется используя CryptoStream и XOR. 3. Проверка целостности данных: Вычисляется MD5-хэш уже дешифрованных данных и затем этот хэш сравнивается с контрольной суммой, вшитой в модуль. 4. Запись дешифрованных данных в память: Если хэши совпадают, дешифрованные данные записываются обратно в память модуля. Избавиться от анти-тампера оказалось проще простого, во время работы программы проверка целостности ни разу не будет вызвана, это означает, что можно затереть вызов инициализации анти-тампера сразу же после его выполнения и сдампить модуль. Слабое обнаружение VM/SandBox После того, как я привел файл в более читабельный файл и избавился от антитампера, я принялся анализировать работу вируса. Для начала, он проверяет, находится ли жертва под виртуальной машиной, в частности под VirtualBOX, он обращается к WMIC (Select * from Win32_ComputerSystem), в полученном результате он пытается найти слово 'virtual'. затем после удачной проверки он обращается снова к WMIC, забирая имя дисплея, и в последующем пытаясь найти слово 'basic' в нём. И финальная проверка в методе заключается в проверке кол-во кэш-памяти, для того чтобы функция вернула false, она должна найти больше двух кэш-памяти. Помимо этого, были еще различные методы проверки на наличие песочницы, такие как проверка на наличие модуля SbieDll.dll, что довольно неактуально на 2024 год. Инициализация малваря Файл создаёт директорию WindowdDebug со скрытым атрибутом, записывая туда файл с именем svchost.exe. Перед его запуском, он записывает данные в реестр по пути {HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows} со строкой: Load "C:\\Windows\\WindowdDebug\\svchost.exe" Когда все файлы подготовлены, исполняемый файл удаляет себя batch-скриптом, который он подготовил заранее: Реестр Перезаписанный исполняемый файл повторяет те же самые процедуры, что и его предшественник, с небольшими изменениями, именно тут он начинает полностью функционировать. Исполняемый файл изменяет ветвь реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System, устанавливая значения DisableTaskMgr в 1, а EnableLUA в 0. Это отключает диспетчер задач, что затрудняет рядовым пользователям удалить вредонос. Кроме того, оно отключает уведомления контроля учетных записей (UAC), которые предупреждают пользователей о попытках исполняемых файлов установить программное обеспечение или внести изменения в систему. Под раздачу попали и FirewallEnable с DisableAntiSpyware, выключая брандмауэр и защитник Windows. Авто-поднятие вируса Исполняемый файл создаёт в папке Temp скрипт script.vbs, и заполняет его кодом: Скрипт автоматически запускает исполняемый файл каждые десять секунд, если обнаруживается копия запущенного процесса, она завершается. Сам вирус тоже отслеживает работу wscript с помощью отдельного потока, чтобы предотвратить его закрытие. Winlocker + CelestialRAT Оказалось, что ко всему прочему, тут был и Winlocker, но он по неизвестной мне причине отказывался появляться на экране, несмотря на то, что инициализация формы (инициализация кнопок, текста, панелей) проходила, и мимо пролетали такие строки, как "Windows Заблокирован", "Attempts", "Unlock Windows": В дальнейшем, анализ показал наличие не только наличие граббера и винлокера, но и полноценного ратника Celestial RAT, о чем свидетельствует использование характерного имени файла при создании архива, а сам метод создания показан на скриншоте: При первой отправке логов граббер старается унести важные файлы, которые так или иначе светят слово 'license', так он забрал файлы лицензии de4dot. Вот как выглядит первый лог: Затем граббер начинает проверять наличие важных сессий у зараженной жертвы, такие как телеграм сессии, дискорд-токен, и пароли, куки и отправляет уже второй лог, используя веб-хук дискорда: Сам метод отправки через веб-хук выглядит так: Вывод: МАЛВАЛЬ! На этом все! Надеюсь администрация форума одобрит данную тему, ведь я старался, искал вирусы, разбирал их. Если нужна 2 часть, проявите активность, сделаю!
×