Скиммер кредитных карт на стороне сервера, застрявший в неизвестном плагине

Man

Professional
Messages
2,965
Reaction score
488
Points
83
Злоумышленники всегда находят новые способы внедрения вредоносного ПО на веб-сайты и новые способы его сокрытия, чтобы избежать обнаружения, но они всегда прибегают к своим старым трюкам. В этой статье мы рассмотрим, как злоумышленники используют очень малоизвестный плагин PHP snippet WordPress для установки вредоносного ПО на стороне сервера для сбора данных кредитных карт из интернет-магазина WooCommerce.

Как обычно бывает в начале таких историй, нам предоставили отчеты об украденной информации о кредитных картах, которую нужно было расследовать. Владелец веб-сайта на самом деле заметил странную активность и поручил нам провести дальнейшее расследование. Один из наших аналитиков, Конрадо Торкуато, расследовал это дело.

Неизвестный плагин Dessky Snippets, используемый для добавления вредоносного PHP​

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

Плагины, такие как WordPress File Manager, например, очень часто добавляются в среды после установки доступа к панели администратора wp-admin. Наши команды также недавно наблюдали огромное злоупотребление плагином WPCode для добавления вредоносных PHP-инъекций на скомпрометированные веб-сайты, а вредоносная кампания Sign1 использует плагин Simple Custom CSS и JS.

Существует множество широко используемых плагинов для работы с фрагментами кода, но в данном случае злоумышленники решили использовать малоизвестный плагин Dessky Snippets, на момент написания статьи у которого было всего несколько сотен активных установок.

Dessky фрагменты WordPress плагин подробности


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

Скачок загрузки плагина для Dessky Snippets


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

Анализ вредоносного ПО​

Под начальным комментарием /* Введите свой PHP-код здесь */, ниже нескольких десятков пустых строк (чтобы попытаться скрыть код от владельца веб-сайта, распространенный трюк) была размещена запутанная вредоносная программа PHP для скимминга кредитных карт:

Вредоносный PHP-код обнаружен внутри плагина dessky snippets


Этот вредоносный код был сохранен в параметре dnsp_settings таблицы WordPress wp_options и был разработан для изменения процесса оформления заказа в WooCommerce путем манипулирования формой выставления счета и внедрения собственного кода.

Вредоносная программа состоит из двух основных запутанных фрагментов, первый из которых использует фиктивную функцию с общим названием twentytwenty_get_post_logos():

фиктивная функция twentytwenty_get_post_logos()


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

Скрытый скиммер кредитных карт


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

В форму выставления счета добавлены новые поля, запрашивающие данные кредитной карты.


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

Методы уклонения​

Ввод данных фальшивого наложения оформления заказа содержит небольшую странность: поля установлены с autocomplete="off". Функция автозаполнения в веб-браузерах, конечно же, предназначена для того, чтобы сделать процесс оформления заказа более удобным для пользователей и сэкономить время людей, не вводя данные своей кредитной карты, если они сделали это ранее и сохранили информацию в своем браузере.

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

Источник
 
Top