Сейчас на форуме: vsv1, NIKOLA, r0lka, johnniewalker (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Дамп файла под NSIS с шеллкодом
Посл.ответ Сообщение

Ранг: 5.3 (гость)
Активность: 0.01=0.01
Статус: Участник

Создано: 22 декабря 2019 00:32 · Поправил: Makashka
· Личное сообщение · #1

Здравствуйте.
Прошу помощи в дампе (распаковки файла). Сразу предупреждаю, что файл является вирусов Razy (так что все мероприятия на виртуалке)
Файл представляет из себя NSIS запакованный установщик, который ремапит сам себя.
Файл запускается, затем распаковывается шифрованный файл с именем 96788936 в Temp папку системы. (прикладываю в архиве)
Там хранится по моим предположениям шеллкод.
Далее, софт перезапускает сам себя и мапит туда шеллкод, который уже выполняет сам функционал.
Проблема в том, что не могу сдампить файл уже который несет в себе функционал. Дохожу до нужного модуля (после ремапом и подобного), дамплю файл и пытаюсь с помощью Scylla Importer восстановить IAT у файла.
Но Scylla пишет, что IAT не находится по OEP и следовательно восстанавливает импорты не все. Следовательно, после дампа и частичного восстановления файл не валидный (IDA не видит часть функционала, x64 не отлаживает потом этот файл)
Все действия проводятся на Windows 10 x64 + x64dbg (plugin Scylla и dbgchild, т.к создает и ремапит себя в новый созданный процес, нужно сразу начать загнать в отладчик новый файл)
Вроде как x64dbg находит EntryPoint (ищу ее через modularinstaller:EntryPoint). Но не уверен, что она верная, потому что поставил breakpoint и отрабатывает какой-то другой код до того, как перейдет к этой точке входа)
Задача: просто помочь сдампить правильный файл, чтобы потом его можно было загнать в IDA для анализа.

Что делаю:
Загрузил файл в x64dbg. Затем поставил breakpoints на список функций:
CreateProcessA
CreateProcessW
CreateProcessInternalA
CreateProcessInternalW
CreateProcessAsUserA
CreateProcessAsUserW
В один момент срабатывает CreateProcessW и создается новый процесс. В этот момент отрабатывает dbgchild. Но т.к процесс еще не проинициализирован, то новое окно отладчика не запустилось.
После подгрузки нескольких системных .dll создается новое окно x64dbg и останавливается все на шаге:
77C7867A | EB 07 | jmp ntdll.77C78683

Далее пробую сделать дамп файла. Для этого ищу точку входа (modularinstaller:EntryPoint). Выдает результат:
0040320C | 31C5 | xor ebp,eax

Далее иду в Scylla и делаю дамп, но выдает такое:
Imagebase: 77BD0000 Size: 00190000 EntryPoint: 00000000
IAT Search Adv: Found 239 (0xEF) possible IAT entries.
IAT Search Adv: Possible IAT first 0058A000 last 0058A3DC entry.
IAT Search Adv: IAT VA 0058A000 RVA 889BA000 Size 0x03E0 (992)
IAT Search Nor: IAT not found at OEP 0040320C!
IAT parsing finished, found 239 valid APIs, missed 1 APIs
DIRECT IMPORTS - Found 0 possible direct imports with 0 unique APIs!
WARNING! IAT is not inside the PE image, requires rebasing!
Скрин: https://prnt.sc/qe3jvi

Есть подозрения, что это не верная точка входа. Пробовал поискать сам, наткнулся по моим подозрениям на точку такую:
004CD0C0 | 55 | push ebp
Но там подобная картина при попытке сделать фикс импортов и дамп.

В общем, не могу найти
Помогите пожалуйста.

Ссылка: http://wdfiles.ru/6j52
пароль: infected



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 22 декабря 2019 05:08
· Личное сообщение · #2

Для подобных вопросов есть отдельная тема --> Запросы на исследование вирусов <--

| Сообщение посчитали полезным: difexacaw

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 22 декабря 2019 05:27
· Личное сообщение · #3

Makashka пишет:
вирусов Razy, шеллкод

Настоящий Razy с js/браузерами заморачивается. Не проще посмотреть сразу по путям к браузерам, куда он прописывает extensions.



Ранг: 5.3 (гость)
Активность: 0.01=0.01
Статус: Участник

Создано: 22 декабря 2019 13:20
· Личное сообщение · #4

