Разработка малвари. Уроки

Малварь как искусство Фреймворк для тестирования антивирусов

  • 2 243
  • 12
1701614939222.png


Всем привет!

Изначально какой-то такой проект хотел выложить на конкурс проектов xss.is.

Но потом подумал, что все ожидают что-то, что можно использовать в комерсе, а тут просто исследование, но тем не менее может-быть интересно всем.)

Итак, основная цель любого вредоносного кода, это скрытие своих действий что-бы избежать детект.

Давайте подумаем что вирусописатель может сейчас сделать в ограниченной среде (Usermode), не будем брать в расчет эксплуатацию уязвимостей и возможность запуска например своих вредоносных драйверов, руткитов и т.д.

Мы в юзермоде и вырваться не можем от туда, в данной статье рассматривается такая среда.

Итак что мы можем сделать в своём зверьке ?


1)Скрытие от статического анализа:

Ну тут самое первое что можно сделать, скрыть все возможно подозрительные API винды, который использует зверёк.
Как варианты, это отключение CRT, хеширование функций и вызов их по хешу, хеширование...

[Книга] Введение в разработку вредоносных программ

  • 1 819
  • 4
1697051652223.png


Причина создания этой книги статей по разработки скрытия вредоносных программ от средств защиты.

Я достаточно долго вёл форум ru-sfera.pw (ru-sfera.org), но в 2021 году решил его удалить, в силу понятных мне причин.

Но в конце 2022 года решил возобновить работу форума, потом я понял что на форуме есть достаточно много информации по созданию и скрытию вредоносных программ.

Я задумался, что не плохо-бы создать разделы с актуальным материалом и случайно обнаружил что есть курс maldev.

Посмотрев этот курс: Малварь как искусство - Курс по MalDev [PDF]

Который стоит кстати около 300 баксов, понял что 80% описанного там есть на форуме.)

Да может что-то устарело и что-то тяжело найти, но в целом информация видимо актуальная.

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

В итоге появился раздел...

ВАЖНО Введение в разработку вредоносных программ (Оглавление)

  • 2 385
  • 2
В этой теме список статей по разработки малвари.

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








