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

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

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

Пользователь GitHub, известный как peewpw, опубликовал инструмент, позволяющий, как утверждает его создатель, встроить PowerShell-скрипт в пиксели PNG-изображения и сгенерировать уанлайнер (oneliner) на выполнение.

Инструмент получил имя Invoke-PSImage, он вставляет байты сценария PowerShell в пиксели PNG-изображения, наименее значимые 4 бита двух значений цвета в каждом пикселе используются для хранения полезной нагрузки. В результате качество изображения, конечно, пострадает, но оно по-прежнему будет выглядеть прилично.

Изображение сохраняется в формате PNG и может быть сжато без потерь, а также без ущерба для выполнения полезной нагрузки, поскольку данные хранятся в самих цветах. Эксперт уточняет, что каждый пиксель изображения используется для хранения одного байта скрипта, поэтому понадобится изображение с одинаковым количеством пикселей, что и байтов в скрипте.

В качестве примера специалист приводит Invoke-Mimikatz — легко вписывается в изображение 1920x1200.

Подробнее об использовании можно почитать на соответствующей странице GitHub.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

Согласно описанию, причин появления уязвимости две: неадекватная обработки ошибок при расшифровке по RSA и отсутствие санации пути при записи загруженных файлов.

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

Криптобиблиотека воспринимала его как строку нулевых байтов, что открыло возможность для шифрования полезной нагрузки дефолтным, легко угадываемым 0-байтовым ключом.

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

RSS: Новости на портале Anti-Malware.ru