• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Статья New lummac2 reverse #1

stihl

Moderator
Регистрация
09.02.2012
Сообщения
1,167
Розыгрыши
0
Реакции
508
Deposit
0.228 BTC
stihl не предоставил(а) никакой дополнительной информации.
сидел себе смотрел на семплы с malwarebazaar-а и вижу, что последний добавленный семпл является представителем семьи Lumma стиллеров
и подумал - а почему бы и нет?
семпл имеет 27/71 на момент написания статьи
скачал семпл, malwarebazaar уже пометил его меткой tag:STEALER и family:LUMMASTEALER( bazaar.abuse.ch/sample/bac52ffc8072893ff26cdbf1df1ecbcbb1762ded80249d3c9d420f62ed0dc202/ ) , но app.any.run все еще не видит ничего кроме stealer(похоже, что еще не обновили БД)
так-же на app.any.run вижу следующую активность со стороны стиллера -
1752089518805.png
(bac52ffc8072893ff26cdbf1df1ecbcbb1762ded80249d3c9d420f62ed0dc202)
Если честно - не вижу даже смысла разбирать сам дроппер - тут все как обычно.
Семпл спавнит замороженный rundll32.exe и потом холловит его exeшкой луммы, отлавливается это дело при помощи условного system informer-а и бряка на Wow64GetThreadContext - к моменту когда оно брякнется, то в памяти захоловленного rundll32 будет лежать Read-Write-Execute память, в которой можно будет увидеть следующую картину:
1752089527572.png
Дампим....
После того, как я сдампил из памяти захоловленного rundll32.exe 32ух битную ехе стиллера мне захотелось посмотреть на строки, видим следующую картину:
1752089541633.png
по строкам parse_error можно с точностью сказать, что в стиллере присутствует JSON либка...
виднеется очень потужный антидебаг / анти-анализ
Код:
 0x4154b5 | 0xfeff5b23      | 0x30c        | ollydbg.exe
0x419fb4 | 0x41be6a        | 0x498        | JohnDoe
0x41a1db | 0x460fb0        | 0x6c          | avghookx.dll
0x41a1db | 0x460fb0        | 0x69          | Wookx.dll
Так как ехе пакнут, а я хочу еще посмотреть его в иде, то снова запускаем виртуалку, стартуем билд стиллера в дебаггере...
Раскидываю дефолтные бряки на следующие функции -> RaiseException,GetProcAddress,LoadLibrary,MessageBoxA,MessageBoxW, ExitProcess...
И вижу следующую картину при нажатии кнопки Run:
Люмма вызывает GetProcAddress пытаясь получить следующие функции: LdrLoadDll, LdrGetDllHandle, LdrGetProcedureAddress;
LdrLoadDll как замена LoadLibrary(для более скрытного лоада дллок)
LdrGetDllHandle как замена GetModuleHandle
LdrGetProcedureAddress как замена GetProcAddress
Потом грузятся следующие длл: psapi.dll, imagehlp.dll...
после чего пошла уже пробежка по APIшкам которые использует стиллер, они грузятся через LdrGetProcedureAddress
Вот те апи, которые я смог увидеть:
Код:
LdrGetProcedureAddress ->>
    GetWindowTextLengthW
    GetComputerNameW
    GetSystemDefaultLCID
    GetWindowTextW
    CreateToolhelp32Snapshot
    GetUserDefaultLCID
    GlobalMemoryStatusEx
    NtClose
    CloseHandle
    WinExec
    RegisterClassW
    GetModuleHandleA
    MessageBoxW
    NtSetContextThread
    DefWindowProcW
    CreateWindowExW
    MapFileAndCheckSumW
    GetSysColorBrush
    GetModuleFileNameA
    TranslateMessage
    DispatchMessageW
    WideCharToMultiByte
    GetFileSizeEx
    GetSystemMetrics
    GetTickCount
    GetDesktopWindow
    DestroyWindow
    CreateFileA
    SetWindowTextW
    NtCreateDebugObject
    GetLocaleInfoA
    Process32FirstW
    PostQuitMessage
    NtGetContextThread
    GetLastInputInfo
    MultiByteToWideChar
    GetModuleFileNameW
    ExitProcess
    GetUserNameW
    GetForegroundWindow
    NtQueryObject
    GetMessageW
    EnumProcesses
    GetSystemInfo
    Sleep
    GetWindowRect
    Process32NextW
Сразу можно увидеть, что при какой-либо ошибке, люмма завершит свой процесс через ExitProcess.
Я все еще хочу проанализировать данный билд через ИДУ, по этому я сейчас добегу до ближайшего ExitProcess-а и просто сдамплю ехе уже со всеми импортами через Scylla
На выходе получаю названный мной lol.exe, фиксшу дамп, PE и прочее
1752089559831.png
гружу уже это в иду и вижу следующую картину:
1752089564922.png
152 импорта, 1 экспорт(main), 1332 строки на весь файл, хотя строк сверху все еще не видно...
удостоверяюсь в том, что я правильно сдампил билд открывая случайную функцию с вызовом импорта:
1752089575591.png
так-же наблюдаем в билде самый обычный xorstr с гитхаба:
1752089583410.png
Но из-за того, что файл пакнут LLVM морфером проку от анализа в статике будет мало..
По этому, запускаем виртуалку с дебаггером снова и идем смотреть в рантайме на то, что смотрели только что в иде
Первой пробемой является проверка чексуммы путем вызова апи MapFileAndCheckSumW, пропатчить ее не так уж и сложно
После того, как мы пробежали чексумму, то нас встречает уже другое окно:
1752089592560.png
Ввожу то, что от меня требует стиллак и окно закрывается, а экзекуция продолжается
Бежим дальше и встречаем вот это -
1752089599603.png
RU,AZ,AM,AB,BY,GE,KZ,KG,MD,TJ,TM,UA,UZ,LT,LV,EE
оставлю эту ссылку тут, на нее стучит этот билд - Для просмотра ссылки Войди или Зарегистрируйся
1752089615558.png
постараюсь чтобы вторая часть с анализом уже по существу вышла завтра тк эта уже затянулась, но не похоже, что тут будет что-то особенно интересное :/
 
Activity
So far there's no one here
Сверху Снизу