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

Время от времени мы все просто должны ценить самоотверженность и приверженность, которые проявляют хакеры Roblox. Да, вы правильно прочитали ... хакеры Roblox. Но, к сожалению, я не буду обсуждать изобретательность и опыт программирования, необходимые для того, чтобы стать профессиональным писателем эксплойтов для этой фантастической игры. Нет, сегодня я буду говорить о Феликсе Вернере. Большая часть этой статьи будет рассказывать о вредоносном ПО, участвовавшем во всем этом фиаско, но все это приводит к очень интересному выводу, сделанному здесь нашим другом Феликсом.

Небольшая предыстория, прежде чем мы продолжим: я являюсь участником сервера Discord, известного как Hacking-Coding. Там много хороших людей (и несколько мемов), но я определенно рекомендую вам проверить это. Как бы то ни было, однажды я разговаривал по голосовому каналу, когда участник, известный как SnowLord, обратил мое внимание на то, что он смотрит на особенно интересный образец вредоносного ПО. Он утверждал, что он был разработан для работы как «эксплойт Roblox», получивший название Synapse, но подозревал, что в нем содержалось какое-то вредоносное ПО. Скорее всего, это был простой кейлоггер. Он отправил образец, который представлял собой заархивированный архив под названием «Cracked Synapse v4.6.7.zip».

Теперь самое интересное: вскрытие. В этой папке было много интересных каталогов и файлов. Однако наиболее интересными были два основных двоичных файла, включенных в инструмент: «Synapse Cracked.exe» и «synapse-v4.5.1d-b2.bin». Первым файлом, который я решил посмотреть, был общий исполняемый файл. В ходе первоначального анализа обнаружился ряд интересных вещей. Во-первых, исходное имя исполняемого файла было «NathansBinderStub», что не только подозрительно, но и будет очень важно позже (на данный момент имя «Натан» не имеет никакого значения).

После небольшого просмотра кода с помощью dnSpy, полезного инструмента декомпиляции .NET, стало совершенно очевидно, что это был запутанный файл .NET, как показано здесь:

Следующим шагом будет просмотр некоторых переменных, включенных в файл, и попытка выяснить цель и эффекты выполняемого кода. Однако я не из тех, кто пытается иметь дело с надоедливо запутанным кодом. Another_Researcher, мой друг, который давал мне советы по анализу на этом опыте (и который неплохо умеет уничтожать вредоносные программы .NET), обратил мое внимание на инструмент под названием de4dot. Это очень эффективно для поиска инструмента, используемого для обфускации данного исполняемого файла .NET, и его небольшого исправления для улучшения читаемости. После запуска инструмента в двоичном файле нам предоставляется очищенная версия с тем же потоком выполнения, что и исходная.

Однако есть один странный результат, включенный в этот вывод… Инструмент утверждал, что он был закодирован с использованием «Неизвестного обфускатора», что означает, что использованный инструмент был либо обычно редким, изготовленным на заказ, либо модифицированной версией более популярного обфускатора. Несмотря на это, de4dot все же смог немного очистить символы в файле, чтобы сделать его немного менее головной болью.

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

Здесь мы видим вызов метода load (), который находится внутри класса «Blank». Вот где код становится интересным ... Как упоминалось ранее, файл все еще несколько запутан, поэтому нам нужно найти поведение, которое помогло бы выявить некоторые эффекты этого кода для установки точки останова. К счастью, это относительно просто, как видно из декомпиляции первого метода.

Из вызовов метода видно, что он удаляет два файла и запускает их с помощью Process.Start (). Интересное замечание: большое количество вызовов .NET внутри этого набора вредоносных программ было сделано специально для библиотек VB, что означает, что они, вероятно, изначально были написаны на VB.NET. Теперь нам нужно точно выяснить, что хранится в tempPath и array во время выполнения. Мы можем поставить две точки останова на вызовы FileSystem.FilePut () и одну непосредственно перед запуском процесса. Также было бы полезно проверить остальную часть кода, чтобы гарантировать, что это не приведет к неожиданным последствиям. На самом деле, в начале этого двоичного файла есть проверка, которая гарантирует, что файлы еще не отброшены, но это не обязательно входит в объем данной статьи. После запуска отладчика и достижения нашего начального перерыва мы можем найти все значения, которые нам нужны, чтобы продолжить анализ.

Теперь они очень похожи на переносимые исполняемые файлы. Для тех, кто не знает, формат PE начинается с подписи MZ из дней перемещаемых 16-битных исполняемых файлов MS-DOS, посвященных Марку Збиковски. Мы также видим два отброшенных файла и то, где мы можем найти их после того, как FileSystem.FilePut () вызывается в обоих исполняемых файлах. Забегая вперед, прямо перед запуском процесса мы можем просмотреть наш каталог Temp, чтобы увидеть два исполняемых файла. Первый, Synapse.exe, - это настоящий эксплойт Roblox; хотя я не тестировал это, те, кто прокомментировал видео YouTube, где это было обнаружено, утверждали, что это работало, предполагая, что это законно (подробнее на канале YouTube позже). Второй, aaaa.exe, действительно очень интересен. Учитывая, что все операции, которые происходили внутри кода, до сих пор были неожиданными, давайте взглянем на подозрительный исполняемый файл aaaa.

Мало того, что нет никакого запутывания, но если эти имена методов правильно названы ... Что ж, это наиболее компрометирующие доказательства, которые нам нужны. Кроме того, при запуске вредоносного процесса он запускается под именем «Центр обновления Windows», пытаясь скрыться от пользователя. Но просто чтобы увидеть некоторые из замечательных программ, которые были воплощены в этом истинном произведении искусства, мы можем взглянуть на часть кода. Взглянув на переменные экземпляра класса Form1 (расположенные в пространстве имен Microsoft), становится ясно, что они предприняли некоторую попытку шифрования, чтобы предотвратить раскрытие учетных данных.

В дополнение к этим зашифрованным строкам, похоже, есть и другие переменные, которые использовались для указания определенных операций, которые должны выполняться во время выполнения. Короче говоря, они буквально использовали строки, чтобы указать его конфигурацию. В любом случае, следующим курсом действий должна быть расшифровка этих данных. Мы можем искать в остальной части класса ссылки на эти переменные. Мы находим ряд вызовов метода Decrypt () с зашифрованными строками и предполагаемым ключом дешифрования «PredatorLogger», хранящимся в виде обычного текста.

Это также имя вредоносной программы, которая была включена в этот взлом. Это просто обычное шпионское ПО с парой различных функций, таких как кража аккаунтов с определенных платформ (Steam / Minecraft), которые мы можем найти, просто пролистав код немного.

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

Вывод (подвергнутый цензуре для предотвращения злоупотреблений) дает нам адрес электронной почты, пароль и домен злоумышленника, хотя, к сожалению, информация FTP не была инициирована должным образом. Скорее всего, это просто побочный продукт генерации заглушки с отключенными определенными настройками. Отказ от ответственности: я лично не просматривал журналы, которые вредоносная программа отправляла на адрес электронной почты или в домен. И если вы решили взглянуть на эти образцы, вам тоже не стоит. Это неэтично и незаконно. Теперь, посмотрев все это, я уверен, что вам интересно, что случилось с исходным файлом synapse-v4.5.1d-b2.bin. И хотя он, похоже, не упоминается в Synapse.exe, возможно, стоит изучить его, чтобы найти дополнительную информацию о злоумышленнике. Мы можем повторить тот же процесс, который мы использовали для основного исполняемого файла, чтобы увидеть, что он делает. Этот файл сильно отличался от оригинала, был запутан другим, но, казалось бы, более эффективным способом.

Он был заполнен сотнями фальшивых классов и методов, которые были закодированы этой тарабарщиной в Юникоде. Каждый идентификатор был заменен этим типом имени. Однако на нашей стороне наш друг de4dot. После очистки файла все становится намного проще.

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

Показанный выше метод вызывает функцию Assembly.Load () для переменной array3, значение которой я не собираюсь отслеживать. Давайте установим точку останова и посмотрим, что произойдет.

После того, как мы достигли разрыва, мы можем найти другой PE, полностью сохраненный в array3. Благодаря надежности dnSpy мы можем сохранять закодированные значения в массиве в другой файл и декомпилировать его, благодаря тому, что он был также написан на .NET.

Из того, что я понял из разборки, единственной заметной целью файла .bin было хранение различных ресурсов для исполняемого файла Synapse. Выгруженный файл был почти пуст, а единственный существенный материал находился в разделе «Ресурсы» двоичного файла. Я почти уверен, что упустил много интересной информации из оригинала, но из всех других данных, которые уже были собраны, я действительно не считал необходимым продолжать следовать этому примеру. Мы успешно сбросили все вредоносные файлы и получили информацию о злоумышленнике, которую мы можем использовать для идентификации и прекращения их работы. Все файлы, которые были загружены в VirusTotal, будут абсолютно обнаружены в следующий раз, когда кто-то просканирует один из них.

Несколько дней спустя я разговаривал с несколькими людьми на том же сервере Discord, когда другой мой друг по имени «Jazzy» заявил, что мы обнаружили вредоносную программу, которая, по его мнению, была интересной. Думая, что я немного улучшился по сравнению с предыдущим опытом, я предложил свою помощь. Образец, на который он смотрел, оказался еще одним «эксплойтом» Roblox, по-видимому, названным «Bleu». Он отправил три отдельных файла: Defiate_3.exe, Bleu.exe и Bleu_Cracked.exe. И Defiate_3.exe, и Bleu.exe были законными файлами и, скорее всего, не представляли вредоносной угрозы. Bleu_Cracked.exe, с другой стороны, был интригующим.

Глядя на размер по сравнению с реальной версией Bleu, очевидно, что взломанная версия имеет внутри дополнительный код или ресурсы. Это не является злонамеренным по своей сути или даже ужасно подозрительным, но увеличивает вероятность того, что в нем есть что-то неожиданное. Оказалось, что этот образец также был написан на .NET, но наиболее интересным аспектом этой новой вредоносной программы было оригинальное имя исполняемого файла.

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

Глядя на код, становится очевидным, что эти два образца очень похожи, с той лишь разницей, что они были отброшены. Следуя той же процедуре, что и в примере Synapse, мы смогли получить два разных отброшенных файла.

Он работает почти так же, как Synapse, за исключением прикрепленной вредоносной заглушки. Вместо «PredatorLogger» с его поддельной утилитой обновления Windows остается файл с именем «CookieVenomStub.exe».

Простое исследование имени этого файла дает четкое представление о том, в чем, по-видимому, заключается намерение этой «трещины».

Если потребуется дополнительная проверка, мы можем просто декомпилировать удаленный исполняемый файл CookieVenom.

Код, показанный слева, похоже, отправляет украденные пользователем файлы cookie аутентификации Roblox на включенный веб-перехватчик Discord, который я подвергал цензуре, чтобы предотвратить любые злоупотребления. Это говорит о том, что украденные файлы cookie отправляются на своего рода сервер журналов, основанный на разногласиях.

На следующий день я снова разговаривал с Джаззи о странном совпадении всей ситуации. Когда я спросил его, откуда у него взлом Synapse, он связал меня с видео на YouTube, размещенным на канале под названием «Феликс». Это момент, когда все наконец начало складываться.

Я хотел убедиться, что программы, которые он распространял, на самом деле были теми образцами, на которые я смотрел раньше. После того, как я просмотрел несколько ссылок adfly, я загрузил два новых релиза в то время (в более новых из них были заменены методы обфускации с тех пор, как мы с Another_Researcher взглянули на него… Да, ребенок все еще распространяется) Bleu и Synapse. После их декомпиляции получаем:

Тот же обфускатор, та же техника удаления файлов, все то же, кроме вредоносного исполняемого файла. Оба обновленных взлома Synapse и Bleu устанавливают CookieVenom, и, похоже, на данный момент он прекратил поддержку полномасштабного шпионского ПО.

Оглядываясь назад на описания видео, я обнаружил, что там была ссылка на сервер Discord, к которому я и Another_Researcher быстро присоединились. Когда мы разговаривали с администраторами (имя которых останется неназванным), некоторые из них признали, что знают о регистраторе файлов cookie, и Another_Researcher смог выяснить, что веб-перехватчик фактически привел к отдельным разногласиям, к которым участники могли присоединиться, для price . Похоже, что все участники сервера были полностью лишены чувствительности к тому факту, что то, что они делали, было незаконным.

К сожалению, он все еще распространяет свое вредоносное ПО. Мы делали и продолжаем препятствовать его усилиям различными способами, такими как приостановка его учетных записей журналов и сообщение о его сервере Discord и веб-перехватчиках, чтобы, надеюсь, отключить их. Однако это непрекращающаяся борьба. Если можете, сообщите о его канале YouTube с веским доказательством (может быть, об этой статье?), Чтобы он был удален, и он потерял шанс найти детей, которые хотят обмануть в Roblox ... Потребуется много времени, чтобы снова привлечь всех подписчиков, которых он имеет. Также возможно участие правоохранительных органов, поэтому, как я уже упоминал ранее, будьте этичны во всех своих действиях в отношении этого мошенника.

Спасибо за чтение.

Инструменты

DnSpy - невероятно полезный отладчик .NET и редактор сборки.

IDA - родной отладчик с максимальной функциональностью, которую любой может пожелать в дизассемблере.

De4dot - инструмент деобфускации .NET, который пытается идентифицировать и отменить обфускатор, используемый для определенного файла.

Process Hacker - хотя он и не описан в этом руководстве, это очень полезный инструмент, который позволяет получить полное древовидное представление всех процессов и вилок, а также многих других функций.

Fiddler - полезный веб-отладчик, рекомендованный Another_Researcher.

Wireshark - классический сниффер пакетов. Очень полезно почти в каждом сценарии.