• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Мини-обзор лоадера "Matanbuchus "

Quake3

TPU unit
Забанен
Регистрация
03.11.2010
Сообщения
4 529
Решения
4
Реакции
5 305
Депозит
0.046
Пожалуйста, обратите внимание, что пользователь заблокирован
Кросс-пост обзора.
Последние годы рынок малвари выглядит весьма обширным, но при этом однообразным. Процентов 95 занимают разного рода шифровальщики (точнее, партнерки), оставшиеся % занимают стиллеры, и уж совсем крошечную долю другой софт. Поэтому, когда появился анонс нового лоадера, решил пореверсить что-то другое чем "поиск файлов-крипта-записка". Итак, билд представляет собой DLL размером 91.5 кб, ничем не упакован. Написан на С++, собран в Visual Studio , статически слинкован с CRT.

s12.png


В разделе экспортa есть одна функция , которая обеспечивает установку софта на машину. Т.е. дллка должна быть запущена сторонним процессом, командой вида "rundll32.exe dllname.dll,InstallFunction" (или regsrv)

s11.png


После запуска софт создает в %tmp% папку, и дропает туда , собственно лоадер - DLL, скачанную из админки. Юзается WinInet апи. Рабочая DLL добавляется в автозапуск с помощью планировщика задач, в зависимости от типа установки (rundll32 / regsrv) , т.е. обычный юзер (не реверсер) не должен заметить ничего в автозагрузке, а в списке процессов будет системный процесс. Собственно длл лоадера, размером 351 кб, также написана на С++. Экспортирует две функции

s2.PNG


