
Некоторые из моих публично доступных материалов по анализу вредоносного ПО и реверс-инжинирингу.
Трассировка C-функции fopen [Часть 1] - IDA Free, пошаговое прохождение трассировки в пользовательском режиме до NTApi
Трассировка C-функции fopen [Часть 2] - Windbg, отладка ядра - прохождение из пользовательского режима до исполнительной подсистемы ядра
Злоупотребление внешними ссылками на ресурсы в MSOffice [часть 1] - TEMPLATE_INJECTION
Злоупотребление внешними ссылками на ресурсы в MSOffice [часть 2] - OLEOBJECT_INJECTION
[1] Анализ Lokibot - побеждаем GuLoader с помощью Windbg (отладка ядра) и Live C2
[2] Анализ Lokibot - спуфинг GULoader и C2 LokiBot [часть 1] - собственная реализация на Python
[2] Анализ Lokibot - спуфинг GULoader и C2 LokiBot [часть 2] - INetSim + BurpSuite
[3] Анализ Lokibot - реверс-инжиниринг, хеширование API, декодирование
Что такое COM и его функциональность, COM в реестре (инструменты - просмотрщики COM), COM «клиент-сервер» (использование COM-клиента через Powershell/.NET), реверс-инжиниринг COM-экземпляров и методов в IDA (структуры, типы, плагин ComIDA), интересный способ использования COM-метода в образце вредоносного ПО LokiBot
Некоторые заметки, советы и хитрости при реверс-инжиниринге образца вредоносного ПО, использующего статически импортированную библиотеку с открытым исходным кодом
Это видео представляет собой руководство по реверс-инжинирингу и созданию PoC-дешифратора на Python. В последней части видео я расскажу ещё об одном трюке: как динамически вызвать только процедуру дешифрования этого вымогателя напрямую из Powershell и получить все файлы расшифрованными.
Управляемый код против неуправляемого кода. Трудности при реверс-инжиниринге и отладке.
Один хороший пример - сам Powershell.
Видео охватывает деобфускацию последней версии SmartAssembly 8+ (коммерческого обфускатора для .NET) с помощью SAE (Simple-Assembly-Explorer) и воссоздание исходного модуля с помощью DnSpy. [Скачать образцы]
Образец, мой подготовленный аннотированный IDA IDB, образ Bochs: [Скачать-Пароль:infected]
Видео о реверс-инжиниринге .NET реализаций P/Invoke, D/Invoke и Dynamic P/Invoke, которые служат для вызова неуправляемого кода из управляемого. Охватывает инструмент Get-PDInvokeImports [Get-PDInvokeImports]
Глубокое погружение в реверс-инжиниринг APT29 C2-Client Dropbox Loader.
Для получения дополнительной информации - смотрите описание под видео.
Отладка процесса Powershell при отладке скриптов Powershell - перехват загрузки модулей (dnSpy)
Многопроцессная отладка в DnSpy
Работа с оптимизацией кода во время отладки .NET (когда и почему вы НЕ можете видеть Locals и ставить точки останова)
Окна Watch и Locals в dnSpy - преимущества обоих (просмотр полей, вызов выражений и т.д.)
Мои первые советы и хитрости, опубликованные в CPR @CPResearch - демонстрация практического использования IDA-Appcall, Dumpulator и чистого Unicorn Engine.
Получение максимума и полных аннотированных фрагментов кода.
Большое спасибо моим коллегам по команде @BenHerzog11235 и @a14xt, которые помогли сделать это круто.
В этом видео я проведу вас через деобфускацию .NET, охватывающую несколько захватывающих трюков и советов.
Мы будем использовать PowerShell и библиотеку dnlib.
Мы создадим универсальный деобфускатор строк для вредоносного ПО Eternity, которое использует своего рода пользовательскую обфускацию, не столь тривиальную на первый взгляд.
Глубокое погружение в реверс-инжиниринг Azov Ransomware - полиморфного вайпера, опубликовано в CPR @CPResearch - демонстрация не только основных технических моментов, но и множества интересных методов анти-анализа и обфускации кода.
Большое спасибо моим коллегам по команде @BenHerzog11235 и @megabeets_, которые помогли сделать это круто.
В этом видео я проведу вас через реверс-инжиниринг сборок в смешанном режиме.
Пример образца сборки в смешанном режиме: [Исходный код/бинарный файл]
Победа над dotRunpeX — новый виртуализированный инжектор .NET, злоупотребляющий продвинутыми техниками для доставки многочисленных семейств вредоносных программ.
Опубликовано в CPR @CPResearch
Раскрытие высокопродвинутого, молниеносно быстрого и легко настраиваемого вымогателя Rorschach. Из-за обфускации и защиты (кастомный упаковщик в стиле UPX, VMProtect и т.д.), а также способа его развёртывания, процесс реверс-инжиниринга был настоящей головоломкой.
Опубликовано в CPR @CPResearch
В этом видео я объясню, как работает функция IDA - Memory Snapshot, какие в настоящее время доступны опции и каковы преимущества их использования. Мы будем использовать создание снимков памяти IDA на практическом примере распаковки вредоносного ПО Amadey со всеми предварительными стадиями шеллкода.
В последнем разделе я расскажу, что такое внутренняя C++ функция _Initterm, как она используется в образце Amadey и как вредоносное ПО может злоупотреблять ею для выполнения кода до достижения метода "main". В некоторых случаях (когда мы перехватываем поток выполнения) эту технику можно назвать отравлением таблицы функций _Initterm.
Углублённый анализ нового штамма вредоносного ПО по имени BundleBot, распространяющегося незамеченным. BundleBot злоупотребляет форматом dotnet bundle (однофайловым) с автономным развёртыванием, что приводит к очень низкому или полному отсутствию статического обнаружения.
Раскрытие нескольких техник, которые оказались эффективными для реверс-инжиниринга dotnet bundle (однофайлового) формата с автономным развёртыванием.
Опубликовано в CPR @CPResearch
Представление нового метода выполнения скрытого внедрённого кода в скомпилированных в ReadyToRun (R2R) .NET-бинарных файлах — R2R stomping.
Опубликовано в CPR @CPResearch
Введение в управляемый хукинг .NET с использованием библиотеки Harmony.
Практический пример использования хукинга Harmony для обхода печально известного обфускатора "ConfuserEx2" приводит к созданию инструмента "ConfuserEx2_String_Decryptor". Раскрытие изящного трюка: как совместить отладку и хукинг с помощью библиотеки Harmony (хукинг Harmony из контекста отладки dnSpyEx).
Опубликовано в CPR @CPResearch
Инструменты, использованные в видео: [GitHub - ConfuserEx2_String_Decryptor]
Раскрытие растущего злоупотребления продуктами BoxedApp для упаковки и развёртывания известных угроз.
Углублённый анализ внутренностей BoxedApp с акцентом на результирующие структуры упакованных бинарных файлов и Yara-сигнатуры, которые можно использовать для статического обнаружения используемого упаковщика, различая при этом сам продукт.
Опубликовано в CPR @CPResearch