[URL...

На заметку Mangle - Тулза для обхода антивирусов

  • 905
  • 0
1708702621492.png


Mangle - это инструмент, который манипулирует аспектами скомпилированных исполняемых файлов (.exe или DLL). Mangle может удалять известные строки, свидетельствующие о компрометации (IoC), и заменять их случайными символами, изменять файл, увеличивая его размер, чтобы избежать обнаружения EDR, а также может клонировать сертификаты кодирования подписи из подлинных файлов.

Таким образом, Mangle помогает обходить антивирусные сканеры на диске и в памяти.

Код:
./mangle -h

       _____                        .__
      /     \ _____    ____    ____ |  |   ____
     /  \ /  \\__  \  /    \  / ___\|  | _/ __ \
    /    Y    \/ __ \|   |  \/ /_/  >  |_\  ___/
    \____|__  (____  /___|  /\___  /|____/\___  >
        \/     \/     \//_____/         \/
                    (@Tyl0us)

Использование ./Mangle:
  -C string
        Путь к файлу, содержащему сертификат, который вы хотите клонировать
  -I string
        Путь к...

Малварь как искусство Опять обходим антивирусы и EDR

  • 695
  • 0
1707738979550.png


В качестве продолжения этих статей:



Оригинал:

Для нашей ежегодной внутренней хакерской конференции, которую мы назвали SenseCon в 2023 году, я решил изучить взаимодействие между драйвером Windows и его процессом в пользовательском режиме.

Вот некоторые подробности об этом путешествии:

Атакующие могут использовать примитив эксплойта чтения/записи ядра Windows, чтобы избежать взаимодействия между EDR_Driver.sys и его EDR_process.exe. В результате некоторые механизмы обнаружения EDR будут отключены, что сделает его...

Малварь как искусство Уклоняемся от поведенческого детекта антивируса и EDR

  • 764
  • 0
1707574181719.png


Всем привет!

В этой статье была рассмотрена как архитектурно может работать EDR:Малварь как искусство - Архитектура антивирусов и EDR - систем
Рекомендую прочитать вначале статью выше.

В продолжение давайте поисследуем как можно обойти детект связанный с поведением на конкретном устройстве:

Вообще тут существуют два варианта обхода:

1)Использовать антихуки в своём приложении, этот метод относительно простой и описан уже здесь:Уроки - Разработка вирусов-32.Открываем врата ада
Или вот ещё проект:Малварь как искусство - Фреймворк для тестирования антивирусов

Но данный метод не позволяет 100% обойти защиту, т.к. многие AV используют коллбэки и...

Малварь как искусство Архитектура антивирусов и EDR - систем

  • 966
  • 6
1706874098041.png


Перевод статьи:

Кратко: Я хотел лучше понять EDR (Endpoint Detection and Response), поэтому создал (dummy EDR) и расскажу об этом здесь.

EDR (Endpoint Detection and Response)
- это вид продукта безопасности, который направлен на обнаружение аномальной активности на компьютере или сервере.
Ища ресурсы по работе EDR, я понял, что даже если существует много литературы о EDR, нет многих статей, объясняющих архитектуру EDR и как оркестрируются различные компоненты EDR. Эта статья призвана развенчать мифы о том, как работают EDR, создавая настраиваемый вариант, внедряющий несколько техник, используемых в реальных EDR.

Глава 1. История вирусов


Сначала мы рассмотрим историю...

Уроки Обход AMSI при помощи хардварных точек останова

  • 1 083
  • 0
1698588606962.png


AMSI (Antimalware Scan Interface) — это интерфейс, предоставляемый Microsoft, который позволяет приложениям и службам отправлять данные на сканирование антивирусными решениями, установленными на системе. С AMSI разработчики могут лучше интегрироваться с антивирусными решениями и обеспечивать более высокий уровень безопасности для своих пользователей.

Обход AMSI с использованием хардверных брейкпоинтов:

Хардверные точки останова — это механизм, который позволяет отладчикам "останавливать" выполнение программы при обращении к определенной области памяти. Это может быть полезно при исследовании, как программа или система взаимодействует с конкретными данными.

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

На заметку Про детект в памяти. Ничего не поделаешь и это неизбежно)

  • 911
  • 3
Всем привет!

Хотел ещё добавить:

Вот в этой теме:Уроки - Разработка вирусов-35.Обход EDRs.Последняя тема цикла

Был поднят вопрос детекта памяти, да можно использовать такие штуки:Уроки - Разработка вирусов-32.Открываем врата ада

Но тем не менее важно что-бы сама нагрузка тоже не палилась, в теме про EDR про это сказано.

Также неплохо, при проектировании вашего основного зверька или полезной нагрузки учитывать методы антиотладки и морфинга самой полезной нагрузки.

Это можно делать прям в памяти, перед запуском, вот например я использовал такой механизм в крипторе:

На вход подаётся бинарный код, на выходе по...

Уроки Разработка вирусов-35.Обход EDRs.Последняя тема цикла

  • 576
  • 1
1696774647348.png


Эта статья будет последняя в этом цикле.

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

Далее ещё планирую оформить это в pdf книги.

Надеюсь эти статьи кому-то покажутся интересным и сразу извиняюсь за их качества, хотя вероятно направления какое-то они могут дать. Dmeh-Smeh-Smeh!!! :sueta:(bug)bug!!!

Введение

Endpoint Detection and Response (EDR) — это решение безопасности, которое обнаруживает и реагирует на угрозы вроде вымогательского ПО и вредоносного программного обеспечения. Его работа основана на постоянном мониторинге конечных точек в поисках подозрительной активности путем сбора данных о таких событиях, как системные журналы, сетевой трафик, межпроцессное взаимодействие (IPC), вызовы RPC, попытки аутентификации и активность пользователя.

Установив EDR на конечные точки, вы будете собирать данные, которые затем будут анализироваться и коррелироваться для...

Уроки Разработка вирусов-34.Обход Windows defender

  • 995
  • 6
1696762195469.png


Введение

До сих пор было продемонстрировано множество методов и техник создания и выполнения загрузчика payload, который может обходить различные программы защиты от вредоносного кода. Эта статья будет работать над созданием полнофункционального загрузчика payload с нуля, чтобы укрепить знания, полученные в предыдущих разделах.

Создайте пустой проект Visual Studio и следуйте за этим разделом.

Характеристики загрузчика payload

Реализованный загрузчик payload будет иметь следующие характеристики:

- Поддержка удаленного внедрения кода
- Инжекция с использованием прямых системных вызовов через Hell's Gate
- Хеширование API
- Функции против анализа
- Шифрование payload RC4
- Попытка взлома ключа шифрования (Брут ключа шифрования)
- Отсутствие импорта библиотек CRT

Настройка Hell's Gate

Этот загрузчик использует внедрение payload с использованием прямых системных вызовов, полученных с помощью Hell's...

Уроки Разработка вирусов-33.Уменьшение вероятности детекта зверька

  • 647
  • 0
В общем в рамках этого цикла думаю осталось две статьи, эта статья закончит теорию.

А две другие будут практика, где мы попробуем использовать полученные знания для обхода Windows defender.

Далее если у меня будет силы и время, попробую оформить эти статьи в pdf книге.

Итак теперь по теме...

Уменьшение бинарной энтропии

Введение


Энтропия относится к степени случайности в предоставленном наборе данных. Существует различные типы мер энтропии, такие как энтропия Гиббса, энтропия Больцмана и энтропия Реньи. Однако в контексте кибербезопасности термин "энтропия" обычно относится к Энтропии Шеннона, которая выдает значение от 0 до 8. С увеличением уровня случайности в наборе данных увеличивается и значение энтропии.

Бинарные файлы вредоносных программ обычно имеют более высокое значение энтропии по сравнению с обычными файлами. Высокая энтропия, как правило, является индикатором сжатых, зашифрованных или упакованных данных, которые часто используются вредоносными...

Уроки Разработка вирусов-32.Открываем врата ада

  • 879
  • 2
1696695222815.png


В этих темах:


Мы обсуждали прямые системные вызовы для обхода хуков и детекта по поведению.

Мы там использовали вспомогательный инструмент Hell's Gate, предлагаю в этой статье модифицировать этот инструмент, что-бы избежать детект на сам инструмент.)

Обновления сделают реализацию более настраиваемой и, следовательно, более скрытной и уменьшат вероятность обнаружения на основе сигнатур. Кроме того, обновленный код изменит способ получения SSN системного вызова, используя

Если вам нужно восстановить информацию о первоначальной реализации Hell's Gate, посетите репозиторий...

Уроки Разработка вирусов-31.Обход виртуальных машин

  • 488
  • 0
1696685870930.png


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

Антивиртуализация через характеристики аппаратного обеспечения

В общем случае виртуализированные среды не имеют полного доступа к аппаратному обеспечению хост-машины. Отсутствие полного доступа к аппаратуре может быть использовано вредоносным программным обеспечением для определения, выполняется ли оно внутри виртуальной среды или песочницы. Учитывайте, что не существует гарантии полной точности, потому что машина может просто выполняться с низкими характеристиками аппаратного обеспечения. Проверяемые характеристики аппаратного обеспечения следующие:
  1. Центральный процессор (CPU) - проверка наличия менее чем 2 процессоров.
  2. Оперативная память (RAM) - проверка наличия менее чем 2 гигабайтов.
  3. Количество ранее подключенных устройств USB - проверка наличия менее чем 2...

Уроки Разработка вирусов-30.Черпаем силы в антиотладке

  • 573
  • 0
1696439834501.png


Техники антианализа - это методы, предотвращающие деятельность специалистов по безопасности (например, команды blue team) по расследованию вредоносного ПО и поиску статических или динамических сигнатур и IoC. Поскольку эта информация используется для обнаружения образца, когда он вновь обнаруживается в среде.

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

С другой стороны, организации с меньшим бюджетом на безопасность будут больше полагаться на автоматизированные инструменты, и поэтому техники антианализа могут быть более эффективными в достижении своей цели.

Рассмотрим инструменты анализа вредоносных...

ВАЖНО Важная тема по созданию payload и shell code

  • 1 454
  • 0
1696227945643.png


В цикле статей этого раздела:Введение в разработку вредоносных программ мы все озабочены как скрыть полезную нагрузку, как обойти антивирус и т.д.

Все говорят про какую-то полезную нагрузку, вредоносный код и т.д.

Но никто не сказал, что-это вообще такое, где эту нагрузку можно взять, как её генерировать и т.д.

Давайте попробуем разобраться, вероятно с этого и надо-было начать цикл статей.Dmeh-Smeh-Smeh!!!

Итак:

Что такое сшелл-код?

Сшелл-код (Он-же Payload) – это набор инструкций машинного кода, который может быть выполнен при внедрении в другой процесс. Он часто используется в эксплойтах для получения контроля над системой.

Как его создать, простой метод, для понимания:

Вот неплохая статья для понимания:Малварь как искусство...

Уроки Разработка вирусов-29. Предельная техника-2. Практика. Реализуем техники инъекции через сисколы

  • 427
  • 0
1696164820436.png


В прошлой статье:Уроки - Разработка вирусов-28. Предельная техника. Разборка с сисколами мы разобрали теорию.

Давайте теперь переделаем техники:




С использованием косвенного вызова сискола, это поможет обойти большинство средств защиты.)

Также это может послужить примером, как делать такие программы и вы можете уже сами реализовывать такие штуки в своих программах.)))

Итак начнем:

1)Переписываем технику...

Уроки Разработка вирусов-28. Предельная техника. Разборка с сисколами

  • 845
  • 0
1696154850638.png


Что такое системные вызовы (Syscalls)

Системные вызовы Windows или syscalls служат интерфейсом для взаимодействия программ с системой, позволяя им запрашивать определенные услуги, такие как чтение или запись в файл, создание нового процесса или выделение памяти.

Помните из вводных модулей, что syscalls - это API, которые выполняют действия, когда вызывается функция WinAPI. Например, системный вызов NtAllocateVirtualMemory активируется при вызове функций WinAPI VirtualAlloc или VirtualAllocEx. Затем этот системный вызов перемещает параметры, предоставленные пользователем в предыдущем вызове функции, в ядро Windows, выполняет запрошенное действие и возвращает результат программе.

Все системные вызовы возвращают значение NTSTATUS, которое указывает код ошибки. STATUS_SUCCESS (ноль) возвращается, если системный вызов успешно выполняет операцию.

Большинство системных вызовов не документированы Microsoft, поэтому...

Уроки Разработка вирусов-27.Кунгфу-2.Изучаем API Hooking

  • 700
  • 0
1696085295787.png


Введение

API Hooking — это техника, используемая для перехвата и изменения поведения функции API. Она часто используется для отладки, обратного проектирования и взлома игр.
API Hooking позволяет заменять оригинальную реализацию функции API собственной версией, которая выполняет некоторые дополнительные действия до или после вызова оригинальной функции. Это позволяет изменять поведение программы без изменения её исходного кода.

Трамплины

Классический способ реализации API-хуков осуществляется с помощью трамплинов.
Трамплин — это шеллкод, который используется для изменения пути выполнения кода путем перехода на другой конкретный адрес в адресном пространстве процесса. Шеллкод трамплина вставляется в начало функции, в результате чего функция становится "подцепленной". Когда вызывается подцепленная функция, вместо нее активируется шеллкод трамплина, и поток выполнения передается и изменяется на другой адрес, что приводит к...

Уроки Разработка вирусов-26. Изучаем кунгфу-1. Скрытие таблицы импорта

  • 1 076
  • 5
1696070496950.png


Таблица импортных адресов (IAT) содержит информацию о файле PE, такую как используемые функции и DLL, экспортирующие их. Этот тип информации может быть использован для создания сигнатуры и обнаружения двоичного кода.

Например, изображение ниже показывает таблицу импортных адресов примера инъекции шелл-кода.
Файл PE импортирует функции, которые считаются высоко подозрительными. Решения безопасности могут затем использовать эту информацию для детекта.

1696070440518.png


Сокрытие и обфускация IAT - Метод 1

Чтобы скрыть функции от IAT, можно использовать GetProcAddress, GetModuleHandle или LoadLibrary для динамической загрузки этих функций во время выполнения. Приведенный ниже фрагмент загрузит VirtualAllocEx динамически, и поэтому он не появится в IAT при проверке.

C:
typedef LPVOID (WINAPI* fnVirtualAllocEx)(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD...
Верх Низ