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

слишком жирный дроппер [C]

Если ты хочешь динамически защищать ключ, например при взаимодействии с С2 или при генерации уникального payload на лету, здесь без гибрида никак

Статичный AES key = 100% IOC
Если я использую ChaCha20 для расшифровки своего шеллкода с фрагментированным XOR-ключом и расшифровывающим стабом прямо перед выполнением, это будет достаточно скрытно ?
 
это будет достаточно скрытно ?
Да, но для качественного сценария атаки этого не совсем достаточно

Можешь дополнительно слегка мутировать chahcha
Разбить ключ на части в разных участках бинаря, собрать только в рантайме
Добавить лишние инструкции (junk, nonстаб в расшифровщик)
И не используй классические API

НО:

Даже если ты используешь ChaCha20 с фрагментированным ключом, мутированной реализацией и встроенным расшифровщиком с junk-инструкциями, рано или поздно, ключ из бинаря все равно извлекут(

Нужно реализовать гибридное шифрование (например, X25519 + ChaCha20), динамическую доставку ключа в рантайме и полностью исключить классические API, по которым можно выстроить сигнатуру



Только тогда схема будет реально живучей и сложной для анализа
 
Да, но для качественного сценария атаки этого не совсем достаточно
"нахyя а главное зачем"

Если реверсеру будет впадлу копаться в иде\гидре\тд, то он просто рантайм посмотрит, например через дебагер\апи монитор, сисколы тоже легко мониторятся

Если у вас софт сложнее чем
Код:
void rc4_decrypt(..){...}

main()
{
rc4_decrypt(payload);
__asm { call payload };
}

то никто не будет это раскапывать, в ав конторах сидят от жизни уставшие реверсеры, им по 10 семплов в час может приходит, надо оно им?
И даже не факт что ваш бинарник будут открывать в иде

шеллкод\пе файл с памяти сдампят да и все, любой криптор возьми, что бы там не было - bp ntdll!NtAllocateVirtualMemory, записываешь адреса и мониторишь
Буквально за минуту с большинства крипторов дампится пейлоад

Лучше работать над морфером - чтобы билды в атаках были всегда разными, или еще лучше - морфер бинарников
 
Последнее редактирование:
"зачем а главное зачем"

Если реверсеру будет впадлу копаться в иде\гидре\тд, то он просто рантайм посмотрит, например через дебагер\апи монитор, сисколы тоже легко мониторятся

Если у вас софт сложнее чем
Код:
void rc4_decrypt(..){...}

main()
{
rc4_decrypt(payload);
__asm { call payload };
}

то никто не будет это раскапывать, в ав конторах сидят от жизни уставшие реверсеры, им по 10 семплов в час может приходит, надо оно им?
И даже не факт что ваш бинарник будут открывать в иде

шеллкод\пе файл с памяти сдампят да и все, любой криптор возьми, что бы там не было - bp ntdll!NtAllocateVirtualMemory, записываешь адреса и мониторишь
Буквально за минуту с большинства крипторов дампится пейлоад

Лучше работать над морфером - чтобы билды в атаках были всегда разными, или еще лучше - морфер бинарников
Ещё как варик расшифровка ключом с командной строки ( либо переменной среды ) всего кода ( ну понятно кроме стаба который это делает )
на каждый билд разный ключ - код зашифрован разным ключом - можно оставить тот же рц4 и юзать ключ большой длинны
 
Ещё как варик расшифровка ключом с командной строки ( либо переменной среды ) всего кода ( ну понятно кроме стаба который это делает )
на каждый билд разный ключ - код зашифрован разным ключом - можно оставить тот же рц4 и юзать ключ большой длинны
Я так и делаю, делаю взаимную зависимость бинарников
Уменьшает детект на вт, делает сложным реверс (брутить пейлоад?)
 
Может показаться странным, но я бы либо использовался методы шифрования поддерживаемыми дефолтными библиотеками винды (бкрипт) либо сделал бы полную расшифровку на сервере
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх