• XSS.stack #1 – первый литературный журнал от юзеров форума

Cobalt .bin -> .dll

В этой теме можно использовать автоматический гарант!

Статус
Закрыто для дальнейших ответов.

Wardet

CD-диск
Пользователь
Регистрация
04.08.2022
Сообщения
18
Реакции
11
Сделаю за 40$ тестовый крипт RAW шеллкода в .dll (Только x64, Stageless)
В случае если билд не стукнет - делаю манибек (Было 2 случая незапуска на 10-й винде)
Скан билда (1-2 детекта в статике)

Тестировалось на Kaspersky EDR (С BokuLoader):
 
Последнее редактирование модератором:
Ищу людей, готовых протестировать новый стаб, за бесплатно, абсолютно любой шеллкод (x64) -> dll.
Работает по принципу process hollowing, с PPID спуфингом (спуфится под ctfmon.exe, могу сменить на фаш) и флагом PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON (запрещает привязку dll, без подписи мсофта).

Проводился тест только на CrowdStrike, детектит в статике энтропию и либу aes.
Остальные антивирусы.
 
Последнее редактирование:
Ищу людей, готовых протестировать новый стаб, за бесплатно, абсолютно любой шеллкод (x64) -> dll.
Работает по принципу process hollowing, с PPID спуфингом (спуфится под ctfmon.exe, могу сменить на фаш) и флагом PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON (запрещает привязку dll, без подписи мсофта).

Проводился тест только на CrowdStrike, детектит в статике энтропию и либу aes.
Остальные антивирусы.
Не используй process hollowing, заезженная тема палится очень сильно, ppid spoof это конечно все хорошо но безсмысленно для edr, наоборот больше всего даст детектов, это аномально для белого софта. Для обхода edr для cobalt strike используй инжект в самого себя только без явного создания потока CreateThread или CreateRemoteThread (их Nt версии), используй sleep-mask из коробки, и альтернативные api для запуска потока шеллкода, так например делает тут здешний небезызвестный англоязычный продаван паблика за оверпрайс)).
Вот тут ищи для себя метод, только для начала выделяй RW память дальше на RX меняй.
AlternativeShellcodeExec
Ну и надо бы еще настройку командного сервера кобы, для защиты от скана и реверс прокси azure, cloudflare. Все это легко гуглится. Будет тебе fud edr.
 
без явного создания потока CreateThread или CreateRemoteThread
У меня реализация с помощью NtMapViewOfSectionEx, NtUnmapViewOfSection и NtQueueApcThread (Процесс тоже создается при помощи NtApi). Используются индирект сюсколы, при помощи HWSyscalls, винапи только два импорта - AddVectoredExceptionHandler и RemoveVectoredExceptionHandler (как раз в HWSyscalls сидят)

ppid spoof это конечно все хорошо но безсмысленно для edr
Не используй process hollowing
Запускал с заменой шеллкода пустыми байтами (Чтоб в статике не сжирало, нет возможности поменять настройки EDR), все отлично работало, детекта в динамике не было, проблемы видел только со статическим детектом

для начала выделяй RW память дальше на RX меняй
используй sleep-mask
Разумеется)

Ну и надо бы еще настройку командного сервера кобы, для защиты от скана и реверс прокси
Настраивал, в связке с RedGuard использолал, работало отлично. Прокси тоже пробовал, работало, а с тулленем cloudlfare как-то непонятно и сложно

Повторюсь, сейчас только со статикой видел проблемы, в динамике вроде меня ничего не подводило (Поэтому и ищу готовых на мой крипт, чтоб узнать наверняка).
 
Работаю в тестовом режиме, прислушался к советам, опять сделал правки
Последние результаты 🙂



Теперь без инжекта в процесс, выполнение в локальном процессе, смена шифрования с AES на UuidFromStringA (Понижение энтропии без головной боли)
 
Последнее редактирование модератором:
У меня реализация с помощью NtMapViewOfSectionEx, NtUnmapViewOfSection и NtQueueApcThread (Процесс тоже создается при помощи NtApi). Используются индирект сюсколы, при помощи HWSyscalls, винапи только два импорта - AddVectoredExceptionHandler и RemoveVectoredExceptionHandler (как раз в HWSyscalls сидят)
- снимай хуки сначала с натива в цикле в отдельном потоке и потом юзай.
 
