Вредоносная программа, предназначенная для заражения банкоматов одного из зарубежных производителей. Получила распространение в Латинской Америке, предположительно, устанавливается в систему с загрузочного компакт-диска после вскрытия злоумышленниками аппаратного отсека банкомата.
Троянец состоит из трех модулей:
- NCRWMI.exe — написанный на языке Delphi исполняемый файл, устанавливается в инфицированной системе в качестве службы с именем NCRDRVP. Загружает библиотеку SystemP.dll.
- SystemP.dll — написанная на языке Delphi динамическая библиотека, реализующая функции сниффера. Анализирует весь IP-трафик и ищет в нем поступающие команды.
Библиотека поддерживает выполнение двух команд:
- 5449610000583686=xxxxxxxxxxxxxxxx — запустить исполняемый файл троянца Ploutos с параметром xxxxxxxxxxxxxxxx (C:\WINDOWS\system32\cmd.exe /c PLOUTOS.EXE 5449610000583686=xxxxxxxxxxxxxxxx);
- 6037428100036810 — завершить процесс Ploutos.exe (C:\WINDOWS\system32\cmd.exe /C START TASKKILL /F /IM Ploutos.exe).
Команда вида 5449610000583686=xxxxxxxxxxxxxxxx может быть записана в секции Track 2 на магнитной полосе карты.
- Ploutos.exe — исполняемый файл троянца Trojan.Ploutus.3, непосредственно осуществляющий управление инфицированным банкоматом. Сохраняет собственные конфигурационные данные в текущей папке в файле с именем config.ini, журнал сохраняет в текстовом файле Log.txt. Для реализации некоторых функций троянец использует динамическую библиотеку из комплекта ПО банкомата ActiveXFSControls.dll.
Параметры троянец получает из командной строки в следующем виде:
5449610000583686=0123456789abcdYZ, где YZ - команда, 0123456789abcd - параметры.
Может выполнять следующие команды:
- 5449610000583686=2836957412536985 — сгенерировать ID (4 случайные цифры), записать это значение в файл конфигурации в параметр DATAA;
- 5449610000583686=0123456789abcd54 — активация троянца на 24 часа. Ключ вычисляется следующим образом: Время операции записывается в конфигурационный файл в параметр DATAB, в параметр DATAC записывается значение md5 от ключа активации. Из командной строки в качестве ключа берется значение 3d1905b7.
- 5449610000583686=0123456789abcd31 — команда на снятие денег, количество 40 жестко записано в теле троянца: Данная команда выполняется, если из командной строки задан верный ID (берется значение a28c).
- 5449610000583686=0123456789abcd32 — команда завершения процесса троянца, выполняется, если из командной строки задан верный ID (берется значение a28c)
- 5449610000583686=0123456789abcd99 — команда безусловного завершения процесса троянца (cmd.exe /C TASKKILL /F /IM Ploutos.exe).
Для управления банкоматом используется класс XFSVendorModeServiceClass из библиотеки ActiveXFSControls.dll, входящей в комплект встроенного ПО устройства.
Сама процедура снятия наличности реализована следующим образом: