Коллеги, появилась нужда в инфе как работают +- уважающие себя стейджер-пейлоады. Если знает кто - отпишите, статью киньте. Хорошая ли идея грузить в качестве стейдж2 dll-ку, или прям шеллкод лучше накатать?
Вроде таких статей и нету. Но вот база.Если знает кто - отпишите, статью киньте.
А так смотри отчеты различных APT и тогда ты познаешь дзен.Коллеги, появилась нужда в инфе как работают +- уважающие себя стейджер-пейлоады.
И как ты понимаешь идеальной цепочки не существует, цепочка заражения всегда меняется. Реализуй сначала свой вариант, потом попробуй его, затем измени его и так по кругу.Хорошая ли идея грузить в качестве стейдж2 dll-ку, или прям шеллкод лучше накатать?
Благодарю. Однако, я ищу конкретный пример работы с2 стейджеров (например кобальтовского). Что например содержится внутри пейлоада stage 2, как устанавливает соединение с сервером stage1, как загружается и располагается в памяти этот самый пейлоад, какие структуры куда передаются и тд.Вся суть stages payloads это передача управления с одного этапа на другой, при чем каждый отдельный этап отвечает за свои обязанности. А делается это все лишь с одной целью, незаметно запустить код, уйти от обнаружения, ну и конечно же не спалить главный payload (малварь), т.е. все условия должны быть соблюдены.
Сами стейджеры я бы их разделил на две категории: файловые и программные.
Под файловыми я подразумеваю файлы вроде .url .lnk .pdf .xml .doc итд. Обычно они идут в начале цепочки заражения как инициализирующий этап 0-3 итд. Это можно увидеть в раличных отчетах.
А программные это уже обфускакаторы, упаковщики, шелл-коды, эксплойты
Ну и соответственно задачи у них тоже разные.
Упаковщики и обфускаторы: уменьшают размер исполняемого файла, скрывают вредоносный код, усложняют анализ.
Шелл-коды: выполняют какие-то действия, которые были запрограммированы в байт-код
Эксплойты: получение начального доступа, исполнение кода, повышение привилегий, обход мезанизмов безопасности.
Вроде таких статей и нету. Но вот база.
Идея stages payloads на основе meterpreter --> rapid7.com/blog/post/2015/03/25/stageless-meterpreter-payloads/
А так смотри отчеты различных APT и тогда ты познаешь дзен.
Посмотреть вложение 89084
Посмотреть вложение 89085
Посмотреть вложение 89086
Посмотреть вложение 89090
Посмотреть вложение 89091
Посмотреть вложение 89092
Посмотреть вложение 89093
И как ты понимаешь идеальной цепочки не существует, цепочка заражения всегда меняется. Реализуй сначала свой вариант, потом попробуй его, затем измени его и так по кругу.
Разве кобольт не сливали? Почему бы тебе просто не заглянуть под капот. Если интересно конкретно взаимодествие с сервером то можно смотреть анализы ботнетов, как бот взаимодествует с панелью управления. Потому, что все эти фреймворки для пост-эксплуатации это фикция ботнетов. Всё это взято оттуда...Благодарю. Однако, я ищу конкретный пример работы с2 стейджеров (например кобальтовского). Что например содержится внутри пейлоада stage 2, как устанавливает соединение с сервером stage1, как загружается и располагается в памяти этот самый пейлоад, какие структуры куда передаются и тд.
Для чего столько шагов? Не вижу в этом никакого профита.Запускает stage0 шелл-код, который коннектится с2с (reverse tcp)
Затем загружается основную полезная нагрузка stage1 (DLL)
stage0 загружает stage1 в память (Reflective DLL Injection) и передает ему управление
stage1 так же подгружает рефлективно еще 2 DLL
Так это просто пример работы метепретера, самый простой и наглядный пример stages payloads. В случае метерпретера доставка идет через эксплойты.Для чего столько шагов? Не вижу в этом никакого профита.
Основная задача stage0 - загрузить и запустить stage1 (ядро бота), нет смысла тут что-то переусложнять, скорее наоборот - чем проще, тем лучше. stage0 может быть реализована как угодно, т.к на этапе продумывания логики бота практически невозможно предугадать какие методы доставки будут использоваться (а они очень часто меняются) - если stage1 гвоздями прибита к stage0 - устанете переписывать код.
Да, проходила инфа, что CobaltStrike слили. Но основной репозиторий GitHub от какого-то китайца, на который идут ссылки и где лежал якобы слив, уже мёртв, а других источников мне найти не удалось. Нужно именно для этих целей - взять исходники beacon и перекомпилить/переписать под определённую архитектуру. Разыскиваю уже пару месяцев. Если кто поделится слитыми сорцами кобы - буду сильно признателен.Разве кобольт не сливали? Почему бы тебе просто не заглянуть под капот. Если интересно конкретно взаимодествие с сервером то можно смотреть анализы ботнетов, как бот взаимодествует с панелью управления. Потому, что все эти фреймворки для пост-эксплуатации это фикция ботнетов. Всё это взято оттуда...
для того что бы обойти эвристический анализ, если ты тупо будешь форкать процесс и с него пытаться например дампить реест то тебя быстро убьют. Поэтому существуют техники которые позволяют отвязаться от родительского процесса и путем запутывающих цепочек действий по принципу LOLBAS уже запускать дамп. Эвристику обойти сложнее и важнее чем сигнатурный анализ, потому как сиги можно очень легко поменять перекомпиляцией или обфускацией.Для чего столько шагов? Не вижу в этом никакого профита.