На прошлой неделе объектом внимания исследователей из антивирусных компаний стала новая вредоносная программа Dexter, которая заражает торговые терминалы под Windows. Программа обнаружена в крупных торговых сетях, гостиницах, ресторанах и других организациях 40 стран, в том числе России и Латвии. Впрочем, 42% зарегистрированных случаев заражения Dexter относится к странам Северной Америки. По мнению экспертов, программа Dexter активно используется злоумышленниками уже несколько месяцев, как минимум с сентября 2012 года.
Dexter работает как программный эквивалент физического скиммера — устройства, которое прикрепляется к банкомату и производит физическое копирование магнитного слоя на пластиковой карте. Dexter тоже делает такую копию, только снимая данные не с кард-ридера, а из памяти торгового терминала. Поскольку через крупный магазин ежесуточно проходит тысячи покупателей, такой способ гораздо эффективнее, чем установка скиммера на отдельный банкомат.
Сложная программа интересна по нескольким причинам, в том числе и потому, что отдельные исследователи видят связь между авторами Dexter и авторами известнейшего банковского трояна Zeus.
Кроме этого, интересны некоторые аспекты функциональности Dexter. Программа внедряет свой код в процесс iexplore.exe, парсит оперативную память POS-терминала и копирует данные пластиковых карт. Более того, она как обычный бот способна не только отправлять данные на удалённый командный сервер, но и получать с него команды. Коммуникации осуществляются по HTTP, через запросы POST.
Используется десять переменных, значения которых закодированы в Base64:
page
ump
unm
cnm
query
spec
opt
view
var
val
Например, переменная val имеет значение ZnJ0a2o= (Base64), то есть frtkj. Исследователи выяснили, что это ключ, который используется для шифрования всего остального текста через XOR.
“A”.xor(“f”).xor(“r”).xor(“t”).xor(“k”).xor(“j”)
Применив ключ, мы можем получить оригинальный текст шифрограммы.
По нему уже понятно, что означает каждая переменная:
page: строка mutex;
ump: данные с карты;
unm: имя пользователя;
cnm: имя хоста;
query: операционная система жертвы;
spec: тип процессора;
opt: неизвестно;
view: список всех запущенных процессов в системе;
var: некая уникальная строка, которая является константой на данном конкретном экземпляре заражённого устройства;
val: случайный ключ, который генерируется при каждом запуске программы.
Но это только половина головоломки. Каким же образом бот в торговом терминале получает команды? Ответ находится в получаемом от хоста файле cookie. Он зашифрован таким же способом, с помощью XOR, ключом из предыдущего запроса и трансляцией в Base64.
update-: обновление программы с соответствующим аргументом;
checkin: изменение задержки между сеансами связи с удалённым сервером;
scanin: изменение задержки между считыванием памяти и копированием данных пластиковых карт;
uninstall: полное удаление программы;
download-: скачивание и исполнение кода, указанного через аргумент.
Специалистам удалось получить доступ к административной панели Dexter на одном из серверов.
Полученную с терминалов копию магнитной носителя карты можно использовать для изготовления клона этой карты.
Dexter поражает POS-терминалы и отправляет копии пластиковых карт
Страница: 1
Сообщений 1 страница 1 из 1
Поделиться12013-02-28 22:11:00
Страница: 1