На прошлой неделе объектом внимания исследователей из антивирусных компаний стала новая вредоносная программа Dexter, которая заражает торговые терминалы под Windows. Программа обнаружена в крупных торговых сетях, гостиницах, ресторанах и других организациях 40 стран, в том числе России и Латвии. Впрочем, 42% зарегистрированных случаев заражения Dexter относится к странам Северной Америки. По мнению экспертов, программа Dexter активно используется злоумышленниками уже несколько месяцев, как минимум с сентября 2012 года.
Dexter работает как программный эквивалент физического скиммера — устройства, которое прикрепляется к банкомату и производит физическое копирование магнитного слоя на пластиковой карте. Dexter тоже делает такую копию, только снимая данные не с кард-ридера, а из памяти торгового терминала. Поскольку через крупный магазин ежесуточно проходит тысячи покупателей, такой способ гораздо эффективнее, чем установка скиммера на отдельный банкомат.
Сложная программа интересна по нескольким причинам, в том числе и потому, что отдельные исследователи видят связь между авторами Dexter и авторами известнейшего банковского трояна Zeus.
Кроме этого, интересны некоторые аспекты функциональности Dexter. Программа внедряет свой код в процесс iexplore.exe, парсит оперативную память POS-терминала и копирует данные пластиковых карт. Более того, она как обычный бот способна не только отправлять данные на удалённый командный сервер, но и получать с него команды. Коммуникации осуществляются по HTTP, через запросы POST. Трафик выглядит примерно таким образом.
Как можно видеть на скриншоте, используется десять переменных, значения которых закодированы в Base64:
Например, переменная val имеет значение ZnJ0a2o= (Base64), то есть frtkj. Исследователи выяснили, что это ключ, который используется для шифрования всего остального текста через XOR.
“A”.xor(“f”).xor(“r”).xor(“t”).xor(“k”).xor(“j”)
Применив ключ, мы можем получить оригинальный текст шифрограммы:
По нему уже понятно, что означает каждая переменная:
Но это только половина головоломки. Каким же образом бот в торговом терминале получает команды? Ответ находится в получаемом от хоста файле cookie. Он зашифрован таким же способом, с помощью XOR, ключом из предыдущего запроса и трансляцией в Base64. Этот файл содержит следующие переменные:
Специалистам удалось получить доступ к административной панели Dexter на одном из серверов.
Полученную с терминалов копию магнитной носителя карты можно использовать для изготовления клона этой карты. Процесс клонирования карт показан на видео.
Видеофайл в формате mp4
Подробнее: http://www.xakep.ru/post/59820/default.asp
Источник: