Te habrás dado cuenta de que nos gusta hablar de robos en cajeros automáticos. No, nosotros no los hackeamos, pero cuando alguien lo hace, investigamos el caso. En el SAS 2017, el evento principal sobre ciberseguridad del año, los expertos de Kaspersky Lab Sergey Golovanov e Igor Soumenkov hablaron de tres casos interesantes.
https://media.kasperskydaily.com/wp-content/uploads/sites/87/2020/07/03045851/sas-atm-malware-featured.jpg
ATMitch: malware por control remoto
El cajero automático estaba vacío. Los forenses del banco no encontraron archivos maliciosos, ni huellas extrañas, ni rastros de ninguna interacción física con el dispositivo, ni placas bases adicionales ni ningún otro dispositivo que pudiera usarse para tomar el control de la máquina. Tampoco encontraron dinero.
Lo que sí encontraron los empleados del banco fue un archivo: kl.txt. Pensaron que “kl” tenía algo que ver con Kaspersky Lab, por lo que se pusieron en contacto con nosotros y así fue cómo empezamos a investigar el caso.
Teníamos que empezar a investigar por alguna parte, por lo que nuestros investigadores empezaron por ese archivo. Según el contenido de su registro, pudieron crear una regla YARA (YARA es una herramienta de investigación de malware); básicamente, hicieron una petición de búsqueda en depósitos públicos de malware. Lo usaron para tratar de encontrar la muestra de malware original y, un día después, obtuvieron resultados: un DLL llamado tv.dll que por aquel entonces se había detectado un par de veces (una vez en Rusia y otra en Kazajistán). Eso bastó para deshacer el entuerto.
Una investigación a fondo del DLL permitió a nuestros investigadores realizar ingeniería inversa del ataque, comprender cómo se llevó a cabo de verdad y reproducir el ataque en un cajero de prueba con dinero falso en nuestro laboratorio de pruebas. Esto es lo que averiguaron:
ATMitch en acción
El ataque tuvo lugar porque los malos hicieron uso de una vulnerabilidad conocida pero no parcheada y penetraron en los servidores del banco. ¿No hemos mencionado que actualizar el software es obligatorio? Este es un buen ejemplo.
Los atacantes usaron un código abierto y herramientas disponibles públicamente para infectar los ordenadores del banco, pero el malware que crearon se escondía en la memoria de los ordenadores, no en sus discos duros. No había archivos, por lo que el ataque era muy difícil de localizar (era prácticamente invisible para las soluciones de seguridad). Peor, casi todas las pistas del malware desaparecieron cuando el sistema se reinició.
Entonces, los atacantes establecieron una conexión con su servidor de mando y control, lo que les permitió instalar remotamente software en los cajeros automáticos.
Kaspersky Lab analiza el malware ATMitch y descubre una misteriosa forma de robar dinero de cajeros automáticos https://t.co/c5GsaRhLuH
— Portaltic.es (@Portaltic) April 5, 2017
El malware en cuestión, ATMitch, se instaló y se ejecutó en el cajero directamente desde el banco mediante herramientas de control remoto. Pareció una actualización legítima, por lo que ninguna de las soluciones de seguridad del banco dio la alarma. Tras ello, el malware empezó a buscar un archivo llamado command.txt que contenía los comandos de control del cajero. Por ejemplo, “O” es para “abrir el dispensador de efectivo”.
Aquí empieza lo interesante. El malware empieza con un comando para solicitar la cantidad de dinero de la que dispone el cajero seguido de un comando para dispensar cierto número de billetes. Cuando se enviaba el comando, llegaba una mula de dinero al lugar para tomarlo e irse.
Los delincuentes trataron de no dejar ninguna pista, por lo que no había ejecutables en el disco duro del cajero. Una vez dispensado el dinero, ATMitch escribía toda la información concerniente a la operación en un registro y dejaba limpio el archivo command.txt. Un apunte importante: ATMitch podía instalarse en la gran mayoría de cajeros existentes, el único requisito es que sea compatible con librerías XFS y muchos lo son.
Podrás encontrar más detalles adicionales sobre el malware ATMitch en Securelist.
Bl@ckb0x_m@g1k: un truco simple e inteligente
La siguiente historia, que también empezó con una petición del banco, es más corta. Los registros del cajero también estaban limpios. El disco duro estaba intacto y el atacante había cubierto las cámaras de seguridad, por lo que no había imágenes de lo sucedido.
Pedimos al banco que llevara el cajero a nuestra oficina. Lo desmontamos e hicimos un descubrimiento impresionante: un adaptador Bluetooth conectado al USB del cajero. Y en el disco duro había drivers para un teclado Bluetooth.
A partir de ahí, reconstruir el robo fue fácil. Alguien instaló un adaptador Bluetooth en el cajero y esperó tres meses para que se limpiaran los registros. Entonces, el delincuente volvió con un teclado Bluetooth, cubrió las cámaras de seguridad, usó el teclado para reiniciar el cajero en modo de servicio y, finalmente, ejecutó la operación de servicio para vaciar el dispensador. Eso es todo.
El taladro (uno de verdad)
Algunas soluciones, como el malware por control remoto y los teclados Bluetooth parecen elegantes. El próximo truco no lo es.
La historia empieza como las otras: un banco contacta con nosotros para investigar otro robo a un cajero. Esta vez, los forenses habían encontrado evidencias claras de intervención física: un agujero perfectamente redondo de unos 4 cm de diámetro cerca del teclado de pin. Y nada más. El cajero parecía robusto, pero también tenía partes de plástico. Y esas son fáciles de perforar.
En un corto plazo de tiempo, hubo muchos casos como ese en Rusia y Europa. Cuando la policía atrapó a un sospechoso con un portátil y unos cables, todo empezó a cobrar sentido.
Como hemos mencionado, tenemos un cajero en nuestro laboratorio, por lo que lo desmontamos para aprender a qué podía estar intentando acceder el atacante mediante dicho agujero. Encontramos un conector de 10 pines conectado a un autobus que básicamente interconectaba todos los componentes del cajero (desde su computadora interna al dispensador de efectivo).
También descubrimos un cifrado muy débil que se podía romper en poco tiempo.
Cualquier parte del cajero podía controlar a todas las demás, no había autentificación entre las partes (por lo que se podía reemplazar una sin que se percibiera) y los comandos usados para controlarlas eran muy fáciles de comprender. ¿Es eso seguro?
Nos costó unos 15 dólares y algo de tiempo adquirir una simple placa que pudiera controlar el cajero una vez conectada al serial bus. Mediante ella, pudimos hacer nuestra prueba para que el cajero dispensara dinero (falso). Al parecer, los delincuentes han usado este método en cajeros con dinero de verdad, pero necesitaban una laptop para lograrlo.
Cuatro formas de #hackear un cajero automático https://t.co/0j6cxuAzF4 #bancos #ATM pic.twitter.com/VMcBodmAyj
— Kaspersky España (@KasperskyES) September 30, 2016
Notificamos al banco nuestras conclusiones, pero el problema era que, como mencionó Igor Soumenkov, el cajero no puede ser actualizado de forma remota. El parcheo requiere un hardware de actualización y ello requiere que un técnico vaya a ver el cajero (o, en realidad, muchos cajeros).
¿Entonces qué?
Finalmente, si no eres un empleado bancario, ninguna de las amenazas anteriores te afecta. Son problemas del banco, no tuyos. Sin embargo, si trabajas en un banco y tienes influencia en la protección de los cajeros, podemos ayudarte con el malware ATMitch, el cual pueden detectar las soluciones de seguridad de Kaspersky Lab. Pero no tenemos un protocolo antitaladro. Detectarlo es cosa tuya y de las cámaras de seguridad.