Для пентестеров крайне важно уметь делать крипт или шифрование файлов. Представьте, что вам нужно в рамках Red Teaming провести симуляцию атаки на компанию, чтобы посмотреть уязвимости в системе. Антивирус видит ваш файл как зловредный и не пропускает его. Но «обернув» тестовое приложение криптом, вы узнаете, насколько готова система отразить атаку. Итак, как делать крипт файлов?
Крипт (шифрование) информации в файлах защищает их от постороннего вмешательства. Неавторизированные пользователи не смогут воспользоваться шифрами. Процесс крипта кодирует данные из файла, так что разблокировать их можно, лишь открыв правильным паролем или ключом кодировки.
Пользователи шифруют файлы также для безопасной передачи данных или чтобы закрыть от чужих глаз USB-накопитель, содержащий ценные сведения корпоративного или приватного характера. Также шифруют интернет-соединение, например, при помощи VPN.
Еще одно понятие, которое нужно рассмотреть в рамках крипта файлов, — обфускация. Это практика шифрования шелл-кода — двоичного исполняемого кода, который передает команды процессору в MS-DOS и Windows. При помощи обфускаторов можно «обернуть» шелл-код шифрованием XOR или AES. Как правило, обфускаторы работают с шелл-кодами в форматах C, HEX, BASE64 и RAW.
Чтобы криптовать файлы, часто используется FUD (Fully UnDetectable — «полностью нераспознаваемый»). Так называют программное обеспечение для шифрования приложений .exe. Кроме того, FUD криптует вирусы, шпионское ПО, троянские вирусы удаленного действия RAT, а также кейлогеры (аппаратное или программное устройство для распознавания действий пользователя).
FUD берет за основу оригинальный бинарный файл .exe и применяет многослойный крипт, создавая новый зашифрованный документ.
Когда новый .exe файл приводится в действие, происходит дешифровка бинарного файла на небольшие фрагменты данных. Эта информация инфицируется, либо в нее встраиваются коды с информацией, необходимой для «этичного хакера». Часто такие файлы впоследствии перезапускаются как .txt или .mp3.
Главная проблема с FUD заключается в том, что нынешние производители антивирусов узнали о существовании программ-шифровальщиков и обновили собственное ПО, чтобы распознавать FUD. Поэтому, прежде чем применять FUD, протестируйте его по ссылке.
Убедились в действенности программы? Можно начинать пентест.
Следующий этап — собственно, создать файл, который вы планируете зашифровать и дальше тестировать.
Чтобы сделать сборку на основании исходников, можно воспользоваться программой Quasar. До этого потребуется добавить несколько элементов в исходный код. Проверьте свои действия по чек-листу:
После этого нужно «обернуть» код обфускатором, а затем убрать цифровые отпечатки, например, имя автора проекта. Не забудьте ввести правильно бит кода, при котором антивирус не заметит крипт файла. Для этого воспользуйтесь следующей загрузкой:
> 1.exe head 1000 1.exe > /host/machine/
Для дальнейших занятий пентестом, вам понадобятся дебаггеры (отладчики) — программы, которые ищут ошибки в ПО, операционных системах, SQL и других кодах. Рассмотрим работу с отладчиками на примере Immunity Debugger.
Проделав последовательность действий, нам необходимо подписать файл сертификатом Windows и упаковать его. Можно воспользоваться для этого специальными программами-пакерами. Среди проверенных вариантов — UPX, ASPack, FSG, VMProtect.
Для дальнейшего крипта файлов, нужно воспользоваться лоадером — главным компонентом операционной системы, который обеспечивает загрузку всех необходимых программ и библиотек. Лоадер важен на стартовой фазе, когда идет запуск программы. Сам лоадер не оказывает негативное влияние на систему и используется только в тот период, когда выполняется скачивание полезной нагрузки.
Как пример, лоадеры могут выглядеть как файлы vbs, is, hta, bat, ps1. Пентестерам лоадер понадобится для того, чтобы скачать вредоносный код и поработать с ним. При помощи скриптов ps или certutil пентестер сможет скачать вредоносные файлы.
Работа над криптом файла практически завершена. Осталось проверить, что находится в вашем файле для пентеста. Чтобы обезопасить от распознавания антивирусом, необходимо нашпиговать файл программами Anti Ring3 Hooks, Anti Emulator, Anti Debugger, Anti Dumper, Anti VM/SandBox.
Готово — можно тестировать систему на проникновение!
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…