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

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

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

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

Invoke-PSImage

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

Ещё интересное для вас:
Тест: что вы знаете о работе мозга?
Базовый чек-лист по SEO перед сдачей сайта заказчику
Что посмотреть и куда сходить разработчку — ближайшие события