Ir a contenido
Point of Fail: Hacking a POS Device with WHIDBOARD

Punto de fallo: Hacking de un dispositivo POS con WHIDBOARD

Nota del editor: Segunda entrada de nuestra serie sobre hacking de hardware con la propia leyenda del hacking de hardware... Luca Bongiorni. En esta ocasión, Luca centra su atención en un terminal de pago (TPV) que ha detectado en el mundo real y, partiendo únicamente de una fotografía, recorre una cadena de ataque de OSINT a root que culmina en un acceso root sin autenticación tanto a través de UART como de la red.
Si le interesa el hacking de hardware, eche un vistazo al WHIDBoard Pro Set y descubra cómo convertirse en un hacker de hardware certificado.

DE LA COLA DE LA CAJA A UN SHELL DE ROOT

Hace algún tiempo estaba de compras por la ciudad cuando me topé con un interesante POS (punto de venta). Mientras el cajero preparaba la bolsa de la compra, saqué rápidamente mi teléfono y tomé un par de fotos para referencia futura…

Worldline payment terminal sitting on a shop counter
El terminal de punto de venta que me llamó la atención mientras hacía la compra
Underside of the Worldline POS showing the regulatory label
Al darle la vuelta rápidamente, descubrí la etiqueta reglamentaria en la parte inferior

Una vez en casa, empecé a examinar más de cerca las etiquetas situadas debajo del TPV y enseguida me di cuenta de algo interesante… se veía claramente un ID de la FCC (es decir, SEKMA512)! 😎

Close-up of the POS label with the FCC ID visible
El ID de la FCC en la etiqueta: la única información que necesitaba para empezar

¡Reconocimiento pasivo – ¡Hora de OSINT!

Con esa información, pude obtener rápidamente más detalles sobre este nuevo DUT (dispositivo bajo prueba) incluso sin tener uno (todavía).

FCC ID database exhibits listing for the device
La lista de resultados de la base de datos de la FCC: fotos internas, manuales, esquemas y diagramas de bloques, todo público

En la base de datos de la FCC pude obtener más detalles sobre las placas de circuito impreso internas, cómo funciona el dispositivo y si cuenta con alguna función antimanipulación que impida los intentos de hacking del hardware.

Bill of materials from FCC filing with tamper-related parts highlighted
La lista de componentes del expediente de la FCC, con los componentes de detección de manipulación resaltados
Exploded view diagram pointing to the anti-tamper switches
Un diagrama de vista explosionada que señala los interruptores antimanipulación alrededor de la carcasa de seguridad
Front and back photos of the YOMANI card reader PCB
Fotografías internas de la FCC de la placa de circuito impreso del lector de tarjetas YOMANI Touch (parte delantera y trasera)

En concreto, al revisar su manual, pude confirmar que, efectivamente, este TPV (al igual que cualquier otro dispositivo similar que maneje datos de tarjetas de crédito) cuenta con algunas medidas de seguridad para impedir que los actores maliciosos manipulen físicamente la placa de circuito impreso, tal y como se muestra en las imágenes anteriores.

Sin embargo, no me rendí y seguí examinando los documentos de la base de datos de la FCC para comprender mejor el conjunto del DUT y completar mi modelo de amenazas inicial, buscando posibles puntos de entrada.

FCC internal pictures of the YOMANI mainboard and keyboard PCBs
Imágenes internas de la FCC de la placa base y las placas de circuito impreso del teclado del YOMANI ML/XR

Como puede observarse en la imagen anterior, la placa principal cuenta con varios puntos de prueba. Algunos de ellos despertaron mi interés, especialmente porque parecían ser accesibles desde el exterior sin necesidad de abrir la carcasa del TPV, lo que significa que podían explorarse sin activar los mecanismos antisabotaje que borrarían la memoria del dispositivo.

Close-up of the Touch Main XR board highlighting accessible test points
Un grupo de puntos de prueba en la placa Touch Main XR, accesibles desde fuera del perímetro de seguridad

Ahora que tenía algunos posibles puntos de acceso, era el momento de comprar algunas unidades de muestra por Internet…

Online marketplace listing for a used YOMANI XR payment terminal
Un terminal YOMANI XR barato «para piezas o que no funciona», pedido por Internet

RECON activo: enumeración de pines con WHIDBOARD

