Hackean un cajero automático en la RootedCON y revelan su seguridad

0
1100

La semana pasada se celebró una nueva edición de RootedCON, el evento de ciberseguridad que crece año tras año en asistencia y popularidad, y que este año de hecho planteó dos hilos paralelos de conferencias para dar cabida aún a más contenidos.

En ‘TLOTA – The Lord Of The ATMs” Rubén Garrote y Rubén Ródenas analizaron en detalle la arquitectura software de un cajero automático convencional. No solo eso: llevaron un cajero físico al evento, aunque finalmente no hubo tiempo para una demostración en vivo de lo que era posible hacer al atacar sus puntos débiles.

Estos dos expertos en ciberseguridad contaron con el apoyo de su empresa, Deloitte, para lograr comprar un cajero y hacer auditoría interna en unas máquinas que como contaron son realmente difíciles de conseguir en el mercado. “Esto no lo vas a encontrar en un chino”, bromeaban durante la charla, y explicaron que incluso desesperados llegaron a buscar “ATM” en Amazon.

Finalmente una persona de Turquía que se dedicaba a reacondicionarlos les vendió uno (el coste ronda los 2,500 euros incluyendo transportes y aduanas), lo que permitió que pudiesen comenzar a hacer ingeniería inversa con la limitada documentación disponible y el malware que se había descubierto por parte de anteriores expertos en ciberseguridad.

Todos los cajeros hacen uso de una arquitectura y componentes más o menos iguales, aunque obviamente cada fabricante introduce sus propios protocolos.

En ellos se integra un sistema operativo (normalmente Windows, y en algunos casos “Windows 98, qué buena idea”, bromeaban de nuevo Garrote y Ródenas) con aplicaciones como antivirus, software de gestión remota (DameWare, TeamViewer) y las aplicaciones bancarias propias.

El análisis de la estructura lógica del sistema operativo dejaba claro que existían diversos vectores de ataque, tanto en las APIs XFS como en el XFS SPI, la capa que existe por debajo y que se comunica directamente con el núcleo del sistema operativo.

“Primero atacamos las XFS API, y si eso no hubiera funcionado hubiéramos atacado al XFS SPI o, en último lugar, al driver”, explicaban estos expertos.

Hace tiempo que existe malware específico para cajeros automáticos, con ejemplos que van desde el Ploutus de octubre de 2013 a Ripper, que apareció en septiembre de 2016 y que era especialmente sofisticado.

Uno de ellos, Tyupkin, fue el causante de que una red de ciberdelicuentes saquease recientemente una buena cantidad de cajeros en toda Europa gracias a este malware disponible para ciertos cajeros de NCR.

Estos malware acaban haciendo posible el desarrollo de clientes XFS desarrollados específicamente para el control de cajeros, y tenemos a un buen ejemplo a DispenseAll, un desarrollo que apareció publicado en GitHub y que permitía, como el propio nombre indica, dispensar todo el dinero de un cajero.

El código desapareció de GitHub hace apenas un mes por exigencia de la DMCA (Digital Millenium Copyright Act).

Los ataques físicos, contaban estos expertos, también han evolucionado, y ahora abrir los cajetines del cajero es factible a través de técnicas de lockpicking y de impresoras 3D que permitan replicar llaves fácilmente.

En su auditoría interna lograron analizar el acceso directo a la SPI para acabar programando TLOTA, una sencilla utilidad de auditoría en Python con la que aprovechar las vulnerabilidades detectadas y lograr hacer todo lo que quisieran en el cajero.

Es posible sacar todo el dinero de los cajeros ATM, y para ello los ciberdelincuentes hacen uso de una “mula” (como la llamaban estos expertos) que se pasa por el cajero un domingo a las 4 de la madrugada, por ejemplo.

Es entonces cuando se conectan al cajero para ordenar esa operación, y luego la “mula” lleva el dinero a los ciberdelincuentes.

Un simple ejemplo, porque también se pueden hacer operaciones en cuenta e ingresos falsos de dinero que hagan que parezca que ingresas 50 pero en tu cuenta aparezcan 500 o 5.000… por poner una cantidad cualquiera.

Aunque no hubo demostración en directo de esa funcionalidad, los asistentes sí pudimos ver cómo es un cajero por dentro y cómo en el caso del ejemplo el ordenador que lo controla todo es un Pentium 4 que está conectado al sistema de cajetines en los que están los distintos tipos de billete.

Esta es la parte posterior de un cajero: el PC a la izquierda (un Pentium 4 con su disquetera, su unidad de DVD y sus puertos colocados al revés) se conecta por ejemplo a un panel de control de operador (con el teclado numérico de teclas blancas y la pantalla LCD básica) para las opciones del cajero.

Algo curioso: este cajero dispone de un sistema antivandalismo que echa tinta sobre los billetes para volverlos inservibles en casos de ataques a la fuerza.

Eso, por supuesto, no parece preocupar mucho a los ciberdelincuentes, que como quedó demostrado tienen muchas opciones a la hora de que los cajeros obedezcan todas sus órdenes.

Fuente: RootedCON.

rooted2016_3_024

Foto del avatar

Comments are closed.