- снимай хуки сначала с натива в цикле в отдельном потоке и потом юзай.
Да, такое уже реализованно, только не в отдельном потоке (Анхук не только ntdll, а всех dll'ок с KnownDlls)
 
Последнее редактирование:
А причем тут питон вообще?
Это скрипт питона что б в итоге получить .h и .cpp файлы, для работы с системными вызовами уже в твоем проекте, лучше юзать индирект сисколлы, потому что при директ сисколлах в коде будет asm инструкция "syscall" или устаревшая int 2Eh, которая сразу же тригерится в статике многими АВ
Код:
pSyscall PROC
    mov [rsp +8], rcx          ; Save registers.
    mov [rsp+16], rdx
    mov [rsp+24], r8
    mov [rsp+32], r9
    sub rsp, 28h
    mov ecx, 029943818h       
    call GetSyscallNumber             
    add rsp, 28h
    mov rcx, [rsp+8]                     
    mov rdx, [rsp+16]
    mov r8, [rsp+24]
    mov r9, [rsp+32]
    mov r10, rcx
    syscall                   
    ret
pSyscall ENDP
 
Последнее редактирование:
Работаю в тестовом режиме, прислушался к советам, опять сделал правки
Последние результаты 🙂

Посмотреть вложение 67381

Теперь без инжекта в процесс, выполнение в локальном процессе, смена шифрования с AES на UuidFromStringA (Понижение энтропии без головной боли)
Если работать только точечно по тагрету, то пойдет. А вот если уже выходить за рамки точечной работы то лучше используй кастомный xor он не увеличивает энтропию как aes.
сам формат uuidfromstring палится по yara правилам, и при первом же попадении на вт (а это произойдет очень быстро если работаешь по корпам, к примеру), будет детект по yara (Florian Roth заебал своими yara правилами).
Если соблюдать эти правила, подключить смекалку по обходу сэндбоксов ав. То получишь вот такой результат при активном проливе, а если слитый файл на вт по детектам 0/63 -3/63, отстук будет около 90% (многие факторы влияют конечно)
Файл маленького размер 500кб-1.5 мб, без пампа, с пампом отстук не более 60%

UPD: если ты прям сильно так хочешь снять хуки с ntdll, то не используй стандартный заезженный анхук с использованием NtCreateFile, NtCreateSectionEx, NtMapViewOfSectionEx, NtProtectVirtualMemory, NtUnmapViewOfSection и peruns-fart unhook, есть более изящнее методы анхука с rop гаджетами, тут уже сам ищи)

(файл на VirusTotal сливал не я, сам туда попал почти моментально при проливе корпов)
 
Последнее редактирование модератором:
сам формат uuidfromstring палится по yara правилам
Тоже задумывался над этим, да

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

Кстати когда на кортексе тестировал, между запуском дллки и отправкой на их сервера прошло +- секунд 10)
В тот момент не было возможности инет отключить на вмке

Еще думал хранить шифрованный шелл в ресурах, с Magic заголовком от PNG, но руки не дошли (Думаю это лучшая идея)
 
Последнее редактирование:
Думал разбавлять шелл в aes нулевыми байтами (после каждого нного байта вставлять допустим по три штучки 0x00, при запуске просто урезать их), но пока не реализовал
Кстати когда на кортексе тестировал, между запуском дллки и отправкой на их сервера прошло +- секунд 10)
Такое на каждой тачке с едр будет с включеным инетом
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Тоже задумывался над этим, да


Думал разбавлять шелл в aes нулевыми байтами (после каждого нного байта вставлять допустим по три штучки 0x00, при запуске просто урезать их), но пока не реализовал

Кстати когда на кортексе тестировал, между запуском дллки и отправкой на их сервера прошло +- секунд 10)
В тот момент не было возможности инет отключить на вмке

Еще думал хранить шифрованный шелл в ресурах, с Magic заголовком от PNG, но руки не дошли (Думаю это лучшая идея)
Если на кортекте прошло, то это круть, ибо он сейчас возможно самый страшный зверь гав-гав котики его побаиваются
 
Если на кортекте прошло, то это круть, ибо он сейчас возможно самый страшный зверь гав-гав котики его побаиваются
Проходило, да, но сейчас обновление пишу и не делаю билды
Планирую на X86 перейти
 
Статус
Закрыто для дальнейших ответов.
Верх