Unos días más tarde, llegaron las muestras del dispositivo bajo prueba (DUT), y el primer paso fue sondear los puntos de prueba con un multímetro para identificar cuáles eran eléctricamente relevantes. Una vez que los había reducido, utilicé la función de analizador lógico integrada en WHIDBOARD para comprobar si el TPV estaba emitiendo algún dato.

WHIDBOARD wired to the opened POS for logic analysis
WHIDBOARD conectado a los puntos de prueba del TPV abierto

Tras probar diferentes pines, como puede verse en la captura de pantalla siguiente, finalmente encontré la línea TX de una interfaz de depuración UART. 😎

PulseView decoding UART data captured from the TX line
PulseView decodificando la salida de arranque UART capturada en la línea TX

¡Ahora es el momento de poner en marcha la función Pin Enumerator de WHIDBOARD para encontrar también el pin RX!

WHIDBOARD Pin Enumerator wired to the POS test points
Conexión del Pin Enumerator de WHIDBOARD para realizar un ataque de fuerza bruta a los pines UART restantes
Pin Enumerator output reporting the discovered UART pins and baud rate
El Pin Enumerator se sincroniza con el UART: TXD, RXD y una velocidad de transmisión de 115200
UART passthrough session showing the device boot log
Pasando al modo de paso directo UART y observando el arranque del dispositivo

Dejar que el DUT completara el proceso de arranque condujo a algo verdaderamente inesperado

UART console dropping into a BusyBox root shell
El arranque finaliza directamente en un shell de root de BusyBox: uid=0(root) gid=0(root)

Este punto de venta no solo expuso una interfaz UART totalmente funcional fuera de su perímetro de seguridad antimanipulación —lo que indica un fallo tanto en el modelado de amenazas durante la I+D como en la validación de seguridad previa a la producción—, sino que esta interfaz de depuración condujo directamente a un shell de root. 💥🤯

Manos a la obra: interactuando con el DUT como root

En este punto, las cosas se complicaron rápidamente. Utilizando WHIDBOARD, había identificado un UART expuesto que conducía a un ACCESO ROOT COMPLETO Y SIN AUTENTIFICAR…

Lo que vino a continuación fue que exploré el sistema de archivos del dispositivo, inspeccioné los procesos en ejecución y comprendí la arquitectura interna del DUT.

Finalmente, extraje todo el firmware a través de una unidad flash USB utilizando los siguientes comandos…

cat /proc/mtd
dd if=/dev/mtd0 of=/mnt/usb/mtd0.bin
dd if=/dev/mtdblk0 of=/mnt/usb/mtdblk0.bin
tar -cvf /mnt/usb/root.tar /root
dmesg output showing the USB flash drive being attached
Una unidad flash USB conectada al TPV en funcionamiento y detectada por el núcleo
Terminal dumping the NAND partitions with dd to the USB drive
Copiando las particiones NAND sin procesar a la unidad USB con dd
tar archiving the root filesystem, listing payment application files
Archivando todo el /root sistema de archivos, incluida la aplicación de pago y sus claves

Y para demostrar que no solo era capaz de leer el sistema de archivos, sino también de manipularlo… realicé algunos cambios… 😎

POS screen displaying a custom hacked message
Una pequeña prueba de manipulación en la propia pantalla del terminal

RECON activo – Escaneo de red

En este punto, por curiosidad, también comprobé si había servicios de red abiertos en la interfaz Ethernet del dispositivo bajo prueba (DUT). Los resultados fueron alarmantes: el puerto Telnet 23/TCP estaba ABIERTO… 🤯💥

nmap -n -sS 192.168.19.100
Nmap scan reporting port 23/tcp telnet open on the POS
Nmap lo confirma: 23/tcp open telnet en el terminal de pago

Y sí… ¡se podía iniciar sesión (como root) SIN contraseña!

Telnet session logging in as root without a password
Un inicio de sesión como root sin contraseña a través de Telnet, directamente a uid=0(root)
Shodan search results showing exposed POS terminals on port 23
Shodan revela que al menos 61 de estos terminales están expuestos directamente a Internet

En ese momento decidí comprobar en Shodan si alguno de estos TPV estaba conectado a Internet. El resultado: al menos 61 de ellos estaban expuestos en Internet… 🙊🙉🙈

Conclusiones

