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

Как лучше генерировать ресурсы?

secflag

RAID-массив
Пользователь
Регистрация
29.01.2020
Сообщения
51
Реакции
10
Есть LoadPE со всем функционалом, который косит под легитимное ПО.
Читал здесь на иксах, что надо копировать ресурсы, VersionInfo и прочие сигнатуры с официальных приложений ( по типу различных установщиков, системных софтов итд), т.е. максимальная мимикрия
Но, есть ли смысл это делать? Можно генерировать свои ресурсы в разных объемах, но не копировать с других софтов. Или так будет хуже?

p. s. Хотел бы призвать мнения от Octavian и arsarsov
 
Ну раз уж призвали, отвечу))

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

Совокупность понимания этих двух комплексных тем поможет добиться нужного результата.
Освещение деталей этих тем это оч объемный процесс, думаю проще, если отвечу на какие то конкретные вопросы или по возможности адресую к мат части.
 
Ну раз уж призвали, отвечу))

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

Совокупность понимания этих двух комплексных тем поможет добиться нужного результата.
Освещение деталей этих тем это оч объемный процесс, думаю проще, если отвечу на какие то конкретные вопросы или по возможности адресую к мат части.
Извини заранее за может глупый вопрос. А есть книги где все это хорошо расписанно? Может если не сложно написать какие книги прочитать или все это приходит с опытом?
 
По идее тут нужен комплексный ответ, возможно я или кто-то из мемберов смогут позже дополнить.

1. Как организованы бинарики разных типов (разные архитектуры, компиляторы, линкеры, рантаймлибы, энтропия, статистические признаки, ресурсы, импорт, код, опкоды, секции):
Изучайте PE формат, это сложная многомерная структура, если окунуться вглубь и достаточно простая, если посмотреть в общем.
Базово: Заголовки, Секции, Ресурсы, Директории, ImageBase, Точка входа, Таблица импорта, экспорта.

Просмотр секций, заголовков: PeTools, PEiD.

Когда поймете базу, можно заряжать бинарики и пробовать проводить с ними эксперементы в либе, например https://github.com/BackupGGCode/portable-executable-library.

2. Ресурсы PE файла: проще всего пойти от практики.
Берем ResHack или Restorator, идем в system32 и поочередно открываем их и смотрим, что в них лежит.
Базово это версия файла, манифест, иконка. Хранится всё это дедо в секции .rsrc.

3. Опкоды, асм, дизассембер. Заряжаем бинарики в Иду\x64dbg\BinaryNinja и смотрим как выглядит код в виде ассемблера, в хексе и на уровне псевдокода.
Изучаем статистику опкод, таких как add, sub, mul, div, mov, lea, cmp, условные и безусловные операторы перехода.
Это базовые кирпичики строения секции кода бинарного файла.

4. Идет вглубь и знакомимся с понятиями энтропии, распределению и статистики байт, Chi квадрат.
Энтропия измеряется как для всего файла так и отдельно для секций и ресурсов.
Как раз от того, как используется распределение хранимых данных в бинарики, сильно влияет детект.

5. Как работают механизмы аверских эвристиков и репутационные движки: Гуглим что такое эмуляция avvm, виртуальная машина ав, песочница (sandbox). Изучаем что такое репутация файла, что такое хэши четкие и нечеткие начиная от базовых SHA2, SHA256, MD5 и заканчивая IMPHASH, EXPHASH, SSDEEP и т.д.

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


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