Скиммер для всех

Carding

Professional
Messages
2,871
Reaction score
2,372
Points
113
Отчет об анализе угроз FortiGuard Labs

Использование веб-скиммеров для кражи данных платежных карт стало хорошим бизнесом для киберпреступников. Фактически, только в прошлом месяце FortiGuard Labs обнаружила кампанию, в ходе которой за один год были украдены данные с более чем 185 000 платежных карт.

MageCart, собирательное название, данное группам, ответственным за внедрение скиммеров JavaScript на скомпрометированных веб-сайтах, продолжает нацеливаться на интернет-магазины, по сообщениям, скомпрометировав более 50 000 веб-сайтов в 2018 году. Это затруднительное положение представляет серьезную угрозу как для бизнеса, так и для потребителей.

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

Скиммер
Наше расследование началось с того, что мы обнаружили вредоносный код JavaScript, подключающийся к tracker-sessions.com, где он был замаскирован под трекер посещаемости веб-сайта. Дальнейший анализ предметной области привел нас к открытию нескольких открытых каталогов, которые затем привели нас к более индивидуализированным скриптам скиммера, используемым в кампании. И по состоянию на 20 июня новые скрипты скиммера все еще загружались.

inter-skim-fig-one.png

Рисунок 1: Открытые каталоги на сайте tracker-sessions.com

С начала нашего расследования мы выявили более 70 скриптов скиммера и 11 открытых каталогов, но, возможно, есть и другие скрытые каталоги, которые мы еще не обнаружили. Как и ожидалось, имена файлов вредоносного JavaScript пытаются имитировать обычно используемые служебные программы сценариев, а также имена, непосредственно связанные с целями взломанного веб-сайта. В зависимости от функциональности сценарии, найденные в открытых каталогах, можно разделить на следующие типы:
  • Загрузчик
  • Веб-скиммер
  • Поддельная форма оплаты

Загрузчик
Сценарии загрузчика предназначены для загрузки скиммера, размещенного на одном из C2 кампании. На экране 2 показан фрагмент кода одного из загрузчиков, googletagver.js . Перед загрузкой скиммера он использует инструмент с открытым исходным кодом под названием devtools-detect, чтобы определить, выполняется ли скрипт с помощью отладчика, и в этом случае он не будет загружать скиммер.

inter-skim-fig-two.png

Рисунок 2: Скрипт загрузчика

Веб-скиммер и поддельная форма оплаты

Веб-сайты электронной коммерции используют разные платформы для обработки платежей. Например, некоторые веб-сайты обрабатывают платежи внутри страны, в то время как другие используют внешних поставщиков платежных услуг (PSP). В зависимости от того, какую платформу использует взломанный веб-сайт, в кампании используется веб-скиммер или поддельная форма оплаты.

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

В нашем анализе используются следующие образцы:
vmartgo.js - веб-скиммер
cap.js - поддельная форма оплаты

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

inter-skim-fig-three.png

Рисунок 3: Основная функция

После первоначальной проверки Inter извлекает сохраненные файлы cookie с именами $ s и $ sent, которые содержат записи ранее закодированной информации о похищенных платежах. Эта информация используется позже при атаке.

inter-skim-fig-four.png

Рисунок 4: Функция GetFromStorage

Как видно ниже, веб-скиммеры вызывают функции SaveAllFields (), чтобы получить общую информацию о жертве, и GetCCInfo (), чтобы конкретно получить данные кредитной карты. Как упоминалось ранее, для тех сайтов, которые используют ГАЭС, форма подделка может быть вставлена, следовательно, добавление AddForm () функции.

image-05.png

Рисунок 5: Функция TrySend

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

inter-skim-fig-six.png

Рисунок 6: Функция добавления поддельной платежной формы