, впрочем с одинаковым кодом, для запуска через rundll32 / regsrv. Все остальные данные софта (строки, импорт кроме црт'шного) скрыты. Присутствует анти-песочница (защита от запуска на виртуалках и т.п.), этот момент, стоит обсуждать с автором, т.к. иногда надо потестировать перед прогрузом. Лоадер запускается, загружает в память нужные для работы системные библиотеки. Проверяет себя на повторный запуск (чтобы не работали 2 и больше копии софта одновременно), коннектится к админке для получение заданий.

s3.png


(на 64 бит видно 2 системных процесса, из-за WoW64).

Админка предоставляет возможность запустить файл разными способами: с правами админа, текущего юзера (от которого выполняется бот), запуск команд CMD / PS и т.д. Тут бы хорошо было услышать мнение Ar3s .. Но что есть, то есть. Потестировал сам запуск от админа, запуск с памяти и запуск команд cmd, отработало норм. Файлы для запуска с диска копируются в папку рядом с лоадером с рендомным именем и запускаются стандартным способом. Для повышение привилегий (запуск от админа) используется трюк с runas.

s4.png


Общение с админкой идет в формате base64(json), поверх пошифровано RC4, с интервалом примерно в 2 минуты. В админке видно, успешно команда выполнилась или нет.

В целом, софт неплохой, и надеюсь, займет свою нишу на рынке. По автору - видно, что человек учится, старается сделать продукт лучше. В ходе реверса была найдена ошибка на вин7, автор ее оперативно пофиксил. Хотя, в некоторые моменты мне хотелось бросить все это дело и забить на обзор.

По критике: нет внятного мануала, по тем же методам запуска; советую добавить руководство, чтобы последнему дураку было понятно, как и что использовать. За админку ничего не скажу (юзабилити и т.д.), инфу отображает и хорошо, возможно пользователи что-то захотят добавить (поиск, сортировку, етц), это уже будет видно по ходу продаж. По размеру софта - вопрос холиварный, поэтому его касаться здесь не будем, главное все же , наверное, детекты, тем более что изначальный дроппер весит вполне приемлемые 91кб. Также, как и наличие C++ STL: с одной стороны, можно обойтись, с другой - наличие оного добавляет файлу легитимности перед аверами.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще дроп длл в темп и их запуск должен был уже давно палиться всеми аверами на свете, это же любой сплойт, любой дроппер, любой лоадер сделает это именно так.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще дроп длл в темп и их запуск должен был уже давно палиться всеми аверами на свете, это же любой сплойт, любой дроппер, любой лоадер сделает это именно так.
на семёрке проверяют сборка торрент .норм пиар
 
Пожалуйста, обратите внимание, что пользователь заблокирован
на семёрке проверяют сборка торрент
Проверял еще на десятке, отстук был.
 
Вообще дроп длл в темп и их запуск должен был уже давно палиться всеми аверами на свете, это же любой сплойт, любой дроппер, любой лоадер сделает это именно так.
Что год назад не палилась что сейчас. А вот другие скрытые каталоги типа аппдата или программ дата наоборот вызвают у некоторых аверов (аваст или авг на пример) детект.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что год назад не палилась что сейчас. А вот другие скрытые каталоги типа аппдата или программ дата наоборот вызвают у некоторых
Я бы не был бы так категоричен в этом вопросе.
 
Я бы не был бы так категоричен в этом вопросе.
Не какой категоричности лишь собственный опыт и наблюдение за другими малварями. TEMP это каталог куда постоянно создаються файлы и туда часто что-то запускаеться (к примеру исталляторы дропают и запускают от туда файл(ы)). Я тестировал разные скрытые каталоги temp по детектам лучшее всего подходит (не в папку юзера же мне дропать файл).
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А если в дллку внедрить еще функций побольше, с реколлом например на crt функци, или тот же лже-curl, просто одна экспортная строка слишком подозрительна по моему? Это как обсуждение, еще сам не делал, че может будет в "+"? Как думаете? Я просто тоже щас пилю кое что.
 
Matanbuchus, хотелось бы узнать, почему выбор пал на использование CRT/STL, если можно было обойтись и без них? (Уж в софте то на уровне скачать запустить). Про "легитимность" в глазах аверов говорить глупо в связи с тем, что все равно лоадер криптоваться будет и авер статически анализировать будет непосредственно крипт
 
Matanbuchus, хотелось бы узнать, почему выбор пал на использование CRT/STL, если можно было обойтись и без них? (Уж в софте то на уровне скачать запустить). Про "легитимность" в глазах аверов говорить глупо в связи с тем, что все равно лоадер криптоваться будет и авер статически анализировать будет непосредственно крипт
Я практически не юзаю crt. У меня либо используются winapi либо реализации crt функций. Ограниченно использую std который выполняет некоторые задачи в коде.
 
Последнее редактирование:
Я практически не юзаю crt. У меня либо используются winapi либо реализации crt функций. За исключением std который используется для выполнения некоторых задач.
Это понятно. Я и интересуюсь, для чего оно используется, это тонна лишнего рантайма ведь, интересно узнать, чем обусловлен выбор
 
Это понятно. Я и интересуюсь, для чего оно используется, это тонна лишнего рантайма ведь, интересно узнать, чем обусловлен выбор
Для общения с панелью. На ран std не влияет. Может конечно приводить к клауд детектам(облачная статика) со стороны некоторых аве но это поправимо криптом. На данный момент проблем с рантаймом не заметил.
 
Для общения с панелью. На ран std не влияет. Может конечно приводить к клауд детектам(облачная статика) со стороны некоторых аве приводить но это поправимо криптом. На данный момент проблем с рантаймом не заметил.
Может я чего то не понял, а зачем в общении с панелью стд? Стл не предоставляет интерфейс для взаимодействия с сетью, да и не должен впринципе предоставлять. О чем речь тогда?
 
Может я чего то не понял, а зачем в общении с панелью стд? Стл не предоставляет интерфейс для взаимодействия с сетью, да и не должен впринципе предоставлять. О чем речь тогда?
Скрытый контент для пользователей групп Premium.
Обработка данных для формирования запроса и обработка данных из ответа.
 
Обработка данных для формирования запроса и обработка данных из ответа.
Опять же, а зачем тут стл? Мне просто не совсем понятна изначальная мысль, никаких тем с синхронизацией потоков и прочего у тебя судя по всему нет, если я правильно понял алгоритм действий - у тебя json криптуется базой64 и рц4 поверх, ну простая работа с байтами, посчитал длину данных, выделил буффер, сделал свои дела, очистил буффер. Ты конечно прости за назойливость, но тупо не понимаю)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Скрытое содержимое
бля чувак, такой хайд. Жаль смертные превада не увидят, ебана...
 
бля чувак, такой хайд. Жаль смертные превада не увидят, ебана...
Я уже понял что увидят) Но хайд оставлю)
 
Опять же, а зачем тут стл? Мне просто не совсем понятна изначальная мысль, никаких тем с синхронизацией потоков и прочего у тебя судя по всему нет, если я правильно понял алгоритм действий - у тебя json криптуется базой64 и рц4 поверх, ну простая работа с байтами, посчитал длину данных, выделил буффер, сделал свои дела, очистил буффер. Ты конечно прости за назойливость, но тупо не понимаю)
Скрытый контент для пользователей групп Premium.
Такая реализация. Я не хочу вдаваться в подробности. Могу сказать только что в json юзаеться std и в кодировании декодировани запроса/ответа. В основном std::string используется.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я уже понял что увидят) Но хайд оставлю)
а можно личный хайд. Я прост учусь программированию только только ( именно малварь кодинг ). Просто твой триумф и этот считаю достойными показателями малварь кодинга.
Даже тихая ночь имхо по лоадеру нервно курит в сторонке. А дроп в темп думаю хитрый ход в обход аверов... Достойно брат
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх