Basados en experiencias pasadas de decenas de servicios de auditorias ofensivas de cajeros automáticos y habiendo recorrido todas las marcas y modelos de cada uno de los fabricantes en más de 14 países hemos llegado a la conclusión la gente que quiere entrar nueva a este mercado de servicios profesionales de seguridad ofensiva de cajeros automáticos generalmente o su único objetivo es dispensar dinero siempre por malware (o software con CEN XFS) lo cual  significa que no es ni una revisión profesional ni siquiera una auditoria por que se dejan muchos aspectos a considerar importantes para una buena seguridad .

Como primer paso definir el alcance es muy importante con los clientes ya que este tipo de auditoría y cualquier pequeño hueco que nos dejemos de alcance al final afecta a un ataque que involucra pérdidas de dinero real puesto que los ATM gestionan almacenan y reciben/dispensan dinero.

En cuanto al alcance siempre en las auditorias se debe definir el alcance por:

  • Cantidad de imágenes de ATM (incluyendo las pruebas físicas en el ATM): en cuanto a la imagen o imagen y versión de XFS es importante definir las tecnologías que incluirá el alcance como los perimetrales NFC o biométricos etc.. En esta sección también es importante valorar cuantos modelos de ATM hay por marca puesto que es importante revisar con detenimiento perimetrales como EPP o dispensador.
  • Revisiones de procesos ( o regulaciones como PCI) y seguridad física (como sensores, anti-skimmers, boveda , procesos de reposición de la transportadora de valores)
  • Revisiones de software de terceros como software de seguridad (cifrado, listas blancas , vpn etc..)
  • Revisión de comunicación ATM- switch
  • o una auditoría que incluya todas las fases anteriores o solo fases seleccionadas

Después hay que delimitar el entorno de la prueba generalmente en un laboratorio con un entorno lo más parecido a producción, puesto que si es producción literalmente corremos el riesgo de que exista algún inconveniente como que la policía se pregunte qué haces conectando algo al cajero o algun transeunte reporte comportamiento sospechoso y tengamos que explicar muchas cosas con soporte del cliente.

Despues del entorno y los alcances delimitados importante separar algunas fases en este caso una auditoría básica de imagen, revisión de software de terceros y comunicación que suele ser de las más demandadas y generales, contempla

1.- Revisión de parte fisica (boveda, cerradura superior , alguna protección como sensores que tengan y tipos de gavetas)

2.- Revisión de ataques antes del arranque del Sistema operativo

3.- Revisión de ataques después del arranque del sistema operativo

Consideraciones importantes: cada modelo de Cajero automático las pruebas pueden variar de acuerdo al modelo de hardware y de algunas funciones.

Observacion: si eres una entidad financiera es recomendable que los auditores o empresa de auditoría tenga experiencia previa ya que los ATM no se compara con aplicaciones genéricas en este tipo de auditorías si la consultora no revisa todo o el banco hace caso omiso pues básicamente cuesta dinero y no dinero de ataques de ransomware pagados , sino dinero en líquido y aparte daño de imagen, en otros casos como app Web pues los daños se pueden limitar a una bajada de servicio y de imagen y algun costo interno pero en atm el valor de una pérdida puede extenderse en imagen de la entidad financiera, pérdida de efectivo, costes de reposición o volver a poner productivo el ATM y incremento de posibles costos de seguros de riesgo (por nombrar algunos)

Si en una auditoría la separación de la parte física se puede englobar en los siguientes revisiones:

  • Seguridad de la bóveda, Revisión de la calibración de los sensores, Revisión de los procesos de la transportadora de valores, revisión de tipos de gavetas y posible medición de riesgos de zona por la instalación del ATM , calibración de protecciones físicas (anti-skimmer, soluciones de Gas o pintura)

Luego donde entra la mayor cantidad de trabajo y horas es cuando entramos en los riesgos antes de arrancar el sistema operativo y cuando el sistema operativo está encendido porque entran a jugar otros roles y personal que puede comprometer el ATM.

Para identificar algunos vectores de ataques y entender un poco los tipos de riesgos https://blog.cyttek.com/2019/09/20/vectores-de-ataques-en-atms/

y bueno para pedir una revisión general es importante como decía anteriormente no solamente dispensar sino verificar algunos de los puntos que comentamos con anterioridad y otros puntos que si bien no pretendemos ser una guía de pruebas exactas, por otro lado unos comentarios y observaciones en los tipos de test que se deben de pedir como mínimo en auditorías técnicas, sin incluir procesos o auditoria de servidores.

ABC
1
2
Nombre de la pruebaDescripción
3
Pruebas de seguridad Intel AMTAlgunos Cajeros tienen tecnología Intel ATM desactivada pero presente y tanto desde local como remoto se puede auditar esta tecnología
4
Pruebas de seguridad de BIOS , UEFICuando hablamos de BIOS y UEFI hay que identificar si existen contraseñas por defecto de las marcas y si tiene tecnología UEFI y se puede cambiar el EFI a disposición
5
Pruebas de seguridad de cifrado de discoEn cuanto al cifrado de disco depende del software de seguridad pero hay que contemplar comunicación de envio de llaves, almacenamiento de llaves, seguridad de los drivers del software de seguridad, y aspectos relacionados con una micro auditoría de software comercial
6
Pruebas de seguridad de boot de S.O.el boot es importante que las BIOS tengan tecnología para identificar que durante todo el proceso de boot no existe ninguna modificación o inserción de algún proceso no permitido por el banco
7
Identificación y vectorización de ataques a periféricos
Aqui hay que ver qué periféricos hay por ejemplo, Card reader, lector de checker, depositadores etc.. y sobre cada uno de los vectores identificar en los drivers si existen I/O controles ver como poder comprometerlos o explotarlos , como los casos de pantallas táctiles y sus drivers
8
Login de Windowsen cuanto al login de windows teniendo en cuenta que en las auditorías los bancos saben y aseguran el Cajero por la red muy bien , aquí este tipo de revisión se debe focalizar a que un técnico no pueda comprometer tanto con una modificación de algún archivo interno o con alguna escalada de privilegios o dejando un backdoor simple no puede esquivar de forma simple el acceso de windows y en caso de esquivarlo que el banco cuente con visibilidad suficiente para saber que está pasando
9
Permisos de usuariosOtro tipo de revisión muy importante es que las aplicaciones corran con el mínimo permiso posible sea cual sea, desde un Agilis hasta un notepad corran con el permiso mínimo necesario y que los permisos de acceso de personal que no trabaja en el banco tenga las funciones restringidas necesarias
10
Windows REGEDIT, GPOEvitar editar o ejecutar pruebas que se aseguren que no se puede editar el regedit y concretamente los regedit de las marcas de software XFS ya que pueden comprometer a ciertas configuraciones importantes como direcciones de APIs de XFS, posicionamiento de teclas de epp y configuraciones avanzadas de XFS, aunque también se puede usar para otras funciones de windows pero principalmente aqui hay que asegurarse que no se editen las configuraciones del XFS y software de seguridad.
Desde el punto de politicas GPO poder recomendar las mejores políticas de seguridad pero no las de el departamento de defensa de estados unidos o recomendaciones de las políticas de desktops de Europa o canada , aqui hay que tener en cuenta que aunque un ATM es un PC no es un PC con interacción de usuarios a nivel de windows por lo tanto hay que ser selectivos con las observaciones de GPO..
11
Llaves de técnicos (tipo RSA) y clonaciónEste tipo de pruebas involucran a técnicos de las marcas , aunque por nuestra experiencia hemos visto tokens filtrados y soluciones de token clonadas y se puede efectuar esta prueba para los clientes para que se demuestre que requieren mayor visibilidad en cuanto a las operaciones de los técnicos efectúan en el ATM, una prueba que permita replicar un token y acceder a un menú de Diebold o de NCR demuestra la necesidad de mejores controles de procesos que debe implementar el cliente.
12
Revisión le logs de procesos de ReposiciónEvitar editar o ejecutar pruebas que se aseguren que no se puede editar el regedit y concretamente los regedit de las marcas de software XFS ya que pueden comprometer a ciertas configuraciones importantes como direcciones de APIs de XFS, posicionamiento de teclas de epp y configuraciones avanzadas de XFS, aunque también se puede usar para otras funciones de windows pero principalmente aqui hay que asegurarse que no se editen las configuraciones del XFS y software de seguridad.
Desde el punto de politicas GPO poder recomendar las mejores políticas de seguridad pero no las del departamento de defensa de estos unidos o recomendaicones de las politicas de desktops de Europa o canada , aqui hay que tener encuenta que aunque un ATM es un PC no es un PC con interacción de usuarios a nivel de windows por lo tanto hay que ser selectivos con las observaciones de GPO..
13
DEP, ASLR, SEHOP protecciones de memoriaAunque estas observaciones están más enfocadas en Windows7 con windows 10 muchas de estas protecciones de memoria están en el kernel y solo deben ser revisadas y habilitadas
14
Controles de perimetrales ACLControles de ACL de software de seguridad , al ser un ATM esto no se centra en controles o reglas tipo antivirus aquí hay que identificar si los controles de inserción de hardware y de ejecución de software son suficientes para controlar las políticas requeridas por el banco.
15
identificación de posibles archivos ejecutables de extensiones no comunes
Como muchos que nos dedicamos a la ciberseguridad sabemos hay otras extensiones que windows y otras aplicaciones pueden ejecutar no solo las extensiones exe.dll, .bat. , .cmd sino podemos ejecutar en .hta, ps1 en algunos cajeros .jar en otra marca de cajeros podemos ejecutar .pl y bueno tener una lista de todas las extensiones de archivos que puedan ejecutar instrucciones por fuera del control del software de seguridad es importante.
16
Pruebas de seguridad de XFSen cuanto a los software XFS como APTRA, AGILIS, KAL, Dynasty, MP2 etc.. y sus posibles instalaciones multivendor existen observaciones que contemplar como si el software tienen pantallas o servicios ocultos como procash/probase o si se puede interceptar instrucciones o inyecciones de DLL o otras observaciones de seguridad de software comercial compilado de XFS de ATMs
17
ConfiguracionesPara la operación de ATM no solo hay que observar las posibles falencias de software como inyecciones , sniffing o servicios y opciones ocultas entre otras muchas para una entidad financiera es muy importante la mensajería , la ocultación y agrupación de mensajería XFS y configuraciones de cifrado de dispensador , manejo de llaves de epp entre otras opciones que se presentan en cada software como puertos abiertos modos debug una lista bastante larga de configuraciones que hay que valorar para observar las opciones más seguras y con mejor visibilidad para los clientes
18
Comunicacionesotro punto la comunicación por obvias razones que siempre sea cifrada pero aparte de eso la mensajería de la comunicación ANDC, DDC, NDC , NDC+ cada uno de los protocolos tiene ciertas funciones de mensajería que pueden permitir ataques de red importantes y falta de visibilidad por lo tanto es importante tener experiencia y guias para poder determinar mensajeria importante para la entidad financiera
19
Modo supervisorEl modo super otro aplicativo que puede tener opciones importantes para un riesgo de seguridad y varias pantallas dentro del modo supervisor si la aplicación XFS esta en modo multivendor o no, es importante revisar los posibles riesgos de adminitracion desconfiguraciones y roles de usuarios
20
Manejo de erroresLos Errores y mensajería XFS no solo lo hay que observarlos desde la comunicación sino desde los modos debug, silen debug, AMI y otros logs internos asi como los errores de XFS ocultos que se pueden evitar ser guardados en logs para que el ATM no deje registro de ciertos errores genéricos por lo tanto el manejo de errores y visibilidad profesional del atm es importante esto es más enfocado no a un pentest ofensivo sino a una auditoría integral y profesional
21
Revisión de documentaciónOtro punto de una auditoría es que muchas veces el banco no tiene la documentación por que el proveedor no la entrega o se queda callado y termina intentando la estrategia de preguntame todo a mi(proveedor de atm) y no hagas nada sin mi información y consentimiento, esta estrategia es muy ineficiente por que es como si compras un auto pero no sabes conducirlo y no te dan los manuales .
22
FuzzingFuzzing es una técnica mas enfocada en el descubrimiento de posibles errores de manejo de memoria de software comercial para poder identificar falencias de desarrollo , esta técnica generalmente la empleamos para identificar falencias no muy complejas pero que puede servir
23
MultivendorDe todo lo que hemos medio detallado cuando hablamos de XFS , de supervisor de configuraciones y errores cuando es de forma nativa tiene unos alcances pero cuando es de forma multivendor que es como detallamos cuando un XFS de una marca funciona o se instala y opera en otras marcas las revisiones de interacción son más completas
24
Revisión de protecciones bluid-in del softwaremuchas veces los software del fabricante tienen ciertas protecciones como anti-debugging . anti interceptación no en todos los casos y si es una primera auditoria delimitar qué protecciones tienen y si ya son decenas de auditorias pues ya básicamente las conoces que existe y que no existe de protecciones en cuanto al entorno de ejecución del software del fabricante
25
Drivers los drivers del fabricante están en una seccion especifica y pruebas aparte, ya que existen drivers como pantallas táctiles y dispensadores que existen funciones ocultas que hay que revisar los I/O controles para evitar riesgos a futuro
26
Pruebas de Blackbox de RedBlackbox o caja negra esta pruebas basicamente son ejecutar ataques de hombre en el medio con el protocolo concreto
27
Autorizador Falso (blackbox)El blackbox pero de forma activa se le conoce a ataque activo cuando suplantas por un hombre en el medio al mensaje del autorizador
28
Ataques por Red a otros ATMs de la LANEn algunos casos los ATMs no están lo suficientemente seccionados por lo tanto es posible desde un ATM enviar instrucciones a otro ATM ya que es posible que protocolo de comunicación configurado sea pasivo y recibe instrucciones sin emitir un mensaje previo (como si fuese un UDP pero por TCP en el protocolo NDC o NCD+)
29
Revisión de comunicaciones ISO 8583 o xmlExisten casos de multifunciones como pagos a servicios o servicios avanzados a atms que tienen configuraciones multiservidor en ese caso otros servidores por fuera de los switch comerciales como (B24 o BPC o otros) pueden operar por XML
30
Ataques de USB BlackboxBlackbox de USB es otra modalidad también comentada en el post de vectores de ataques de ATMs
31
Revisión de protocolos de comunicación CPU dispensador
los protocolos de dispensador , configuraciones de re-pareado, intercambio de llaves entre hardware y drivers , identificar si el protocolo de comunicación es el más seguro y con el ultimo parche como pueda ser pasar de un level 2 a leve 3 de NCR o FMPP a FMPP spear+ de Diebold por nombrar algunas observaciones de por que hacer estas pruebas
32
Fuzzing de USBEsta práctica muchas veces detecta fallos que pueden ser aprovechables en otras auditorías o simplemente para poner en aprietos a los fabricantes ya que los desarrolladores generalmente estan en otros países y no hay contacto directo entre el soporte técnico local o el partner local y el developer del driver
33
Pruebas de re-pareado de dispensadorNo solo es instalar y dispensar existen algunos modelos de Hardware de dispensador donde hacer estas pruebas son fundamentales para evitar ataques de endoscopio no aplica para todos los modelos ni todas las configuraciones de protocolos de todos los fabricantes
34
Pruebas de logs de reposición y de mantenimiento
evidenciar que la entidad tenga una buena o mala visibilidad de las operaciones almacenadas en los logs XFS no solo en el journal es importante para luego evitar posibles manipulaciones en ataques a cajeros
35
Downgrade firmware AttackEs una prueba vieja pero todavía funciona en ciertos modelos de dispensadores donde puede degradar la seguridad de la configuración del protocolo de dispensador para poder depender de una seguridad menor para luego accionar otro ataque como un blackbox de usb o un endoscopio
36
Revisión de comunicación EPP y Card Readerpor obvias razones estos perimetrales son de suma importancia para las normas de PCI y para la seguridad del tarjeta habiente , revisar que esten bien configurados y configurados de la forma más segura es importante.
37
Pruebas de EMVQue la entidad financiera esté configurada como se conoce como Full-EMV y no half-EMV para evitar o prevenir ataques de shimming
38
Almacenamiento de llavesSi existe software de cifrado de disco , almacena bien las llaves de cifrado de disco o las envía por red o como hace para mantener cifrado el disco y bootear sin intervención de personas
39
CashtrappingSe puede implentar ataques de atrapado de dinero sin errores o minimzando errores de XFS
40
fireware 7 pinesalgunos modelos de ATM tienen acceso a puertos tipo firewire se puede inyectar ataques por dicho puerto?, se puede interceptar comunicaciones por puertos usb hacia los perimetrales? son preguntas que aunque pueden ser tocadas y investigadas en otros puntos es bueno delimitar si existe comunicación accesible o inyectable en los protocolos de los puertos expuesto
41
Ataques de cambio de discose puede extraer el disco clonarlo y insertar otro disco clonado pero controlado por el atacante? y que al clonarlo mantenga el pareo con los perimetrales
42
Ataques de update o infección de parchessi en la fase de acuerdo de servicio se sabe o identifica que existe algún software de actualizaciones se puede infectar y actualizar?
43
Pruebas de identificación de alertas mediante ataques por redes importante también identificar si de todas los comentarios anteriores que derivan de pruebas técnicas dichas pruebas el banco ve incidentes o no vio incidentes de seguridad?
44
Pruebas de ataques con archivos estáticos como xml, html o extensiones no ejecutablesen algunos fabricantes permiten interacción con archivos HTML y funciones JS o XML a funciones XFS documentadas es importante darle una revisada y que nadie pueda crear una función HTML5 conectada a una función de supervisor para dispensar
45
Revisión de medidas de seguridad instaladas en ATMs
como comente en la parte física bueno si existe sensores o anti skimming es importante verificar con los SDKs del fabricante que estén correctamente calibrados, que los sensores de shimming no se descalibren con cierta emisión de luz o por temperatura o test más concretos a la operación del dia a dia para evitar que se descalibren y la entidad financiera pueda ser objetivo de ataques que afecten al tarjetahabiente
46
CEN XFSy la parte divertida desarrollar un test Cash un software que pueda interaccionar con los perimetrales después de que hemos podido probar varios vectores y identificar que vector es vulnerable para lograr demos de test cash o otros perimetrales
47
Soporte multivendorSi el ATM tiene un software multivendor podemos hacer un test cash por supervisor, por API, por proveedor de servicios, o por varios niveles del stack XFS que puede interaccionar con el perimetral
48
SDK CEN versiónclaramente revisar las versiones de CEN XFS para hacer los famosos test cash o que otras funciones hay si el cliente tiene las versiones 2.6 o 3.x y aclarar que funciones tienen y qué funciones pueden tener para el negocio con versiones más actuales de CEN XFS y de protocolos más actualizados de comunicación
49
Revisión de PCITambién existen recomendaciones de Payment card industry mas enfocadas en el EPP, card reader, posicionamiento físico del cajero y procesos de compra y de reposición de partes que podemos darnos una leída y aplicar algunas observaciones
50
Entre otras que se requieran para identificar o explotar más vulnerabilidades.y bueno como final si encontramos un modelo de ATM nuevo o una versión de sistema operativo o algunas técnicas más avanzadas por parte del software podemos recurrir a alguna guia como el framework ATT&CK para recordarnos las pruebas que puedan aplicar que no nos dejemos alguna pero no todas aplican para todas las marcas

Tambien otra guia de test puede ser https://resources.infosecinstitute.com/atm-penetration-testing/#gref  (ya especificando algunas cosas más concretas) pero engloba algunos ataques que no son específicos para ATMS , es recomendable complementar los comentarios de nosotros con otras observaciones o listas como infosecinstitute o en el caso de apps como owasp (para guias mas tecnicas solo para software) para entender el proceso técnico de la prueba , aquí no pretendemos explicar la prueba técnica paso a paso o mostrarla pero si los comentarios o observaciones de para qué ejecutar o por que hacer la prueba (ya que la ejecución de la prueba técnica es donde varía en la calidad y experiencia del consultor si un consultor nunca a re-pareado un dispensador es difícil que aprenda en una consultoría o que por saber hacer auditorías a red sepa ejecutar bien las pruebas), pero si que sirva de guía para las instituciones financieras sepan un alcance más extenso y no depender de auditorías o auditores principiantes que con solo dispensar ya terminan la auditoría.

También hay que comentar que esto son comentarios de algunas categorías que hemos por decir así clasificado pero para pruebas técnicas algunas categorías pueden tardar desde minutos hasta cientos de horas en la sección técnica de ejecución de la categoría de forma exhaustiva y por otro algunas pruebas también pueden quedar obsoletas la semana siguiente de terminar y es por eso que las instituciones deben continuar con la administración de la ciberseguridad de forma más efectiva y constante.

Para terminar las recomendaciones también son muy importantes habiendo encontrado falencias o no en ese tipo de instalación de cajero, las recomendaciones o planes que se extraen de resultados no siempre deben ser derivados a herramientas comerciales muchas veces pueden ser parches, script herramientas opensource o soluciones comerciales del fabricante o soluciones comerciales propias que pueden servir para minimizar los riesgos dentro del presupuesto.

En definitiva como todo no hay una fórmula o librito para todo esto pero si cuenta mucho la experiencia en el área y el tiempo invertido.