Как показано ниже, поддельная форма оплаты добавляется только при нажатии кнопки «Оплатить кредитной картой». Неподготовленный глаз может не заметить ничего подозрительного, но если внимательно прочитать, на кнопке будет написано « ПРОВЕРИТЬ И НАЧАТЬ ОПЛАТУ». Это явно означает, что от покупателя не ожидается предоставления данных кредитной карты до следующего шага.

image-07.png

Рисунок 7: Снимок экрана бок о бок страницы оформления заказа с поддельной формой

Чтобы извлечь нужную информацию, скиммеры обычно проверяют ключевые слова в текущем URL-адресе, чтобы убедиться, что скиммер работает на странице оформления заказа или оплаты. Скиммер Inter использует другой подход. Независимо от того, на какой странице находится потребитель, он извлекает всю введенную информацию на текущей веб-странице, принимая значения из элементов формы с тегами input , select и textarea . Затем значения фильтруются для извлечения фактических данных кредитной карты.

inter-skim-fig-eight.png

Рисунок 8: Функция SaveAllFields

Затем эти данные преобразуются в JSON, кодируются с помощью простого base64 и сохраняются в виде файла cookie в $ s. Затем вычисляется MD5-хэш закодированных данных и сравнивается с записями в переменной $ s.Sent, которая содержит список / массив MD5-хэшей платежных реквизитов, ранее отправленных на сервер C2. Если хеш существует, данные отбрасываются, чтобы избежать отправки повторяющихся данных.

Также стоит упомянуть, что C2, используемый для извлечения данных, также является местом размещения вредоносного JavaScript.

inter-skim-fig-nine.png

Рисунок 9: Функция SendData с $ sent, показывающая предыдущие хэши md5

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

inter-skim-fig-ten.png

Рисунок 10: Функция LoadImage для отправки украденной информации на C2

Ниже показан трафик после подключения созданного элемента IMG к своему источнику изображения. Он маскируется под содержимое изображения, что позволяет избежать обнаружения - тем более, что загружать много элементов IMG на веб-страницу - это нормально. Затем это инициирует запрос GET , который может быть менее подозрительным, чем обычно используемый метод запроса POST для извлечения данных.

inter-skim-fig-eleven.png

Рисунок 11: Сетевой трафик при отправке украденной информации на C2

Поддельные формы оплаты
Чтобы дать представление о масштабах этой кампании, она поддерживает как минимум 18 основных поставщиков платежных услуг, в основном в США, Великобритании, Австралии и Франции.

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

inter-skim-fig-twelve.png

Рисунок 12: Скомпилированные поддельные платежные формы

Заключение
Возможность получить доступ к открытому каталогу в такой кампании предоставила нам важную информацию о ее масштабах, а также о том, как она работает. Обладая этой информацией, мы смогли определить масштаб атаки и сравнить ДТС (тактики, методы и процедуры) с теми, что использовались в предыдущих кампаниях MageCart.

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

- = Команда FortiGuard Lion = -

Решения
FortiGuard Labs обратилась к веб-сайтам электронной коммерции, затронутым этой кампанией.

Клиенты Fortinet защищены следующими решениями:
  • Анализируемые вредоносные скрипты JavaScripts определяются как JS / Script.DF! Tr.pws и JS / Loader.DF! Tr.pws
  • Серверы C2 заблокированы службой веб-фильтрации FortiGuard.

IOCs
aa1ae020558f7b41dc16ded37176959cbe87cbd2153094a75d67d9410f2d30d
182fbc73d3901caceea7f058e41205be1dca21ac8dc1a63de20907e4099ec3b3
33354c7922ead7588eeebfe0817064fd44f4aae173ea01b35e81e39e40e7e853
37eb8c952d374b49eb933e8955c9cb5ea9a4109c67334880a9b9063b6770f852

C2
Tracker-visitors [.] com
Jquery-web [.] Com
Jquery-stats [.] Com
jsreload [.]
Pw routingzen [.] Com
Jquery-web [.] Com
Jquery-stats [.] Com
jsreload [.]
Pw routingzen [.] Com
 
Top