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


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Розробник Баретт Адамс у своєму 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.ps1PS>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.ps1PS>Invoke - PSImage - Script .Invoke - Mimikatz.ps1 - Image .kiwi.jpg - Out .evil - kiwi.png - Web [Oneliner to execute from the web]

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

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Коментарі 1

  • Подібну штуку варто очікувати! Немає нічого хітростно, щоб шифрувати інформацію в зображенні. Невже незабаром ми зможемо використовувати щось на зразок shazam, але тільки в візуальному розпізнаванні? Наприклад – так можна буде перевіряти справжність грошових купюр. А краще вбудовувати в зображення код смарт-контракту. Таким чином зображення і буде монетою. Я замовник – відправляю виконавцю оплату, зашифровану в зображення з задоволеним обличчям)) Виконавець одержує оплату і приємні емоції від картинки. Подвійна користь

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *