В Python Package Index (PyPI) нередко обнаруживают малварь, но найденный недавно пакет disgrasya отличается от большинства таких случаев.
Пакет был установлен более 34 000 раз и использовал легитимные интернет-магазины на базе WooCommerce для проверки ворованных банковских карт.
Как сообщают аналитики компании
Проверка украденных карт является ключевым шагом в работе кардеров, которым нужно проверить тысячи карт, полученных из различных дампов и утекших БД, и определить их ценность и отобрать пригодные для использования.
При этом описание пакета в PyPI прямо сообщало, что он используется для вредоносной деятельности:
Эксперты сообщают, что вредоносная функциональность появилась в версии 7.36.9. То есть авторы пакета, вероятно, пытались обойти проверки, которые могут быть более строгими для первых версий и мягче к последующим обновлениям.
Как уже упоминалось выше, пакет содержал Python-скрипт, который заходил на легитимные сайты магазинов на базе WooCommerce, собирал ID товаров, а затем добавлял товары в корзину, обращаясь к бэкенду ресурса.
Затем скрипт переходил на страницу оформления заказа, похищал CSRF-токен и фрагмент кода, который CyberSource использует для безопасной обработки данных карт. По словам исследователей, эти два параметра обычно скрыты на странице и действуют недолго, но скрипт мгновенно перехватывал их, одновременно заполняя форму оформления заказа выдуманной информацией о клиенте.
На следующем этапе, вместо того чтобы передать данные ворованной карты напрямую в платежный шлюз, disgrasya передавал ее на контролируемый злоумышленником сервер (railgunmisaka[.]com), который притворялся CyberSource и выдавал поддельный токен для карты.
В итоге заказ с токенизированной картой передавался интернет-магазину, и если все срабатывало, это подтверждало, что карта работает. В случае неудачи скрипт фиксировал ошибку и переходил к проверке следующей карты.
Эксперты Socket отмечают, что такой end-to-end процесс эмуляции оформления заказа очень трудно выявить с помощью систем обнаружения мошенничества:
Для борьбы с такими злоупотреблениями исследователи рекомендуют владельцам магазинов блокировать заказы стоимостью менее 5 долларов, которые обычно используют кардеры, отслеживать многочисленные мелкие заказы с необычно высоким процентом отказов, а также обращать внимание на большие объемы заказов, связанные с одним IP-адресом или регионом.
Также рекомендуется добавить CAPTCHA в процесс оформления заказа, что может нарушить работу кардерских скриптов.
Пакет был установлен более 34 000 раз и использовал легитимные интернет-магазины на базе WooCommerce для проверки ворованных банковских карт.

Как сообщают аналитики компании
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, нашедшие вредоноса, скрипт был нацелен на магазины под управлением WooCommerce, использующие платежный шлюз CyberSource.Проверка украденных карт является ключевым шагом в работе кардеров, которым нужно проверить тысячи карт, полученных из различных дампов и утекших БД, и определить их ценность и отобрать пригодные для использования.
«В отличие от обычных атак на цепочку поставок, в которых применяется обман и тайпсквоттинг, disgrasya не пытался казаться легитимным, — говорится в отчете исследователей. — Пакет был откровенно вредоносным и использовал PyPI в качестве канала для распространения, чтобы охватить более широкую аудиторию злоумышленников».
При этом описание пакета в PyPI прямо сообщало, что он используется для вредоносной деятельности:
«Утилита для проверки банковских карт через разные шлюзы с поддержкой многопоточности и прокси», — гласило описание disgrasya.
Эксперты сообщают, что вредоносная функциональность появилась в версии 7.36.9. То есть авторы пакета, вероятно, пытались обойти проверки, которые могут быть более строгими для первых версий и мягче к последующим обновлениям.
Как уже упоминалось выше, пакет содержал Python-скрипт, который заходил на легитимные сайты магазинов на базе WooCommerce, собирал ID товаров, а затем добавлял товары в корзину, обращаясь к бэкенду ресурса.
Затем скрипт переходил на страницу оформления заказа, похищал CSRF-токен и фрагмент кода, который CyberSource использует для безопасной обработки данных карт. По словам исследователей, эти два параметра обычно скрыты на странице и действуют недолго, но скрипт мгновенно перехватывал их, одновременно заполняя форму оформления заказа выдуманной информацией о клиенте.
На следующем этапе, вместо того чтобы передать данные ворованной карты напрямую в платежный шлюз, disgrasya передавал ее на контролируемый злоумышленником сервер (railgunmisaka[.]com), который притворялся CyberSource и выдавал поддельный токен для карты.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
В итоге заказ с токенизированной картой передавался интернет-магазину, и если все срабатывало, это подтверждало, что карта работает. В случае неудачи скрипт фиксировал ошибку и переходил к проверке следующей карты.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Эксперты Socket отмечают, что такой end-to-end процесс эмуляции оформления заказа очень трудно выявить с помощью систем обнаружения мошенничества:
«Весь этот сценарий, от сбора ID товаров и токенов для оформления заказа до отправки данных украденной карты вредоносной третьей стороне и имитации всего процесса оформления заказа, чрезвычайно целенаправлен и методичен. Он разработан таким образом, чтобы смешиваться с обычными потоками трафика, что делает распознавание невероятно сложным для традиционных систем обнаружения мошенничества».
Для борьбы с такими злоупотреблениями исследователи рекомендуют владельцам магазинов блокировать заказы стоимостью менее 5 долларов, которые обычно используют кардеры, отслеживать многочисленные мелкие заказы с необычно высоким процентом отказов, а также обращать внимание на большие объемы заказов, связанные с одним IP-адресом или регионом.
Также рекомендуется добавить CAPTCHA в процесс оформления заказа, что может нарушить работу кардерских скриптов.
Для просмотра ссылки необходимо нажать
Вход или Регистрация