Este dispositivo bajo prueba (DUT) fue toda una sorpresa: en más de una década de investigación sobre seguridad de TPV, nunca me había encontrado con un dispositivo con tantos fallos acumulados. Analicemos qué falló y por qué es importante.

Fallo en múltiples capas de defensa en profundidad. Este dispositivo presentaba al menos cuatro vulnerabilidades distintas y explotables de forma independiente:

  1. Puntos de prueba de depuración accesibles desde el exterior que eluden las protecciones físicas contra la manipulación;
  2. Una consola UART activa y sin autenticación que permite el acceso al shell de root;
  3. Telnet en el puerto 23/TCP con inicio de sesión de root sin contraseña en la interfaz de red;
  4. Al menos 61 instancias detectables a través de Shodan, expuestas directamente a Internet.

Cada uno de ellos por sí solo constituiría un hallazgo crítico. En conjunto, representan un fallo sistémico en el ciclo de vida de la seguridad del producto, desde el modelado de amenazas y el diseño seguro, pasando por la implementación y las pruebas previas a la producción.

Implicaciones para la infraestructura de pagos. Un terminal de punto de venta con acceso de nivel root de lectura/escritura al sistema de archivos —accesible tanto físicamente como a través de la red— abre la puerta a la instalación de puertas traseras en el firmware, la interceptación de datos de pago y la implementación de implantes persistentes. En entornos en los que se espera el cumplimiento de la norma PCI DSS, este tipo de vulnerabilidad no es una deficiencia marginal: socava todo el modelo de confianza. El hecho de que estos dispositivos estuvieran conectados a Internet amplía el riesgo, pasando de un ataque físico local a uno con escalabilidad remota.

El contexto normativo: la CRA y más allá. Con la entrada en vigor de la Ley de Ciberresiliencia de la UE (CRA), los productos con elementos digitales comercializados en el mercado europeo deberán cumplir requisitos esenciales de ciberseguridad a lo largo de todo su ciclo de vida, incluyendo una configuración segura por defecto, superficies de ataque minimizadas y obligaciones en materia de gestión de vulnerabilidades. Un dispositivo que se comercialice con acceso de root sin autenticación tanto a través de UART como de Telnet constituiría un caso de incumplimiento de libro. Los fabricantes e importadores deben considerar hallazgos como estos como un anticipo de lo que buscarán los reguladores.

Conclusiones clave para los profesionales. Nunca subestime la información de inteligencia de fuentes abiertas (OSINT) disponible públicamente. La base de datos de la FCC por sí sola proporcionó información suficiente para construir un modelo de amenazas preliminar, identificar límites antimanipulación y localizar posibles puntos de entrada, todo ello antes de adquirir una sola unidad. Para los miembros de equipos rojos y los investigadores de seguridad, esto supone un recordatorio de que el reconocimiento pasivo de los documentos presentados ante las autoridades reguladoras puede acelerar drásticamente las evaluaciones de hardware. Para los fabricantes y los miembros del equipo azul, es un recordatorio de que sus presentaciones ante la FCC, desmontajes y manuales de servicio forman parte de su superficie de ataque.

¿QUIERE INICIARSE EN EL HACKING DE HARDWARE?

La herramienta que Luca utilizó para esta auditoría de hardware es la WHIDBoard Pro. La WHIDBoard es una herramienta todo en uno para el hacking de hardware, y es el resultado de docenas de prototipos e iteraciones a lo largo de los años. Está diseñada para proporcionar todas las herramientas —hardware y software— en un kit bien documentado, fiable, profesional y listo para la acción. El conjunto WHIDBoard Pro está fabricado por Lab401, lo que le garantiza tranquilidad en cuanto a calidad y asistencia. Consulte la página dedicada al producto para obtener más información.

¿QUIERE CONVERTIRSE EN UN HACKER DE HARDWARE CERTIFICADO?

La formación en hacking de hardware ofensivo es un curso a su propio ritmo que incluye vídeos, un manual impreso y un fantástico kit de hacking de hardware. Y… ¡se lo enviamos a su domicilio a cualquier parte del mundo! Para más información: https://www.whid.ninja o vea el vídeo de introducción aquí.

Artículo siguiente Libro de recetas para hackers: cómo explotar los electrodomésticos IoT con WHIDBOARD

Dejar un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campos requeridos