Пишем скрытный Shellcode Loader на C++ [LLVM IR Обфускация]

9 подписчиков

12+
12+

3 просмотра

20 дней назад

ПожаловатьсяНарушение авторских прав

9 подписчиков

12+
12+

3 просмотра

20 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

20 дней назад

🔥 Исходный код проекта на GitHub: https://github.com/Elikon0106/C-loader-LLVM- ⚠️ ВНИМАНИЕ / DISCLAIMER: Данное видео носит исключительно образовательный характер (Educational Purposes Only). Все действия демонстрируются в изолированной лабораторной среде на собственных устройствах автора. Цель ролика — разбор работы компиляторов, промежуточного представления (LLVM IR) и внутренних механизмов безопасности Windows API. Автор не поддерживает и не пропагандирует вредоносную деятельность. Любые незаконные действия преследуются по закону. Разработка качественного инструментария для тестирования на проникновение (Red Teaming) давно вышла за рамки обычного написания кода. Сегодня ключевое противостояние между исследователями безопасности и системами защиты (AV/EDR) разворачивается на уровне работы компиляторов. В этом видео мы детально разберем, почему стандартные лоадеры на Go и Python могут обходить базовую эвристику, и как перенос аналогичной логики на C++ делает программу уязвимой для статического анализа из-за Таблицы импорта (IAT). Главная фишка ролика — создание кастомного конвейера сборки! Мы перенесем логику на чистый Си/C++, внедрим динамическое разрешение функций (GetProcAddress) и потоковое дешифрование XOR в оперативной памяти с флагом INTERNET_FLAG_NO_CACHE_WRITE (чтобы полностью исключить появление файлов в INetCache на диске). Затем мы пошагово пропустим этот код через цепочку пассов оптимизации LLVM (opt-21) и соберем скрытный бинарник прямо в Kali Linux с использованием флага -mwindows для скрытия консольного окна. Что внутри видео: - Введение: Почему Go/Python скрипты не детектируются, а чистый C++ вызывает триггеры AV? - Анализ проблемы: Таблица импорта (IAT) и как антивирусы сканируют кэш браузера (INetCache) - Разбор исходного кода на Си/C++: Динамическое разрешение API, скрытие функций и замена RWX-памяти - In-Memory дешифрование данных: Потоковый XOR и флаг INTERNET_FLAG_NO_CACHE_WRITE - Шаг 1 сборки: Трансляция кода в промежуточное представление LLVM IR (.ll) через clang++-21 - Шаг 2 сборки (Первый пасс opt-21): Оптимизация графа потока управления (simplifycfg, loop-simplify, lcssa) - Шаг 3 сборки (Второй пасс opt-21): Глубокая перестройка инструкций (instcombine, reassociate, GVN) - Финальная кросс-компиляция в Kali Linux: Линковка wininet, флаг -static и скрытие консоли через -mwindows - Тестирование готового loader_base.exe на Windows и проверка логов веб-сервера Ссылки из видео и полезные ресурсы: 📌 Ссылка на репозиторий с кодом: https://github.com/Elikon0106/C-loader-LLVM- 📌 Документация Microsoft по WinINet: https://learn.microsoft.com/en-us/windows/win32/wininet/portal 📌 Официальный сайт проекта LLVM: https://llvm.org/ 💬 Обязательно делитесь своим мнением в комментариях: использовали ли вы пассы LLVM для обфускации графа управления, и какие техники сокрытия памяти сейчас работают лучше всего в ваших тестах? Подписывайтесь на канал, ставьте лайк и включайте колокольчик, чтобы не пропустить новые разборы системного программирования и Offensive Security! #LLVM #WinAPI #RedTeam #Cpp #ИнформационнаяБезопасность #ОбходАнтивируса #Clang #Программирование #Сети #КалиЛинукс

Название:

Пишем скрытный Shellcode Loader на C++ [LLVM IR Обфускация]

Категория:

Разное