Тип вируса: вредоносная программа, ворующая данные с банковских карт.
Уязвимое ПО: Windows NT+, специализированное ПО банкоматов.
Существует несколько модификаций программы, различающихся по функциональности.
Ранние версии маскируются под утилиту IsAdmin из стандартного набора утилит Windows Admin Script Tools. Во время работы программы выводятся сообщения, присущие этой утилите:
Если прав для работы программы оказывается недостаточно, то она подменяет собой файл C:\Program Files\Diebold\AgilisXFS\bin\SpiService.exe. Оригинал сохраняется в файле C:\Program Files\Diebold\AgilisXFS\bin\back.exe. Далее Trojan.Skimer запускает себя в качестве сервиса ОС, для этого сразу после завершения установки программы в систему сервис восстанавливается и перезапускается.
Основной вредоносный код содержится в создаваемом файле %windir%\lsass.exe, с помощью которого подменяется системный сервис ProtectedStorage. Таким образом, после заражения в системе одновременно существуют два процесса с именем lsass.exe, из которых лишь один легальный.
Информация о произведённых программой транзакциях и перехваченных ключах сохраняется в файлах %windir%\trl2 и %windir%\kl.
Более поздние версии Trojan.Skimer состоят из двух компонентов – установщик и динамическая библиотека, которая и интегрируется в специализированное программное обеспечение банкомата.
В установщике программы реализована полноценная процедура обновления. Суть её заключается в том, что сначала из памяти и диска удаляется старая версия программы %windir%\lsass.exe, а вся накопленная за время работы информация переносится в новые файлы. Так, данные из файла %windir%\trl2 копируются в %windir%\greenstone.bmp:redstone.bmp, а из файла %windir%\kl – в %windir%\greenstone.bmp:bluestone.bmp. Если же используется файловая система, отличная от NTFS, то для этих же целей используются файлы %windir%\redstone.bmp и %windir%\bluestone.bmp).
После этого происходит процесс внедрения динамической библиотеки программы в системный сервис LogWriter. Чтобы избежать возможной повторной установки, программа предварительно проверяет модуль на наличие уже осуществлённого заражения. Для этого модуль сервиса загружается в память, проверяется его точка входа, и если она оригинальная, т.е. соответствует стандартному системному модулю, то в него внедряется код загрузчика вредоносной библиотеки. Затем программа останавливает данный сервис, и изменённый модуль записывается обратно на диск. Наконец, вредоносная библиотека сохраняется в файловом потоке сервиса под именем pwrstr.dll.
Последним этапом работы установщика является внедрение в процесс explorer.exe вредоносного кода, который удаляет файлы по маске "%windir%\Prefetch\<имя установщика>-*.pf", пытаясь скрыть следы своего запуска.
По завершении установки начинается работа вредоносной библиотеки совместно с сервисом LogWriter. После этого для обеспечения своей работы вредоносная библиотека внедряет свои функции в остальные процессы ОС банкомата.
Во время своей работы Trojan.Skimer один раз в секунду опрашивает текущее состояние банкомата.
При обнаружении новой карты производится её идентификация. При этом разделяются три типа карт:
1. Обычная карта пользователя банкомата.
2. Карта супервизора.
3. Карта ограниченного функционала.
Обычная карта – это карта, по которой ничего не подозревающий пользователь банкомата планирует совершить необходимые ему действия. В этом случае троянец просто сохраняет данные с карты.
Карта супервизора служит для активации меню Trojan.Skimer, функционал которого рассмотрен ниже.
Карта ограниченного функционала может выполнять только одну из девяти возможных функций карты супервизора.
Для идентификации карты супервизора и карт ограниченного функционала используется особая генерация номеров карт. Trojan.Skimer содержит в себе контрольные суммы этих двух типов карт. Процедура подсчёта контрольной суммы представляет собой комбинацию из простейших операций над двумя полями карты – девятью цифрами её номера и девятью цифрами из поля дополнительной банковской информации. В случае карт 'ограниченного функционала' определятся номер функции для исполнения. Номер функции равен значению поля, в котором записан месяц окончания действия карты.
Если Trojan.Skimer обнаруживает поступление от банка информации о балансе текущей карты (этого события может и не произойти), то троянец сохраняет и эту информацию, помимо остальной информации, содержащейся на карте. При этом распознаётся три вида валют – USD (доллар США), RUR (российский рубль) и UAH (украинская гривна). Если валюта распознана, то она конвертируется в доллары США по следующим курсам – 1 доллар США равен 26 российским рублям, 1 доллар США равен 5 украинским гривнам.
Если вставленная в банкомат карта определится как карта супервизора, то выведется диалоговое окно с предложением ввести команду:
Если в течение 30 секунд не будет произведено никаких действий, окно закроется.
Список поддерживаемых команд:
0. Выход.
1. Деинсталлировать программу. При выборе данной команды удаляется вся собранная информация, удаляется из системы сама программа, а также восстанавливается оригинальный сервис LogWriter.
2. Вывод версии ПО банкомата, версии программы, а также статистика по собранной информации.
3. Удалить собранную информацию.
4. Перезагрузить терминал.
5. При выборе этой команды программа ожидает вставки карты с чипом, с которой считывается новая версия библиотеки. Если считывание прошло успешно, то вредоносная библиотека на диске заменяется новой версией.
6. Распечатка собранной информации на чеке.
7. Дополнительное меню. При выборе этого пункта генерируется число, на которое нужно ввести правильное ответное число.
Если было введено верное число, то открывается дополнительное меню.
При выборе в нём пунктов 1-4 программа даёт банкомату команду на извлечение денежных купюр из соответствующей кассеты. При выборе п. 9 производится удаление вредоносной библиотеки, а собранные данные остаются нетронутыми.
8. Открыть сервисное меню банкомата. Программа открывает сервисное меню банкомата, в котором автоматически выбирает пункт, отображающий внутренние счетчики банкомата.
9. Аналог п. 6, но собранные данные вместо распечатки на чек записываются на карту с чипом.
Последняя обнаруженная версия этой программы уже имеет номер 5.01. Это может говорить о том, что она существует не первый день, и авторы продолжают её совершенствовать.
Рекомендации по восстановлению системы
Рекомендации по лечению
Если вы используете операционную систему семейства Microsoft Windows:
- В случае если операционная система способна загрузиться (в штатном режиме или режиме защиты от сбоев), скачайте лечащую утилиту Dr.Web CureIT! и выполните с ее помощью полную проверку вашего компьютера, а также используемых вами переносных носителей информации.
- Если загрузка операционной системы невозможна, измените настройки BIOS вашего компьютера, чтобы обеспечить возможность загрузки ПК с компакт-диска или USB-накопителя. Скачайте образ аварийного диска восстановления системы Dr.Web® LiveDisk или утилиту записи Dr.Web® LiveDisk на USB-накопитель, подготовьте соответствующий носитель. Загрузив компьютер с использованием данного носителя, выполните его полную проверку и лечение обнаруженных угроз.