Перейти к содержимому
Максиметер

🎭 Как спрятать shellcode от антивируса: XOR-полиморфизм и reverse shell на чистом ARM64

🎭 Как спрятать shellcode от антивируса: XOR-полиморфизм и reverse shell на чистом ARM64 Продолжаю цикл про ассемблер на голом железе. В прошлый раз поднимали шелл 40 байтами - сегодня прячем его от сигнатур и учим стучаться наружу самостоятельно 💣 Проблема: сигнатуры 🔍 Любой shellcode, который вы скачаете из интернета, антивирус знает в лицо. Фиксированная последовательность байт = сигнатура = детект. Решение старое как мир и красивое как 0day: полиморфизм. Схема простая до гениальности: 1️⃣ Берём shellcode и ксорим каждый байт ключом (я написал энкодер на Python за 20 строк - второй скрин) 2️⃣ На носителе лежит мусор. Сигнатуры нет. Антивирус видит случайные байты и проходит мимо 😴 3️⃣ Крошечный декодер-стаб (его сигнатурировать бессмысленно - он меняется с каждым ключом) расшифровывает payload прямо в памяти 4️⃣ Прыжок → шелл. Сигнатурный движок рыдает в сторонке 😈 Сменил ключ - получил «новый вирус». 256 вариантов из одной строчки кода. Грабля, о которой не пишут в туториалах 💀 Мой декодер работал в эмуляторе и падал с SIGSEGV на живом железе. Причина: на ARM64 кэш инструкций и кэш данных не когерентны. Декодер честно перезаписал код в памяти, а процессор выполнил СТАРЫЕ байты из I-cache. Лечится ритуалом dc cvau + ic ivau + dsb ish + isb - без этого самомодифицирующийся код на ARM это русская рулетка. На x86 такого нет вообще. Кто знал - тот вооружён ⚔️ Бонус-трек: reverse shell 🌐 Bind shell из прошлого поста - милый, но бесполезный за NAT'ом. Reverse shell наоборот: сам стучится к атакующему. Исходящие соединения открыты почти везде, так что фильтры периметра ему не помеха. Тот же сетевой стек на голых сисколлах: socket → connect → dup3 ×3 → execve. Первый скрин - слушатель ловит коннект, и ls приходит уже ЧЕРЕЗ ШЕЛЛ 🔥 Итоги цикла ARM64 shellcode: ✅ 5 инструментов: разминка → execve → bind → reverse → XOR-декодер ✅ Всё null-free, всё проверено на живом aarch64 ✅ Коллекция граблей, которых нет в x86-туториалах Всё на локальной лабораторной VM, educational only. Ломайте только своё! ⚠️

6 просмотров

Канал в каталоге Максиметера

254 подписчиков · Образование

Другие публикации канала

Популярные публикации канала

Ещё по теме «Образование»

Читать дальше

Два раза в неделю свежие посты этого канала — на почту и в личную ленту. Без повторного поиска канала вручную.