No sabemos si has visitado la web de la empresa, pero General Bytes, una empresa checa que vende cajeros automáticos de Bitcoin, está insistiendo a sus usuarios a parchear un error crítico en su software de servidor que permite robar dinero.
La empresa afirma haber vendido en todo el mundo más de 13.000 cajeros automáticos, que se venden a partir de 5000 USD, dependiendo de las características.
No todos los países han visto con buenos ojos los cajeros automáticos de criptomonedas: el organismo regulador del Reino Unido, por ejemplo, advirtió en marzo de 2022 que ninguno de los cajeros automáticos que operaban en el país en ese momento estaba registrado oficialmente, y dijo que “se pondría en contacto con los operadores para pedirles que cerraran las máquinas”.
Fuimos a comprobar nuestro cajero automático de criptomonedas local en ese momento, y lo encontramos mostrando un mensaje de “Terminal offline”. (El dispositivo ya ha sido retirado del centro comercial donde estaba instalado).
No obstante, General Bytes afirma que presta servicio a clientes de más de 140 países, y su mapa global de ubicaciones de cajeros automáticos muestra su presencia en todos los continentes excepto en la Antártida.
El incidente de seguridad
Según la base de conocimientos del producto de General Bytes, la semana pasada se descubrió un “incidente de seguridad” con un nivel de gravedad máximo.
En palabras de la empresa
El atacante fue capaz de crear un usuario administrador de forma remota a través de la interfaz administrativa de CAS mediante una llamada a la URL de la página que se utiliza para la instalación por defecto en el servidor y la creación del primer usuario de administración.
Por lo que sabemos, CAS es la abreviatura de Coin ATM Server, y todo operador de cajeros automáticos de criptomonedas de General Bytes necesita uno de ellos.
Parece que puedes alojar tu CAS donde quieras, incluso en tu propio hardware en tu propia sala de servidores, pero General Bytes tiene un acuerdo especial con la empresa de alojamiento Digital Ocean para una solución en la nube de bajo coste. (También puedes dejar que General Bytes gestione el servidor por ti en la nube a cambio de una comisión del 0,5% de todas las transacciones en efectivo).
Según el informe del incidente, los atacantes realizaron un escaneo de puertos de los servicios en la nube de Digital Ocean, buscando servicios web de escucha (puertos 7777 o 443) que se identificaran como servidores CAS de General Bytes, con el fin de encontrar una lista de víctimas potenciales.
Obsérvese que la vulnerabilidad explotada aquí no se reducía a Digital Ocean ni se limitaba a las instancias CAS basadas en la nube. Suponemos que los atacantes simplemente decidieron que Digital Ocean era un buen lugar para empezar a buscar. Recuerda que con una conexión a Internet de muy alta velocidad (por ejemplo, 10Gbit/seg), y utilizando software de libre acceso, los atacantes decididos pueden escanear todo el espacio de direcciones de Internet IPv4 en horas, o incluso minutos. Así es como funcionan los motores públicos de búsqueda de vulnerabilidades como Shodan y Censys, que rastrean continuamente Internet para descubrir qué servidores y qué versiones están actualmente activos en los lugares de la red.
Al parecer, una vulnerabilidad en el propio CAS permitió a los atacantes manipular la configuración de los servicios de criptomoneda de la víctima, incluyendo:
- Añadir un nuevo usuario con privilegios administrativos.
- Utilizar esta nueva cuenta de administrador para reconfigurar los cajeros automáticos existentes.
- Desviar todos los pagos no válidos a un monedero propio.
Por lo que podemos ver, esto significa que los ataques realizados se limitaron a transferencias o retiros en los que el cliente cometió un error.
En estos casos, al parecer, en lugar que el operador del cajero automático recogiera los fondos mal dirigidos para poder reembolsarlos posteriormente o redirigirlos correctamente, los fondos irían directamente y de forma irreversible a los atacantes.
General Bytes no ha dicho cómo ha llegado a su conocimiento este fallo, aunque imaginamos que cualquier operador de cajeros automáticos que se enfrentara a una llamada de asistencia por una transacción fallida se daría cuenta rápidamente de que la configuración de su servicio había sido manipulada, y daría la alarma.
Indicadores de compromiso
Al parecer, los atacantes dejaron varias señales reveladoras de su actividad, por lo que General Bytes pudo identificar numerosos indicadores de compromiso (IoC) para ayudar a sus usuarios a identificar las configuraciones de CAS hackeadas.
Recuerda que la ausencia de IoCs no garantiza la ausencia de atacantes, pero los IoCs conocidos son una manera práctica para empezar cuando se trata de la detección y respuesta a las amenazas.
Afortunadamente, tal vez debido al hecho de que este exploit se basó en pagos no válidos, en lugar de permitir a los atacantes vaciar los cajeros automáticos directamente, las pérdidas financieras generales en este incidente no alcanzan las cantidades multimillonarias que a menudo se asocian con los errores en criptomonedas.
General Bytes afirmó esta semana que el “incidente fue reportado a la policía checa. El daño total causado a los operadores de cajeros automáticos, según sus comentarios, es de 16.000 dólares”.
La empresa también desactivó automáticamente los cajeros automáticos que gestionaba en nombre de sus clientes, por lo que éstos tuvieron que iniciar sesión y revisar sus propias configuraciones antes de reactivar sus dispositivos ATM.
¿Qué hacer?
General Bytes ha enumerado un proceso de 11 pasos que sus clientes deben seguir para solucionar este problema, que incluye
- Parchear el servidor CAS.
- Revisar la configuración del firewall para restringir el acceso al menor número posible de usuarios de la red.
- Desactivar los terminales de cajeros automáticos para que el servidor pueda volver a ser revisado.
- Revisar todos los ajustes, incluidos los terminales falsos que puedan haberse añadido.
- Reactivar los terminales sólo después de completar todos los pasos de búsqueda de amenazas.
Este ataque, por cierto, es un recordatorio de por qué la respuesta actual a las amenazas no consiste simplemente en parchear agujeros y eliminar el malware.
En este caso, los delincuentes no implantaron ningún malware: el ataque se realizó simplemente a través de cambios de configuración malintencionados, dejando intactos el sistema operativo subyacente y el software del servidor.