El 4 de septiembre de 2013, Symantec fue el primero en descubrir y añadir detección a un nuevo malware dirigido a cajeros automáticos llamado Backdoor.Ploutus, según lo informado en las definiciones de liberación rápida . Recientemente, se identificó una nueva variante de esta amenaza, la cual evolucionó y ahora se ha traducido al inglés, lo que sugiere que el software dirigido a los cajeros automáticos podría estar siendo usado también en otros países.
Tras esta investigación, el 25 de octubre de 2013 Symantec añadió una detección genérica para esta nueva variante con el nombre de Backdoor.Ploutus.B, por lo que ahora Ploutus se puede detectar cuando está inactivo y cuando está ejecutándose.
Metodología de infección
De acuerdo con fuentes externas, el malware se transfiere al cajero automático al insertar físicamente un nuevo disco de arranque en la unidad de CD- ROM. El disco de arranque es el que transfiere el malware.
Impacto
Los delincuentes han portado el malware a una arquitectura más robusta y lo tradujeron al inglés lo cual sugiere que el mismo software que se descubrió en un inicio, ahora podría ser utilizado en países fuera de América Latina.
El número de bancos afectados por Backdoor.Ploutus.B está fuera del alcance de esta investigación, toda vez que dicha información es manejada por las entidades afectadas.
Nuevas caracteristicas de Backdoor.Ploutus.B
El nombre binario de la versión en inglés es "Ploutos.exe" en lugar de "PloutusService.exe" (como era en la versión en español). Ahora el programa ha pasado de ser algo independiente a ser una arquitectura modular.
Figura 1. Arquitectura modular de Ploutus
El nuevo servicio NCRDRVP esta fuertemente protegido contra ingeniería inversa y esconde sus acciones maliciosas para evitar ser detectado. De acuerdo con la investigación, puede realizar las siguientes tareas:
• Instalar o desinstalar el servicio
• Interceptar los mensajes del teclado del cajero para recibir órdenes de los delincuentes
• Iniciar al Dispatcher (ver arriba) y comunicarse a través de un raw socket
El Dispatcher recibirá instrucciones de NCRDRVP a través de un raw socket. Este socket no es fácil de detectarse, ya que no aparece en la lista de protocolos TCP o UDP que utiliza el sistema. El Dispatcher puede realizar las siguientes acciones:
• Analizar las órdenes recibidas para asegurarse de que son válidas
• Ejecutar Ploutus a través de la línea de comandos
Backdoor.Ploutus.B utiliza la misma interfaz (clase NCR.APTRA.AXFS ) para interactuar con el cajero, y solo se concentra en el suministro de dinero, pero agrega nuevas funcionalidades como:
• Puede imprimir la configuración completa del cajero automático si una impresora USB está conectada a la máquina (la versión en español envía esta información a un archivo log en lugar de imprimirlo)
• No cuenta con una interfaz gráfica de usuario (GUI) y en su lugar acepta comandos desde el teclado del cajero automático
• No ofrece soporte para un teclado externo conectado al cajero (como en la versión en español)
• Retira el dinero del casete o bandeja con más billetes disponible y ya no tiene la opción de ingresar una cantidad específica a retirar
• Mostrará una ventana a los criminales con los detalles de las transacciones realizadas y el dinero disponible en el cajero (esta vez en inglés):
Figura 2. Ventana mostrando el detalle de la transacción durante el retiro
Acciones realizadas por Backdoor.Ploutus.B
La nueva versión tiene las mismas funcionalidades que la versión anterior:
- Genera un ID del Cajero – Aleatoriamente genera un número que es asignado al cajero infectado, basado en el día y mes al momento de la infección.
- Activa el ID del Cajero – Establece un contador de tiempo para retirar el dinero. El malware entregará el dinero sólo dentro de las primeras 24 horas de haber sido activado.
- Retira Efectivo: Entrega el dinero basado en el casete con más dinero disponible
Interactuando con Backdoor.Ploutus.B a través del teclado del cajero
Los atacantes envían un código de 16 dígitos a través del teclado del cajero, dicha información es recibida por el Servicio de NCRDRVP :
• 123456789ABCDEFG
Dicho código se envía entonces al Dispatcher a través del raw socket. El Dispatcher envía una instrucción de 33 dígitos a Ploutus a través de la línea de comandos:
cmd.exe / c Ploutos.exe 5449610000583686 = 123456789ABCDEFG
Si los últimos 16 dígitos son igual a: 2836957412536985 , entonces Ploutus generará un ID del cajero.
Si Ploutus genera un ID del cajero, los atacantes pueden ingresar otros 16 dígitos, pero sustituyendo los dos últimos teniendo la siguiente funcionalidad:
Si los dos últimos dígitos son 99:
• Ploutus se detiene
Si los dos últimos dígitos son 54:
• Se activara el cajero listo para entregar dinero
• Establece el contador de tiempo para entregar el dinero (24 horas)
Si los dos últimos dígitos son 31:
• El cajero entregara el dinero calculado e imprimirá la configuración completa del mismo si detecta una impresora USB conectada a la maquina
Proceso de Retiro de Efectivo
- Identificará el número de dispositivos dispensadores en el cajero automático.
- A continuación, obtiene el número de casetes disponibles por dispensador y los carga. En este caso, el malware supone que hay un máximo de cuatro casetes por dispensador ya que conoce el modelo y diseño del cajero comprometido. Los casetes contienen los billetes disponibles en el cajero.
- Calcula la cantidad de dinero a entregar basado en un numero fijo de billetes (40), multiplicado por la denominación actual de la unidad.
- Después inicia la operación de retiro de efectivo. Si el casete implicado en este proceso tiene menos de 40 unidades (billetes) disponibles, entonces encontrara el casete con mas billetes disponibles y vaciará solamente esa unidad.
- Abrirá un panel (ver Figura 2) donde desplegará los detalles de la transacción así como la cantidad de dinero disponible en el cajero.
- Ploutus oculta el panel y queda en espera de nuevas solicitudes de entrega de dinero.
Lo que este descubrimiento pone sobre la mesa es el creciente nivel de cooperación entre los criminales del mundo físico tradicional con hackers y delincuentes cibernéticos. Con el uso cada vez mayor de la tecnología en todos los aspectos de la vida y las nuevas medidas de protección, los delincuentes tradicionales se están dando cuenta de que, para llevar a cabo robos con éxito, ahora requieren otro conjunto de habilidades que no necesitaban en el pasado. Los ladrones modernos de bancos ahora necesitan tener en su equipo a profesionales en tecnología calificados para ayudarles a robar.
Este tipo de situaciones no sólo pasa en las películas, está sucediendo en la vida real y es un ejemplo de cómo los ciberataques se están volviendo más específicos, recordemos que según datos del Informe sobre Amenazas a la Seguridad en Internet de Symantec, en 2012 los ataques dirigidos crecieron 42% y el sector financiero es el segundo sector más atacado por este tipo de cuestiones con 19% del total. Datos de septiembre de este año revelan que el 13% de los ataques por industria tuvo al sector financiero en la mira.
Cabe mencionar que los usuarios de los cajeros automáticos no están siendo afectados por esta situación directamente, sino que son las instituciones financieras las que están siendo blanco de este ataque, por ello, Symantec recomienda lo siguiente:
- Configurar el BIOS boot order para que solamente formatee o reinicie desde el disco duro (y no desde CD/DVD, USBs, etc)
- Asegurar el BIOS con una contraseña para que los atacantes no puedan reconfigurar o modificar de reinicio.
- Asegurar que las firmas de su AV o solución de seguridad estén actualizadas.
Symantec Security Response continuará monitoreando el comportamiento y evolución de de Backdoor.Ploutus para mantener a sus clientes protegidos.