26 апреля, 2024

Как сделать неуловимую полезную нагрузку. Часть 2. Скрытие полезной нагрузки

Содержание:

После того, как хакер создал PowerShell-полезную нагрузку, чтобы обойти антивирусное программное обеспечение, и настроил msfconsole на своей машине, он может перейти к следующему шагу — маскировке своего исполняемого файла, чтобы он выглядел как обычный текстовый. Вот так он и вынуждает ничего не подозревающих пользователей Windows 10 открывать полезную нагрузку.

Полезная нагрузка для PowerShell, генерируемая Unicorn, работает на целевой машине Windows 10 в соответствии с ожиданиями. Она создает обратное HTTPS-соединение к машине хакера с Kali, активно уклоняясь при этом от обнаружения антивирусом Avast и от Защитника Windows. Все это здорово, но настоящая проблема заключается в том, как заставить целевого пользователя Windows запустить этот код на своем компьютере.

Чтобы этого добиться, над полезной нагрузкой для PowerShell нужно проделать несколько действий. Нагрузка должна быть преобразована в исполняемый файл Windows (EXE). Значок (ICO-файл) также нужно будет изменить так, чтобы он выглядел как обычный текстовый файл. Самый главный признак, который выдает поддельный текстовый файл — это расширение файла. Некоторые пользователи Windows отключают опцию «Скрыть расширения для известных типов файлов» для того, чтобы защититься от подобных атак. В этой статье мы покажем, как подменять расширения файлов, даже если они не спрятаны и отображаются пользователю.

Для читателей, которые, возможно, пропустили первую часть этой статьи, покажем GIFку, которая показывает реальный и поддельный текстовые файлы, расположенные бок о бок:

Файл слева — это реальный текстовый файл. Файл справа представляет собой полезную нагрузку PowerShell, которая сперва запустит Блокнот и только потом выполнит PowerShell-код.

Шаг 1. Сохраните полезную нагрузку PowerShell

Следующие шаги потребуют наличия операционной системы Windows. Мы рекомендуем использовать виртуальную машину Windows 10 (VM) в VirtualBox.

Прежде чем идти дальше, ранее созданную полезную нагрузку PowerShell нужно перенести в систему Windows и с помощью Блокнота или любого другого текстового редактора сохранить под именем payload.bat. Все последующие манипуляции будем производить над файлом payload.bat, чтобы он выглядел как обычный текстовый файл.

Читать также:  Какая ОС лучше для хакинга?

Шаг 2. Скачайте иконки для Windows 10

Чтобы преобразовать payload.bat в поддельный текстовый файл, придется скачать иконки Windows 10. Эти значки будут использоваться для подмены значка файла. Вы можете загрузить иконки Windows 10 с помощью следующей команды:

git clone 'https://github.com/B00merang-Project/Windows-10-Icons'

Cloning into 'Windows-10-Icons'...
remote: Counting objects: 3495, done.
remote: Total 3495 (delta 0), reused 0 (delta 0), pack-reused 3495
Receiving objects: 100% (3495/3495), 14.69 MiB | 294.00 KiB/s, done.
Resolving deltas: 100% (393/393), done.
Checking connectivity... done.

Этот репозиторий может не содержать точных копий встроенных значков Windows 10, но они выглядят достаточно похоже и вполне подойдут для целей настоящей статьи. Если вы можете нарисовать иконки самостоятельно или знаете, где найти вариант лучше, то мы можем это только приветствовать.

Мы используем text-x-generic.png, расположенный в каталоге Windows-10-Icons/256×256/mimetypes/, но подойдет любой PNG-файл.

Шаг 3. Преобразуйте PNG в формат ICO

PNG необходимо преобразовать в формат файлов иконок Windows — ICO. Это можно сделать с помощью онлайн-инструментов, таких как ConvertICO. Просто загрузите нужный PNG на веб-сайт, и он конвертирует его в формате ICO. Сохраните новый ICO с именем файла fakeTextFile.ico.

Шаг 4. Установите BAT2EXE

Мы уже как-то упоминали в одной статье BAT2EXE (B2E). Это отличный инструмент для преобразования BAT-файлов в исполняемые файлы Windows.

Прежде чем появится возможность скачать B2E, придется некоторое время подождать, поскольку сайт разработчиков требует от пользователей помайнить некоторое время криптовалюту  в обмен на загрузку им бесплатной программы. Если вы хотите поддержать разработчиков B2E, то перейдите на страницу загрузки и скачайте новейшую версию B2E. В противном случае можете воспользоваться нашим зеркалом с более старой версией B2E.

Или скачайте его по ссылке ниже:

https://github.com/tokyoneon/B2E/raw/master/Bat_To_Exe_Converter.zip

Разархивируйте скачанный файл и запустите Bat_To_Exe_Converter_(Installer).exe, чтобы установить его.

Шаг 5. Импортируйте полезную нагрузку

Когда все установится, запустите B2E и нажмите кнопку «Open», чтобы импортировать созданный ранее файл loadload.bat.

Шаг 6. Создание трояна для полезной нагрузки

Добавьте слово «notepad» в начало файла payload.bat и нажмите «Save». Это приведет к тому, что прежде, чем будет выполнен код полезной нагрузки, вначале откроется Блокнот Windows. В результате пользователь поверит, что файл, на который он кликнул, действительно является настоящим текстовым файлом.

Читать также:  Как восстановить удаленные/несохраненные документы в Word 2010/2007

Можно сделать еще много чего, чтобы еще больше убедить пользователей, что они имеют дело с самым настоящим текстовым файлом. Например, если Блокнот не является текстовым редактором по умолчанию, пользователю может показаться подозрительным, что этот единственный файл открывается в Блокноте, когда другие текстовые файлы открываются в Notepad ++ (это довольно популярный текстовый редактор с подсветкой синтаксиса). Поэтому желательно улучшить BAT-файл так, чтобы при клике на него открывалась ассоциированная с ним программа по умолчанию вместо Блокнота. Кроме того, открытие пустого Блокнота, когда пользователю отображается размер файла в 12 КБ, также может быть подозрительным, поэтому хорошо бы найти способ подгрузить настоящий текстовый файл для демонстрации его содержимого пользователю, что как вы понимаете, может повысить эффективность таких атак.

Ради простоты мы продолжим, как есть, с BAT-файлом, который открывает пустой Блокнот. Мы надеемся, что это продемонстрирует, насколько легко создавать трояны и что эта статья направит наших читателей в правильном направлении к проработке таких атак для выполнения собственных задач.

Шаг 7. Конвертируйте и экспортируйте полезную нагрузку

Когда вы закончите с предыдущим шагом, поставьте галочку для опции «Icon» и, кликнув по кнопке «…» импортируйте иконку fakeTextFile.ico, созданную на предыдущем шаге. Затем измените Exe-Format на «64-bit Windows (Invisible)», чтобы предотвратить появление каких-либо терминалов, когда целевой пользователь открывает файл.

Нажмите кнопку «Convert», чтобы создать EXE-файл, и сохраните имя файла как fake.exe.

После сохранения fake.exe на рабочем столе и размещения его рядом с реальным текстовым файлом, вы можете заметить тонкую красную линию в поддельной иконке, которой нет в иконке у реального текстового файла. Это можно легко устранить, если воспользоваться более совершенным набором иконок для Windows 10 или использовать другой тип файла для подмены.

Читать также:  Как узнать, поддерживает ли ваш Wi-Fi адаптер режим мониторинга и пакетные инъекции

Шаг 8. Скройте расширение файла с помощью Unicode

Большой проблемой является расширение файла. Благодаря опциям «Скрыть расширения для известных типов файлов» в параметрах Проводника, расширения файлов не скрываются операционной системой Windows. Чтобы обойти это, используйте символ юникода, который называют «Right-to-Left Override» (RLO). Это изменит порядок, в котором символы отображаются в имени файла. Важно понимать, что поскольку символы в имени файла на самом деле не переставляются местами, а это только Windows отображает их для пользователя в другом порядке, то Windows все равно распознает расширение файла как EXE.

Как видно из приведенной выше GIFки, невидимый символ RLO вводится между именем файла («fake») и поддельным расширением файла («txt»). Единственное, что делает сам символ RLO — изменяет порядок отображения символов в имени файла. К сожалению, «exe» должен оставаться в поддельном имени файла.

Как защититься от атак с подменой файлов

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

Одна вещь, которую вы можете сделать — просто внимательно изучайте файлы, скачиваемые из Интернета. В нашем примере выше вы не сможете при беглом осмотре точно сказать, совпадает ли иконка по внешнему виду с иконками других текстовых файлов, но при ближайшем рассмотрении вы заметите что-то подозрительное.

Если файл или его источник кажутся вам подозрительными, то попробуйте переименовать его. Будьте очень осторожны, чтобы случайно дважды по нему не кликнуть. Вместо этого щелкните правой кнопкой мыши по файлу и выберите «Переименовать» в контекстном меню. Если в имени файла использовался Unicode, то переименование файла на имя с простыми буквами удалит юникодные символы из имени файла и отобразит его истинное расширение.

Добавить комментарий