Обнародован способ встраивания PowerShell-скриптов в PNG-изображение
Новости
С помощью открытого инструмента можно встроить скрипт PowerShell в изображение PNG и сгенерировать oneliner.
8К открытий8К показов
Разработчик Баретт Адамс в своём GitHub-репозитории опубликовал инструмент, позволяющий встраивать скрипт PowerShell в изображения. Invoke-PSImage вставляет байты информации в пиксели картинки формата PNG. После встраивания возможно сгенерировать oneliner либо напрямую из файла, либо по Сети.
Встраивание скрипта в изображение
Инструмент использует наименее значимые 4 бита двух значений цвета каждого пикселя для хранения полезной информации. Разумеется, качество изображения страдает, но оно по-прежнему выглядит прилично. Инструмент в качестве входных данных принимает большинство форматов изображений, но результатом всегда будет PNG. Новое изображение в дальнейшем может быть сжато без потерь, а также без ущерба для выполнения полезной нагрузки, поскольку данные хранятся в самих цветах.
По словам Адамса, каждый пиксель изображения используется для хранения одного байта скрипта. Поэтому для полноценной работы инструмента необходимо подобрать изображение с тем же количеством пикселей, что и байтов в скрипте. Например, для PS-скрипта Invoke-Mimikatz
подойдёт изображение с разрешением 1920×1200.
Аргументы инструмента
-Script [filepath]
— путь к скрипту для встраивания;-Image [filepath]
— путь к картинке для встраивания;-Out [filepath]
— путь к результирующему файлу;-Web
— флаг, указывающий, что картинка для встраивания находится в веб. Необходимо также указать её URL.
Пример использования
Первый пример создаёт картинку со встроенным скриптом Invoke-Mimikatz.ps1
. Результирующим файлом будет oneliner для запуска с диска:
Следующий пример кода создаст картинку со встроенным скриптом Invoke-Mimikatz.ps1
. Результирующим файлом будет oneliner для запуска из веб:
Результат работы:
8К открытий8К показов