Man
Professional
- Messages
- 2,965
- Reaction score
- 488
- Points
- 83
Злоумышленники всегда находят новые способы внедрения вредоносного ПО на веб-сайты и новые способы его сокрытия, чтобы избежать обнаружения, но они всегда прибегают к своим старым трюкам. В этой статье мы рассмотрим, как злоумышленники используют очень малоизвестный плагин PHP snippet WordPress для установки вредоносного ПО на стороне сервера для сбора данных кредитных карт из интернет-магазина WooCommerce.
Как обычно бывает в начале таких историй, нам предоставили отчеты об украденной информации о кредитных картах, которую нужно было расследовать. Владелец веб-сайта на самом деле заметил странную активность и поручил нам провести дальнейшее расследование. Один из наших аналитиков, Конрадо Торкуато, расследовал это дело.
Плагины, такие как WordPress File Manager, например, очень часто добавляются в среды после установки доступа к панели администратора wp-admin. Наши команды также недавно наблюдали огромное злоупотребление плагином WPCode для добавления вредоносных PHP-инъекций на скомпрометированные веб-сайты, а вредоносная кампания Sign1 использует плагин Simple Custom CSS и JS.
Существует множество широко используемых плагинов для работы с фрагментами кода, но в данном случае злоумышленники решили использовать малоизвестный плагин Dessky Snippets, на момент написания статьи у которого было всего несколько сотен активных установок.
Атака произошла 11 мая, и мы видим относительно большой всплеск загрузок этого плагина с того же дня:
Вполне возможно, что злоумышленники использовали это на множестве других веб-сайтов с той же целью.
Этот вредоносный код был сохранен в параметре dnsp_settings таблицы WordPress wp_options и был разработан для изменения процесса оформления заказа в WooCommerce путем манипулирования формой выставления счета и внедрения собственного кода.
Вредоносная программа состоит из двух основных запутанных фрагментов, первый из которых использует фиктивную функцию с общим названием twentytwenty_get_post_logos():
Второй вызывает запутанный код, который крадет платежные данные:
После того, как код деобфусцирован и усовершенствуется, мы видим, что twentytwenty_get_post_logos (который работает как хук для хука WooCommerce woocommerce_after_checkout_billing_form ) добавляет несколько новых полей в форму выставления счета, которые запрашивают данные кредитной карты (реальный процесс оформления заказа запрашивает эту информацию на следующей странице).
Остальная часть фрагмента выполняется при каждой загрузке страницы. Он отслеживает данные POST для параметров «ccc», связанных с введенными полями формы. После обнаружения этих параметров все значения из формы выставления счета вместе с данными кредитной карты отправляются на сторонний URL hxxps://2of[.]cc/wp-content/
Ручное отключение этой функции в поддельной форме оформления заказа снижает вероятность того, что браузер предупредит пользователя о вводе конфиденциальной информации, и гарантирует, что поля останутся пустыми до тех пор, пока пользователь не заполнит их вручную, что снижает подозрения и делает поля видимыми как обычные, необходимые для транзакции данные.
Источник
Как обычно бывает в начале таких историй, нам предоставили отчеты об украденной информации о кредитных картах, которую нужно было расследовать. Владелец веб-сайта на самом деле заметил странную активность и поручил нам провести дальнейшее расследование. Один из наших аналитиков, Конрадо Торкуато, расследовал это дело.
Неизвестный плагин Dessky Snippets, используемый для добавления вредоносного PHP
Конечно, злоумышленники очень часто злоупотребляют плагинами WordPress, которые дают им возможность добавлять или изменять код или файлы на веб-сайтах жертв.Плагины, такие как WordPress File Manager, например, очень часто добавляются в среды после установки доступа к панели администратора wp-admin. Наши команды также недавно наблюдали огромное злоупотребление плагином WPCode для добавления вредоносных PHP-инъекций на скомпрометированные веб-сайты, а вредоносная кампания Sign1 использует плагин Simple Custom CSS и JS.
Существует множество широко используемых плагинов для работы с фрагментами кода, но в данном случае злоумышленники решили использовать малоизвестный плагин Dessky Snippets, на момент написания статьи у которого было всего несколько сотен активных установок.

Атака произошла 11 мая, и мы видим относительно большой всплеск загрузок этого плагина с того же дня:

Вполне возможно, что злоумышленники использовали это на множестве других веб-сайтов с той же целью.
Анализ вредоносного ПО
Под начальным комментарием /* Введите свой PHP-код здесь */, ниже нескольких десятков пустых строк (чтобы попытаться скрыть код от владельца веб-сайта, распространенный трюк) была размещена запутанная вредоносная программа PHP для скимминга кредитных карт:
Этот вредоносный код был сохранен в параметре dnsp_settings таблицы WordPress wp_options и был разработан для изменения процесса оформления заказа в WooCommerce путем манипулирования формой выставления счета и внедрения собственного кода.
Вредоносная программа состоит из двух основных запутанных фрагментов, первый из которых использует фиктивную функцию с общим названием twentytwenty_get_post_logos():

Второй вызывает запутанный код, который крадет платежные данные:

После того, как код деобфусцирован и усовершенствуется, мы видим, что twentytwenty_get_post_logos (который работает как хук для хука WooCommerce woocommerce_after_checkout_billing_form ) добавляет несколько новых полей в форму выставления счета, которые запрашивают данные кредитной карты (реальный процесс оформления заказа запрашивает эту информацию на следующей странице).

Остальная часть фрагмента выполняется при каждой загрузке страницы. Он отслеживает данные POST для параметров «ccc», связанных с введенными полями формы. После обнаружения этих параметров все значения из формы выставления счета вместе с данными кредитной карты отправляются на сторонний URL hxxps://2of[.]cc/wp-content/
Методы уклонения
Ввод данных фальшивого наложения оформления заказа содержит небольшую странность: поля установлены с autocomplete="off". Функция автозаполнения в веб-браузерах, конечно же, предназначена для того, чтобы сделать процесс оформления заказа более удобным для пользователей и сэкономить время людей, не вводя данные своей кредитной карты, если они сделали это ранее и сохранили информацию в своем браузере.Ручное отключение этой функции в поддельной форме оформления заказа снижает вероятность того, что браузер предупредит пользователя о вводе конфиденциальной информации, и гарантирует, что поля останутся пустыми до тех пор, пока пользователь не заполнит их вручную, что снижает подозрения и делает поля видимыми как обычные, необходимые для транзакции данные.
Источник