April 29

Разбор Horizon

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

Распаковка и анализ

Для начала распакуем архив и взглянем на файлы:

Посмотрим содержимое "Launcher.bat":

Наблюдаем типичный, для chatgpt комментарии к коду. Идем дальше.

Посмотрим, что лежит в "Horizon.py":

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

Посмотрим, что лежит в папке "Bin":

Здесь видим типичные файлы, которые генерирует pyinstaller. Меня же заинтересовал этот файл:

Откроем его в текстовом редакторе (в моем случае vscode):

Обнаруживаем, что это обычный Python скрипт. Рассмотрим его детальнее.

Наблюдаем крайне интересные переменные. Для чего же они в "софте для пробива"?

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

Посмотрим, что закодировано в этих строках:

Раскодируем через моего божественного бота (да, это реклама)

C2:

Mutex:

С переменной "mutex" пока мало что ясно, однако о C2 можно сказать немного больше. Если вы когда-либо создавали телеграм ботов или работали с Telegram API, вам должно быть знакомо, как выглядят токены телеграм ботов.

Раскодированная строка C2 выглядит как начало типичного токена телеграм бота. Поскольку в токенах не бывает спец символов (в нашем случае доллара $), то просто возьмем первую часть строки. И проверим валидность токена в том же прекрасном боте (да, снова реклама):

Нихуя себе! Это таки был токен бота, и нихуя себе! Токен валидный. Вторая часть строки (после знака $) ничто иное, как айди чата, куда, как я полагаю отправляются логи мамонтов, которые запустили данный шедеврософт.

Я поставил на этот бот простой логгер, перехватывающий все его сообщения. На момент написания этого поста, никаких логов поймать не удалось. Читаем код дальше:

Здесь мы видим список блеклист параметров, при котором стиллер не запустится. Он нужен для того, чтобы если кто-то зальет стиллер на virustotal, стиллер не запустился на их песочнице.

Кроме того, есть проверка, является ли компьютер, на котором запустили стиллер хостингом (тоже обнаружение песочниц для анализа малварей)

Здесь тоже типичный для стиллера функционал.

Здесь видим функцию снимка веб камеры

Убийство процессов на компе.

В общем, вы поняли, что из себя представляет этот скрипт. Ничего хорошего он не несет

Сама отправка лога в телеграм. Как вы поняли, ничего хорошего этот скрипт не несет.

Кроме того, меня заинтересовал файл "start.pyw"

Текстовый редактор много информации не дал, зальем его на вирустотал, и посмотрим:

28 детектов о чем-то да говорит, а конкретнее о том, что нас с вами где-то наебали

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

Видим, что при анализе файла, отправлялся запрос на pastebin. Проверим что там:

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

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

Думаю, некоторые из вас тоже знают об этом туле.

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

Ну а теперь перейдем к тому самому обфусцированному скрипту, который мы увидели в самом начале. Если вам лень скроллить статью наверх, напомню:

Что же нам делать с такой мощной обфускацией? Дело в том, что питон - интерпретируемый язык. В отличие от C++, питон не может просто так быть скомпилирован. Это значит, что невозможно защитить код от чтения, любая обфускация - просто запутывание и усложнение чтения, но при должной усидчивости и умении можно раскрыть ЛЮБУЮ обфускацию.


Немного отредактируем код:

Перенесем на новую строку часть, с exec, уберем exec, и сохраним закодированную строку в переменную govnocode

Посмотрим же, что у нас сохранилось в переменной простым print:

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

Сохраним содержимое строки в новый файл "govnocode.py":

Откроем создавшийся файл и смотрим результат:

Нас приветствует шикарнейшее ссанье в глаза и наеб:

В то время, как наивный школьник будет думать, что скрипт подключается к базе данных, на деле же запускается стиллер, который начисто пиздит все полезное и ценное с его компа. Файл "C2" мы рассматривали выше.

Это я даже комментировать не хочу.

Выводы

В итоге при покупке данного софта мы получаем:

  • Наеб
  • Нерабочий скрипт
  • Спизженные аккаунты
  • Скриншоты рабочего стола и спизженные файлы
  • Сдохшую видеокарту/комп из-за майнера
  • Проебанные деньги
  • Потерянное достоинство

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

На связи был админ канала Falcon Bytes, надеюсь пост был полезен.