Загрузка...

Mars ******* - худший ******* | Как вас обманывает говнокодер

Тема в разделе Вирусология создана пользователем LLCPPC_inactive4415647 24 авг 2021. 6522 просмотра

Загрузка...
  1. LLCPPC_inactive4415647
    LLCPPC_inactive4415647 Автор темы 24 авг 2021 Не мир пришел Я принести на землю, но меч 245 15 авг 2021
    [IMG]
    Mars ******* врывается на форумы с красивым описанием - "Написан на ASM/C WinAPI, не используется CRT, STD"


    Давайте закроем глаза на то, что нет никакого STD, есть STL, но сами же написали, что написано на Си - какое там вообще может быть STL, если это стандартная библиотека C++? Но мало того, что про ассемблер вам наврали, так ещё и наврали про скрытие запросов секретной техникой и отсутствие CRT - тоже!

    "Весит 95 килобайт, использует техники скрытия запросов к WinAPI, шифрует используемые строки, собирает весь лог в памяти, а так же поддерживает защищённое SSL-соединение командным сервером"
    (95 килобайт подозрительно много для ASM/C, и вы позже поймёте почему так много)

    Билд действительно было сложно достать, но я нашёл какую-то статью про Mars ******* ("how to remove Mars *******"), где был прикреплён его отчёт на VirusTotal, и, к счастью, целых 6 дней назад!

    Хэш: 7da3029263bfbb0699119a715ce22a3941cf8100428fd43c9e1e46bf436ca687

    Давайте сравним описанное:
    [IMG]
    (Вес файла 94.50 kb, пока что всё сходится)

    Дальше я пошёл по хэшу, и нашёл его на Bazaar, и там уже нашёл его тэг - "MarsStealer"
    [IMG]
    Ну а потом скачал его по хэшу с AnyRun, где он засветился два раза. Скачал я самую последнюю версию, которая засветилась в 11:16 09 авг. 2021
    [IMG]

    Из странного хочу отметить, что ******* всегда палится, обращаясь к sqlite.dll на домене, возможно он его скачивает, но почему разработчики просто не поместили его в ресурсы, или не скомпилировали статически? Давайте разбираться..
    [IMG]


    Ревёрс-инжиниринг Mars ******* / Первый взгляд

    Итак. Скачав билд, я сразу требую забанить того, кто продаёт *******, за обман.
    Потому что в *******е используются CRT, и используются - ещё мало сказано:
    [IMG]
    [IMG]
    (Нас всех обманули!)

    Идём дальше. Строки зашифрованы, своё шифрование, или нет - я разбираться не стал
    UPD: Это Base64(RC4), по словам разработчика
    [IMG]
    [IMG]

    Ревёрс-инжиниринг Mars ******* / Динамический, статический анализ
    При запуске нас встречает 6 функций.
    [IMG]

    Первая функция - подгрузка библиотек и инициализация функций.
    Прописано без таблицы адресов, абсолютно никакой оптимизации:
    [IMG]

    Вторая функция - проверка на наличие пошаговой отладки.
    [IMG]
    Если пошаговая отладка - вызвать ExitProcess:
    [IMG]
    Далее идёт ещё одна проверка, получением языка машины (проверка на СНГ). В общем, меняем всё это дело вот так:
    [IMG]
    Идём дальше...

    Потом идёт создание мутекса, проверка на то, успешно ли он создался...
    [IMG]
    И потом первая функция после проверки мутекса - бинго! Расшифровка.

    Заходим внутрь первой функции, в которую передаётся аргумент с зашифрованной строкой:

    [IMG]

    И видим вызов первой функции. Она просто работает с локальными переменными, и делаем вывод, что это генерировал Си-компилятор, впрочем, нигде ассемблера я так и не увидел...
    [IMG]
    Далее идёт вторая функция. Она переводит строку в бинарный вид, через CryptStringToBinaryA (так же через неё можно конвертировать из\в base64)
    [IMG]
    Далее идёт выделение памяти, и сама расшифровка...

    Первым расшифровывается дата.. 28\08\2021, это для проверки лицензии
    [IMG]

    Далее расшифровывается "http://"
    [IMG]

    Не успели мы уже **** собрать, а нам тут уже домен первым делом расшифровали.


    cookreceipts.fun
    [IMG]

    Дальше
    [IMG]
    Гейт - /some2.php


    Ну и дальше уже без скриншотов:
    "open" - для ShellExecuteA
    "%hu/%hu/%hu %hu:%hu:%hu" - для панели, на это место вставится дата

    Потом наш путь к sqlite3.dll
    "/public/sqlite3.dll"
    Потом идёт путь, куда скачивать DLL:
    "C:\ProgramData\sqlite3.dll"

    Потом ещё скачивается вторая библиотека, и вообще, вот вам список библиотек, которые переносятся через домен:
    "/public/freebl3.dll" -> "C:\ProgramData\freebl3.dll"
    "/public/mozglue.dll" -> "C:\ProgramData\mozglue.dll"
    "/public/msvcp140.dll" -> "C:\ProgramData\msvcp140.dll"
    "/public/nss3.dll" -> "C:\ProgramData\nss3.dll"
    "/public/softokn3.dll" -> "C:\ProgramData\softokn3.dll"
    "/public/vcruntime140.dll" -> "C:\ProgramData\vcruntime140.dll"

    И дальше строки для панели:
    ".zip", "BotID: ", "IP: ", "Country: ", "Working path: ", "Local time: ", "TimeZone: ", "Display Language: ", "Keyboard language: ", "Is Laptop: ", "Processor: ", "Installed RAM: ", "OS: (", " bit)", "Videocard: ", "Display resolution: ", "PC name: ", "User name: ", "Domain name: ", "Machine ID: ", "GUID: ", "Installed software: ", "system.txt", "Grabber\%s.zip", "%APPDATA%", "%LOCALAPDDATA%", "%USERPROFILE%", "%DESKTOP%", "Wallets\", "Ethereum", "keystore", "Electrum", "\Electrum\wallets\", ну продолжать можно бесконечно...

    Ужасный код расшифровки одним огромнейшим списком:
    [IMG]
    [IMG]

    (Можно было сократить в один маленький цикл)


    Следующая функция после дешифровки всех данных - импорт оставшихся функций (нужных для последующих действий). В самом начале - идёт первая часть функций, она небольшая, это в основном из kernel32 - для получения даты, и т.д, а теперь идут остальная - огромная часть, и мало того, что огромная - так ещё и неоптимизированная.
    UPD: Разработчик написал, что это компилятор виноват, но мы ведь все знаем, что на O0 он не сгенерирует даже это, а в результате на O3 он бы сам оптимизировал в циклы, но подозрение у меня, что разработчик написал копирайт кучи строк, а потом ещё и в O0-O2 скомпилировал, вот вам и 95 килобайт:
    В ассемблерном листинге это ещё длиннее, поэтому я покажу вам в декомпиляторе, т.к так это более компактнее. Впитайте в себя килобайты, и представьте, как бы вы это оптимизировали в один маленький цикл с таблицей:
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    После подгрузки функций - идёт сбор данных... Неясно, почему перед сборкой ***** идут расшифровка всех данных, импорт WinInet, а потом только отправка, можно было всё намного лучше перестроить.

    В сборе данных так же используются системные переменные:
    [IMG]
    Что убивает переносимость, т.к если переменные выставлены неверно - ******* работать не будет.

    Порядок сбора данных:
    [IMG]
    Не поместилось - сначала идёт получение sqlite3 из домена
    Потом браузеры, криптокошельки, делается скриншот, GetAnotherLibs (не разобрал, отправляется запрос на гейт, и читается ответ), граббер, фукции от Си-компилятора, а потом отправка


    Отправка - очень много lstrcat

    [IMG]

    [IMG]

    [IMG]

    Сбор данных идёт на диске:
    [IMG]
    [IMG]

    В общем виде выглядит всё вот так:
    [IMG]
    (не CheckVM, а проверка на СНГ)
    Естественно, про многопоточность и речи не идёт.

    Итоги:
    Плюсы:
    - Шифрование
    - Защищённая импорт-таблица (получение функций в рантайме)

    Минусы:
    - Максимально неоптимизированный код
    - Неправильная постановка хода *******а. Сначала расшифровывается всё, импортируются функции, а только потом собираются и отправляются данные. Ничего не мешает в отладке зайти в функцию дешифровки, получить строки, и выйти...
    - Отсутствие обнаружения виртуальной среды.
    - Подгрузка библиотек с панели, нагрузка
    - Обман пользователей с намерениями специально привлечь внимание
    - Сбор данных на диске
    - Используются системные переменные

    - Отсутствие многопоточности


    Скачать рассматриваемый билд MarsStealer -> https://dl.uploadgram.me/612456b287686h


    Читайте так же:
    * Ревёрс-инжиниринг *******а RedLine -> https://zelenka.guru/threads/2866730/
    * Ревёрс-инжиниринг DC-RAT -> https://zelenka.guru/threads/2878088/
    * Ревёрс-инжиниринг *******а X-FILES -> https://zelenka.guru/threads/2884957/
    * Пишем полиморфный код на ассемблере с шифрованием (обход VirtualBox, AnyRun, дампа памяти, 5 блоков кода) -> https://zelenka.guru/threads/2881723/
    * Ревёрс-инжиниринг MarsStealer -> https://zelenka.guru/threads/2888161/
    * Кряк MarsStealer v3 -> https://bhf.io/threads/636515/#post-7113209
    * Ревёрс-инжиниринг SHurk Steal -> https://zelenka.guru/threads/2889104/
     
    24 авг 2021 Изменено
  2. ахуеть
    ахуеть 24 авг 2021 3580 1 июл 2019
  3. MrDooRS
    Вот таких гениях и не хватает форуму, аж читать приятно):povezlo:
     
  4. gxttev
    gxttev 24 авг 2021 528 4 июл 2021
    жостко, жостко
     
  5. SQL
    SQL 24 авг 2021 Экономь TRX - lolz.live/threads/7681011 4454 5 июн 2020
    ничего не понял
     
  6. CoderVir
    Чувак, давай топи. Разьеби весь форум, внатуре. Ждём теперь твоих статей постоянно.
     
  7. G0odDay
    G0odDay 25 авг 2021 215 14 окт 2018
    анализ по фактам, но манера речи у тебя...
     
    1. Посмотреть предыдущие комментарии (4)
    2. G0odDay
      LLCPPC_inactive4415647, "смирись" у тебя вечно повторяется. Ну "иди тут" просто не уместно. "в ******ы полез" это вообще по моему не правильно, более грамотно было бы выразиться в малваре кодинг.
    3. LLCPPC_inactive4415647 Автор темы
      G0odDay, Мне просто не нравится употреблять взаимствованное слово "малварь", оно звучит не по-русски, а писать "программирование вредоносного ПО" иногда забываю, поэтому легче просто указать "ветку" вредоносного ПО, вроде "*******" - легко, и просто. А про "смирись" - я сделал фон утверждающего предложения, однако я писал это с раздражительностью, поэтому мог не следить за речью
    4. G0odDay
      LLCPPC_inactive4415647, Вообще про англицизмы это спорная тема, вроде не есть хороша, а вроде и не плохо. А про раздражительность я тебя понимаю
  8. LLCPPC_inactive4415647
    LLCPPC_inactive4415647 Автор темы 25 авг 2021 Не мир пришел Я принести на землю, но меч 245 15 авг 2021
    Обновил. Всем стоит это видеть.
    Добавил порядок сбора данных (и в принципе показал сбор данных, и отправку), как ты просил, marsteam, добавил ещё два минуса - сбор данных на диске, использование системных переменных.
    Ну и ещё добавил побольше доказательств твоего говнокода, пусть люди видят.
    Так же поправил "общий вид", т.к я там ошибся, порядок -> Дешифровка всех данных, получение функций (в том числе winapi, в одном говнокоде), проверка лицензии по дате (легко крякается), получение\отправка *****. Рекорд по минусам

    Добавлено: где же твоя секретная техника скрытия запросов?
     
    25 авг 2021 Изменено
    1. Посмотреть предыдущие комментарии (10)
    2. LLCPPC_inactive4415647 Автор темы
      marsteam,
      Всё, больше отвечать тебе вообще не буду, тебе не доходит никак, ты говоришь только про то, что не так, за то проигнорировал системные переменные, что же ты про них молчишь, гений WinAPI? Или не знаешь функции рода GetTempPathA?
    3. LLCPPC_inactive4415647 Автор темы
      marsteam,
      "Давай до привычек цепляться, может ещё мне левой рукой начать писать?"
      Это не привычка, это доказывает твою зелёность в программировании. Ты банально не знаешь терминов.
      Это как называть функции - процедурами...
    4. LLCPPC_inactive4415647 Автор темы
      marsteam,
      "Мда, на этом можно спор заканчивать. Совсем забыл, что у нас msvcrt что-то в kernel32 забыла.
      https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-lstrcata "
      А я и не про lstrcat писал. Давай поговорим про memcpy, memset, strtstr, getenv, strtok, stmcpy, strcpy?
      И strcat тоже аналог использовался в msvcrt, но это так, раз ты не понял ничего
  9. Лжедмитрий
    Лжедмитрий 25 авг 2021 Заблокирован(а) 3101 4 май 2021
    Это мульт Кодера или шо:spain:
     
    1. Посмотреть предыдущие комментарии (10)
    2. LLCPPC_inactive4415647 Автор темы
      Лжедмитрий, Таких в свободном доступе не найти, но никому и не нужно. В основном *******ы используются в хакерских атаках, а для игр - распространять по Ютубу, побаловаться - можно брать любой .NETовский, это в принципе и не важно вообще..
    3. CoderVir
      Лжедмитрий, самый лучший ******- это продукт, который ты написал сам, и который тебя устраивает) Понятное дело сбор в памяти-самое главное+ шифрование.
  10. jgsjagejwgjwf
    не эксперт, но по моему билиотека sqlite на си использует crt, если его компилировать статически, то это сильно повлияет на вес *******а + уже будет противоречить и так нарушенному заявлению кодера о том что crt не юзается
     
  11. misakiyes
    misakiyes 27 авг 2021 Заблокирован(а) 63 27 фев 2021
    он вам не Mars *******
     
Top