VOLKOFF пишет:
Для подобных вопросов есть отдельная тема --> Запросы на исследование вирусов <--

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

ELF_7719116 пишет:
Настоящий Razy с js/браузерами заморачивается. Не проще посмотреть сразу по путям к браузерам, куда он прописывает extensions.

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 22 декабря 2019 17:27
· Личное сообщение · #5

Makashka пишет:
именно просто распакованный файл

Обычно оно ещё несколько раз анпакает из себя через динамическое выделение памяти, payload где-то в конце цепочки будет валяться. Остальное - трешевые обвертки, разбирать которые смысла нет. Сэмпл не смотрел, но полагаю проще поиски с конца начать, когда он начнет выгружать extensions.

| Сообщение посчитали полезным: difexacaw


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 22 декабря 2019 21:37
· Личное сообщение · #6

ELF_7719116

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

-----
vx




Ранг: 5.3 (гость)
Активность: 0.01=0.01
Статус: Участник

Создано: 22 декабря 2019 22:25
· Личное сообщение · #7

ELF_7719116 пишет:
Обычно оно ещё несколько раз анпакает из себя через динамическое выделение памяти, payload где-то в конце цепочки будет валяться. Остальное - трешевые обвертки, разбирать которые смысла нет. Сэмпл не смотрел, но полагаю проще поиски с конца начать, когда он начнет выгружать extensions.

Но если хочется загнать потом файл в IDA и посмотреть более детально с декомпилятором конкретные функции, то делать это через отладчик будет не так удобно, проделывая все те шаги пока доберешься до нужного функционала.
Поэтому и думаю, что в идеале дампнуть уже готовый файл (файл, который после ремапов), пофиксить его и анализировать в комплексе все, а не бегать по отладчику и отлавливать все моменты.
Или я ошибаюсь и можно сделать проще?
Или может после того, как будет выполняться уже работа с extensions дампнуть его? Но опять таки, проблема поиска точки входа, дампа и фикса бинарника (восстановление импорта) остается открытый, ведь это и не получается сделать



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 22 декабря 2019 23:32 · Поправил: ELF_7719116
· Личное сообщение · #8

difexacaw
Прост это правило, котрое выработано при анализе ежедневного потока сэмплов, которые приходят в Лабораторию
Makashka пишет:
в идеале дампнуть уже готовый файл

Если это действительно Razy, то, навскидку, только extensions с js-скриптами из полезной нагрузки будут. Сам. exe - дроппер обычный, ничего выдающегося для ресерча там нет.



Ранг: 5.3 (гость)
Активность: 0.01=0.01
Статус: Участник

Создано: 22 декабря 2019 23:49
· Личное сообщение · #9

ELF_7719116 пишет:
Если это действительно Razy, то, навскидку, только extensions с js-скриптами из полезной нагрузки будут. Сам. exe - дроппер обычный, ничего выдающегося для ресерча там нет.

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 22 декабря 2019 23:56
· Личное сообщение · #10

ELF_7719116

> Прост это правило, котрое выработано при анализе ежедневного потока сэмплов

Спасибо за очень новую и познавательную инфу

-----
vx





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 23 декабря 2019 01:31
· Личное сообщение · #11

А подебажить никому что ль не судьба ?

Оверлей расшифровывается в память с помощью MSCryptoApi (CryptDecrypt),
AES (CBC)
ключ:30EB2E3C6A427758905FC5DE0C2AA3DE94FDA48C57E124E1EE98A3972C109E5D
вектор нулевой

https://dropmefiles.com/7LdOC
pass:infected

Makashka
Начало зашифрованного блока в оверлее сам найдешь )

Добавлено спустя 2 минуты
Залил на ВТ )
https://www.virustotal.com/gui/file/98a8733981dc5bc8dfc5b38c47201d44a04f59bb7a1a565d5c904fbf53c16ab6/detection

-----
ds


| Сообщение посчитали полезным: Makashka

Ранг: 5.3 (гость)
Активность: 0.01=0.01
Статус: Участник

Создано: 23 декабря 2019 16:24
· Личное сообщение · #12

DimitarSerg пишет:
Начало зашифрованного блока в оверлее сам найдешь )

Спасибо большое!
Все получилось и теперь в разы проще работать с файлом.


 eXeL@B —› Крэки, обсуждения —› Дамп файла под NSIS с шеллкодом
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати