Español | English
rss facebook linkedin Twitter

NeoPocket: Un nuevo malware para cajeros automáticos

A finales de septiembre de 2013 se detectó una nueva familia de malware conocida como Ploutus enfocada al control y acceso a cajeros electrónicos de una marca de cajeros situados en México. Desde entonces la amenaza se ha extendido a otros países y ha evolucionado a nuevas variantes del mismo.

Recientemente se nos solicitó que investigáramos un ataque similar; en donde posiblemente se había usado malware para vaciar varios cajeros automáticos. Esperábamos que fuera Ploutus, sin embargo observamos varias incongruencias. Primero, todos los cajeros afectados pertenecían a un modelo diferente de los afectados por Ploutus. Segundo, respecto a la muestra de malware que obtuvimos, no presentaba similitudes a nivel del binario cuando la comparábamos con Ploutus, es más la muestra no había sido desarrollado ni siquiera en la misma plataforma que Ploutus.

Después de realizar algunas indagaciones llegamos a una conclusión: estábamos tratando con algo completamente nuevo, un malware sin clasificar y desconocido para el público. Decidimos referirnos internamente a él como NeoPocket debido a una cadena de caracteres que observamos en el binario. En las siguientes líneas intentaremos arrojar alguna luz sobre los engranajes de esta nueva amenaza.

Activación e instalación

NeoPocket está escrito en Visual Basic y la instalación parece que es realizada a través de un dispositivo USB, por lo que se requiere acceso físico al sistema instalado en el ATM; y solo se instala si detecta que está situado en la raíz de cualquier unidad.

Una vez se conecta, ejecutan el binario con nombre CSS1.exe el cual presenta la siguiente ventana:


que espera la introducción de un código de instalación que se genera en base a la fecha:


Si se introduce correctamente, busca las siguientes carpetas:


Si encuentra cualquiera de ellas junto con los ficheros css.ini y devices.ini, se copia a sí mismo en ese directorio; y crea, inicialmente, los siguientes ficheros:
  • Casas.txt
  • devices2.ini
  • devicex.ini
  • borrar.exe
También creará una clave en el registro para sobrevivir al reinicio, modificando la configuración del cliente de la siguiente manera:


Al finalizar, mostrará el siguiente mensaje y terminará la instalación:


Quedándose a la escucha en la forma descrita en el siguiente punto.

Así mismo, para asegurarse el acceso automático a la unidad, monitoriza la clave de registro \SYSTEM\CurrentControlSet\Services\USBSTOR\, cambiando el valor de Start a 3 si ha sido modificado a cualquier otro, en un intento de impedir la lectura automática.

Captura de información

Una de las funcionalidades principales del malware motivo de análisis parece ser la captura de la información que maneja el cajero. Para ello se queda a la espera hasta que detecta una petición de datos con los siguientes títulos:
  • Escriba la clave ‘A’
  • Escriba la clave ‘B’
  • Enter the key ‘A’
  • Enter the key ‘B’
En ese momento captura las credenciales y datos de transacciones que almacena en nuevos ficheros con nombres casaA1.txt o casaB1.txt (Donde los números son secuenciales) respectivamente.

Además se queda a la escucha en el puerto 6000:


que junto con el cambio en la configuración del software le permitiría realizar un ataque de tipo Man in the Middle.


Por lo tanto, toda la información que se transmite a dicho puerto, es almacenada en el fichero Casas.txt creado durante la instalación.

Como resumen de lo visto hasta ahora, se muestran todos los ficheros usados por el malware para la captura de información y gestión del mismo:


Interacción y control

La forma de interacción con el binario malicioso es a través del socket raw a la escucha descrito en el punto anterior, que por defecto almacena toda la información de las transacciones y la que se introduce por teclado y/o pantalla.

Entre la información que le llega, busca una serie de patrones que actuarán a modo de comando para obtener información y realizar diferentes acciones:


Finalmente, el resto del control es realizado a través del propio dispositivo USB.

De esta forma, le basta con crear unos ficheros con un nombre específico en la raíz de la unidad, ya que al detectarlos ejecutará una serie de acciones predeterminadas. Los “comandos” serían los siguientes:


Recomendaciones
  • Bastionar físicamente el ATM en su totalidad y no exclusivamente la caja de seguridad del dinero, de modo que sobre todo se impida acceder a los puertos de conexión del sistema informático. Asi mismo, hacer comprobaciones periódicamente de la integridad de los ATMs, en especial tras cada ocasión en los que se lleven a cabo operaciones rutinarias o extraordinarias de mantenimiento de los cajeros.
  • Contemplar el uso de medidas adicionales de seguridad como CCTV.
  • Desactivar en la BIOS las unidades de USB y CD-ROM y proteger el acceso a esta mediante password.
  • Cifrar el disco para impedir que sea manipulado.
  • Planificar y migrar a versiones superiores de Windows los cajeros automáticos donde exista un Windows XP que haya sido instalado físicamente o de forma virtual, dado que el soporte de Windows XP ha llegado a su fin. Como alternativa pudiera procederse a la sustitución del sistema operativo Windows XP por sistemas operativos distintos. Esta recomendación aplica a todas las versiones de Windows XP y al Windows XP Professional for Embedded Systems. Sin embargo, se ha de tomar en cuenta, no obstante, que en el caso de ATMs que cuenten con instalaciones de Windows XP Embedded (Toolkit and Runtime), en cualquiera de sus versiones, el soporte se extiende hasta el 12 de enero de 2016.
  • Usar sistemas integrales de protección a tiempo real como el que ofrece Lookwise Device Manager para ATMs.

Sample MD5:  1a6a240d2d03eb2c66c17a6593d4b6d2

Jozsef Gegeny y Santiago Vicente

7 comentarios:

jmzc dijo...

Muy interesante.
¿ Entonces dejan el dispositivo USB físicamente conectado al cajero ?

No es que Windows XP sea virtuoso en
seguridad pero ¿ no requiere permisos de administrador para instalar cualquier programa ? ¿ acaso el sistema está funcionando con un usuario privilegiado ?

No parece complicado averiguar quien está detrás de esto ya que el acceso al cajero debe estar limitado a pocas personas. Y si encima está en varios cajeros, se reduce a muy muy pocas.


S21SEC dijo...

Lo primero, gracias por su comentario.

Respondiendo a sus preguntas, el dispositivo USB se conecta inicialmente para realizar la infección y posteriormente para el control del mismo pero no es necesario dejarlo físicamente conectado el resto del tiempo.

En cuanto a los permisos necesarios para instalarlo, al menos en las máquinas analizadas, la configuración tenía suficientes privilegios como para realizar la infección.

Y en lo que respecta al acceso, hay que tener en cuenta que normalmente el acceso al sistema que controla el cajero está asegurado por una pequeña cerradura que dista mucho de la seguridad empleada para la caja fuerte del mismo, por lo que realmente no es necesario que se trate de una persona con acceso legítimo.

Un saludo

Ronaldo Lima dijo...

Podría por favor compartir lo sample 1a6a240d2d03eb2c66c17a6593d4b6d2?

Todavía no está en VirusTotal.

Muchas gracias!

S21SEC dijo...

Buenas Ronaldo

Todavía no podemos compartirlo, pero en breve lo haremos y os mantendremos informados.

Muchas gracias por tu participación!

Sergio González dijo...

Lo que me parece más lamentable de esto es que no exista una clara política de seguridad que, entre otras cosas, prohíba el acceso físico al ATM, la ejecución del aplicativo como administrador, inste a una revisión periódica, etc. En fin, lo que habéis comentado, pero el problema no es este malware, sino que en esas condiciones son carne de cañón.
Salu2.

Sergio González dijo...

Lo que me parece más lamentable de esto es que no exista una clara política de seguridad que, entre otras cosas, prohíba el acceso físico al ATM, la ejecución del aplicativo como administrador, inste a una revisión periódica, etc. En fin, lo que habéis comentado, pero el problema no es este malware, sino que en esas condiciones son carne de cañón.
Salu2.

Marina dijo...

Enhorabuena por el blog.

La seguridad en los cajeros es algo realmente importante y todo lo que se pueda avanzar en el tema será de gran ayuda a la hora de fabricar cajeros que puedan estar protegidos ante cualquier ataque.

Un saludo


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login