Написать пост

Обнародован способ встраивания PowerShell-скриптов в PNG-изображение

Аватар Вячеслав Шарунов

С помощью инструмента Invoke-PSImage можно встроить скрипт PowerShell в изображение PNG и сгенерировать oneliner.

Разработчик Баретт Адамс в своём 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 для запуска с диска:

			PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Image .\kiwi.jpg -Out .\evil-kiwi.png
   [Oneliner to execute from a file]
		

Следующий пример кода создаст картинку со встроенным скриптом Invoke-Mimikatz.ps1. Результирующим файлом будет oneliner для запуска из веб:

			PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Image .\kiwi.jpg -Out .\evil-kiwi.png -Web
   [Oneliner to execute from the web]
		

Результат работы:

Обнародован способ встраивания PowerShell-скриптов в PNG-изображение 1
Следите за новыми постами
Следите за новыми постами по любимым темам
8К открытий8К показов