Inicio / Para Expertos / Pruebas de penetración de cajeros automáticos: métodos de prueba avanzados para encontrar las vulnerabilidades

Pruebas de penetración de cajeros automáticos: métodos de prueba avanzados para encontrar las vulnerabilidades

Pruebas de penetración de cajeros automáticos, los piratas informáticos han encontrado diferentes enfoques para piratear los cajeros automáticos. Los programadores no se están limitando a agresiones físicas, por ejemplo, captura de dinero / tarjetas, robo, etc., están investigando mejores métodos para piratear la programación de los cajeros automáticos.

Un cajero automático es una máquina que permite a los clientes realizar el cambio de moneda sin dirigirse al banco.

Al utilizar un cajero automático, un cliente puede retirar o depositarel dinero, consultar su cuenta de crédito, pagar las facturas, etc. Dado que el cajero automático administra dinero, se ha convertido en un foco de gran atención para programadores y ladrones.

En este artículo, veremos cómo funciona un cajero automático, los arreglos de seguridad utilizados para proteger los cajeros automáticos, diversos tipos de pruebas de infiltración para romper la seguridad de los cajeros automáticos y una parte de las mejores prácticas de seguridad que se pueden utilizar para evadir el pirateo de cajeros automáticos.

Función de trabajo ATM:

La mayoría de los cajeros automáticos tienen 2 entradas y 4 salidas. El lector de tarjetas y el teclado son dispositivos de entrada, mientras que la pantalla, la impresora de recibos, el dispensador de efectivo y el altavoz son de salida.

En su mayor parte, existen dos tipos de cajeros automáticos que varían según lo indique la forma en que funcionan. Pueden llamarse como

  •  Cajero automático de línea alquilada
  • Cajeros automáticos de marcado

Cualquier cajero automático necesita una terminal de información con dos fuentes de datos y cuatro dispositivos de rendimiento. Obviamente, para que esto suceda, también debe existir la accesibilidad de un procesador host. El procesador principal es importante para que el cajero automático pueda interactuar y hablar con la persona que solicita el dinero. El Proveedor de Servicios de Internet (ISP) asume además una parte esencial en esta actividad. Es el que transmite la información a los sistemas intermedios y a los servidores del banco.

Un cajero automático de línea alquilada tiene una línea telefónica de 4 hilos, indica un punto comprometido que ayuda a asociarlo con el procesador host. Este tipo de máquinas se favorecen en lugares donde el volumen de clientes es alto. Se consideran de primera línea y los gastos de funcionamiento de este tipo de máquina son elevados.

Los cajeros automáticos de acceso telefónico solo tienen una línea telefónica ordinaria con un módem y un número gratuito. Como se trata de asociaciones típicas, el costo de establecimiento subyacente es menor y sus costos de trabajo se convierten en una pequeña cantidad de los de un cajero automático de línea alquilado.

El anfitrión es reclamado principalmente por el banco. Asimismo, puede ser reclamado por un ISP. En caso de que el banco posea el host, solo se mantendrán las máquinas que funcionan para ese banco específico.

Entonces, ¿qué sucede cuando un cliente inserta su tarjeta para retirar el dinero?

1. Los datos de registro del cliente se guardan en la parte magnetica de la tarjeta que se encuentra en la parte posterior de la tarjeta. El cliente inserta la tarjeta en el lector de tarjetas.

El ATM lee los datos de la parte magnetica de la tarjeta. La información de esta tarjeta se envía al procesador anfitrión que envía a su vez los datos al banco del cliente.

2. Una vez aceptada la tarjeta, se solicita al cliente que ingrese el PIN. El cliente ingresa el PIN utilizando el teclado. La información se codifica y se envía al servidor host. El registro y el PIN son aprobados por el banco del cliente. Una vez aprobado por el banco, el servidor anfitrión envía el código de reacción al cajero automático.

3. El cliente ingresa una suma a retirar. La solicitud se envía al procesador host. El servidor anfitrión envía la demanda de cambio al banco del cliente, que aprueba la suma, verifica el límite, etc. En ese momento, el intercambio de informacion ocurre entre el banco del cliente y el registro del procesador anfitrión. Una vez que se realiza el intercambio, el procesador anfitrión envía el código de endoso al cajero automático que permite que el cajero automático administre el dinero.

4. La aplicación que se ejecuta en el cajero automático le envía la informacion al contenedor de dinero para que administre el dinero. El contenedor de dinero tiene un componente que considera cada cargo que sale del asignador. Esta información identificada con el intercambio como el número de registro, la identificación del intercambio, la hora, la suma, el grupo de cargo, etc., se registra en el documento de registro. Este registro de registro se conoce normalmente como registro de EJ.

5. En medio del procedimiento de administración, un sensor barre cada billete por su grosor. Esto es para verificar si dos billetes están pegados o si alguno está roto o colapsado. En el caso de que dos billetes se peguen, entonces se envían al receptáculo interno de rechazo.

Prueba de penetración estilo ATM BPT

Los profesionales de seguridad realizan pruebas de penetración avanzadas en soluciones de cajeros automáticos (ATM) en el sector financiero. En la mayoría de los casos, se identifican fallas de seguridad graves en las configuraciones de los cajeros automáticos y los procesos asociados.

Los cajeros automáticos realizan pruebas con la metodología de “Prueba de penetración empresarial” (BPT), que simula ataques reales a las soluciones de cajeros automáticos. Esto incluye ataques dirigidos cuidadosamente diseñados, que combinan vectores de ataque físicos, lógicos y opcionalmente de ingeniería social.

La seguridad de los cajeros automáticos a menudo es considerada un área compleja por los gerentes de seguridad de TI, quienes tienden a enfocarse más en los riesgos físicos y menos en las debilidades lógicas en el sistema operativo y la capa de aplicación.

Mientras tanto, la seguridad de los cajeros automáticos es un área comercial que a menudo carece de evaluaciones de seguridad integrales. Las pruebas de cajeros automáticos se basan en esta creencia y buscan mostrar una imagen holística del entorno del cajero automático.

Controles físicos

Muchos bancos confían en gran medida en la suposición de que el acceso físico a sus soluciones de cajeros automáticos está efectivamente restringido. Mientras tanto, repetido, ilustra el poco esfuerzo que a menudo se requiere para obtener acceso no autorizado a la CPU del cajero automático, que controla la interfaz de usuario y el dispositivo de transacción.

Controles lógicos

Con acceso físico a la CPU del ATM, los mecanismos de autenticación se pueden omitir para obtener acceso no autorizado a la plataforma ATM.

Con este acceso, un atacante puede robar datos de tarjetas de crédito que están almacenados en sistemas de archivos o memoria, sin siquiera alertar al banco. Además, los expertos pudieron demostrar que este acceso no autorizado se puede expandir desde el cajero automático a la red del banco y los servidores back-end mediante el uso del cajero automático comprometido como plataforma de ataque.

Los procesos de administración de soluciones de cajeros automáticos asociados con proveedores de servicios de terceros y proveedores de desarrollo de aplicaciones son a menudo la llave de oro para un atacante y pueden incluirse en el alcance de nuestra prueba para identificar debilidades lógicas en las relaciones de confianza que un atacante puede explotar para comprometer un cajero automático.

Ecosistema ATM

Una solución y una red de cajeros automáticos forman un ecosistema complejo que consta de diferentes proveedores y agentes responsables, tanto internos como externos a la organización bancaria.

Debido a la complejidad de este ecosistema con sus roles y responsabilidades distribuidos que cruzan los límites organizacionales, las áreas asociadas con el riesgo de seguridad a menudo se pasan por alto. La aplicación del cajero automático en sí, con sus actualizaciones de software, parches del sistema operativo, fortalecimiento de la plataforma y redes, a menudo es vulnerable a los ataques.

Estos ataques no son necesariamente sofisticados y, a menudo, no se incluyen en las pruebas de penetración estándar.

PCI DSS

El entorno ATM también es parte del alcance de PCI DSS. Sin embargo, solo una parte de los ataques de piratería en la vida real están cubiertos por PCI DSS y PA-DSS. El PCI SSC publicó el documento complementario de información “Guía de seguridad para cajeros automáticos” en enero de 2013.

Prueba de penetración de cajeros automáticos

En las pruebas de penetración de cajeros automáticos, a medida que aumenta el número de cajeros automáticos, la máquina es propensa a ataques de piratería, robos, fraude, etc. La mayoría de los cajeros automáticos todavía utilizan Windows XP, lo que hace que este cajero automático sea un objetivo fácil para los piratas informáticos.

La transferencia electrónica de fondos tiene tres componentes que son enlace de comunicación, computadora y terminal (ATM). Los tres componentes deben estar asegurados para evitar el ataque. Analizaremos el tipo de evaluación que podemos realizar para analizar la seguridad general de un cajero automático.

1. Evaluación de vulnerabilidades y pruebas de penetración de redes

VAPT son dos tipos de pruebas de vulnerabilidad. Las pruebas tienen diferentes puntos fuertes y, a menudo, se combinan para lograr un análisis de vulnerabilidad completo. En resumen, las pruebas de penetración y las evaluaciones de vulnerabilidad realizan dos tareas diferentes, generalmente con resultados diferentes, dentro de la misma área de enfoque.

Las herramientas de evaluación de vulnerabilidades descubren qué vulnerabilidades están presentes, pero no distinguen entre fallas que pueden explotarse para causar daños y aquellas que no. Los escáneres de vulnerabilidades alertan a las empresas sobre las fallas preexistentes en su código y dónde se encuentran.

Estas dos actividades son muy comunes cuando se trata de la seguridad de los cajeros automáticos. En las pruebas de penetración de la red, verificamos la vulnerabilidad a nivel de red en un cajero automático. Dado que ATM se comunica con el servidor back-end, tiene que ser parte de alguna red. Al obtener la dirección IP del cajero automático, podemos realizar una prueba de penetración a nivel de red.

Como mejor práctica de seguridad, la red de cajeros automáticos se segrega con otra red del banco. Por lo tanto, el probador debe ser parte de la red ATM para alcanzar la IP del ATM y realizar las pruebas. Una vez en la red de cajeros automáticos, podemos realizar un escaneo de Nessus para identificar el puerto abierto, los servicios que se ejecutan en ellos y las vulnerabilidades asociadas con los servicios en ejecución.

Podemos ejecutar un escaneo NMAP de puerto completo para identificar los puertos y servicios TCP y UDP que se ejecutan en el cajero automático. Además, el análisis autenticado de Nessus se puede utilizar para identificar la vulnerabilidad asociada con los componentes instalados en el sistema operativo ATM como Adobe, Internet Explorer, etc.

La auditoría de configuración se ocupa del endurecimiento del sistema operativo. La mayoría de los cajeros automáticos ejecutan el sistema operativo Windows. Este sistema operativo debe reforzarse según las mejores prácticas de seguridad para reducir la superficie de ataque del atacante. Algunas de las áreas que podemos examinar al realizar una auditoría de configuración son:

  • Acceso y autenticación del sistema: verificaciones relacionadas con la política de bloqueo de contraseñas y cuentas, política de derechos de usuario, etc.
  • Auditoría y registro: comprobaciones relacionadas con el evento, registros de seguridad y aplicación, política de auditoría, permisos en registros de eventos.
  • Configuración de la cuenta: verificaciones relacionadas con los usuarios del grupo de administradores, la presencia de usuarios predeterminados, la cuenta de invitado, el requisito de contraseña y la caducidad.

2. Auditoría de seguridad de aplicaciones:

Una auditoría de seguridad de aplicaciones es una prueba de seguridad intensiva, técnica, sin privilegios y privilegiada de una aplicación y sus componentes asociados con un alto porcentaje de verificación y prueba manual. Dado que se llevarán a cabo pruebas sin privilegios y privilegiados, se cubren tanto la perspectiva de un extraño (por ejemplo, un pirata informático) como la de un interno.

Podemos dividir esta actividad en dos categorías:

a. Pruebas de penetración de aplicaciones de thick clients: la mayoría de las aplicaciones de cajeros automáticos son thick clients. Podemos realizar una prueba de penetración de la aplicación de esta aplicación de thick clients. Algunos de los casos de prueba que podemos realizar son:

  • Información confidencial en archivos de configuración de la aplicación, credenciales en el registro, información confidencial, codificada en código.
  • Intercepte el tráfico que va al servidor e intente manipular / alterar los parámetros o busque cualquier información confidencial que pase entre la aplicación y el servidor.
  • Compruebe si la aplicación y la base de datos se comunican en un protocolo de texto sin cifrar.
    Protección contra ingeniería inversa.

b. Revisión del diseño de la aplicación: en esta actividad, podemos verificar las prácticas de seguridad que se siguen en la aplicación. Algunos de los casos de prueba pueden ser:

  • Tipos de eventos registrados en el archivo de registro.
  • El privilegio con el que se ejecuta la aplicación ATM.
  • ¿Tiene el software una disposición para restringir diferentes opciones de menú a diferentes ID de usuario según el nivel de usuario?
  • Accede a las carpetas relacionadas con la aplicación.
  • ¿La aplicación permite la transacción sin pin o con pin antiguo?
  • ¿La aplicación permite el acceso al sistema operativo mientras se ejecuta?}
  • Comunicación con componentes back-end.
  • Verifique el aislamiento efectivo de la red.
  • ¿Cerrar sesión de un cliente en caso de que haya un solo pin no válido?
  • ¿Es obligatorio introducir el PIN para todas y cada una de las transacciones?

Evaluación de la solución de seguridad ATM instalada en el cajero automático:

¿Qué es la solución de seguridad para cajeros automáticos?

La mayoría de los cajeros automáticos funcionan con Windows XP y 7. Parchear cajeros automáticos individuales es un proceso bastante complejo. Dado que Windows XP ya no es compatible con Microsoft, muchos proveedores de cajeros automáticos utilizan soluciones de seguridad para mitigar las amenazas relacionadas con los ataques de cajeros automáticos, como los ataques basados ​​en malware y las vulnerabilidades a nivel del sistema operativo. Estas soluciones de seguridad permiten que la aplicación ATM se ejecute en un entorno muy restrictivo con servicios y procesos limitados en el back-end. Dos de estas soluciones de seguridad son Mcafee Solidcore y Phoenix Vista ATM.

Mcafee Solidcore:

McAfee Application Control bloquea los ejecutables no autorizados en servidores, escritorios corporativos y dispositivos de función fija. Utilizando un modelo de confianza dinámico y características de seguridad innovadoras como inteligencia de reputación local y global, análisis de comportamiento en tiempo real y autoinmunización de endpoints, frustra inmediatamente las amenazas persistentes avanzadas, sin requerir una administración de listas intensiva o actualizaciones de firmas.

  • Protección completa contra aplicaciones no deseadas con cobertura de archivos ejecutables, bibliotecas, controladores, aplicaciones Java, controles ActiveX, scripts y código especializado.
  • Flexibilidad para usuarios de escritorio y administradores de servidores con autoaprobación y autoaprobación según la calificación de la aplicación.
  • Seguridad viable para sistemas de función fija, heredados y modernos.
  • Reducción del ciclo de parches y protección avanzada de la memoria.
  • Gestión centralizada e integrada a través de McAfee ePolicy Orchestrator.

Cajero automático de Phoenix Vista:

Phoenix Vista ATM es un producto de Phoenix Interactive Design Inc. Esta solución se integra con la propia aplicación ATM. Esta aplicación trabaja en la verificación de la integridad del archivo, donde cualquier modificación / manipulación del archivo crítico relacionado con la aplicación resultará en el apagado del sistema. Esto no permite que ningún programa no autorizado modifique el archivo específico de la aplicación.

XFS (eXtensions for Financial Services) proporciona una arquitectura cliente-servidor para aplicaciones financieras en la plataforma Microsoft Windows, especialmente dispositivos periféricos como cajeros automáticos que son exclusivos de la industria financiera. Es un estándar internacional promovido por el Comité Europeo de Normalización (conocido por el acrónimo CEN, de ahí CEN / XFS). XFS proporciona una API común para acceder y manipular varios dispositivos de servicios financieros independientemente del fabricante.

Vista ATM se comunica con la capa XFS que da comandos al hardware como el dispensador de efectivo del ATM para dispensar el efectivo. Cualquier modificación no autorizada en los archivos XFS activará la aplicación Vista ATM para reiniciar la máquina a la fuerza. La máquina se reinicia 4-5 veces, y después de eso, entra en modo de mantenimiento que no le permite al usuario realizar ninguna transacción.

Soluciones de seguridad de pentesting: estándares PCI

El enfoque para probar la solución de seguridad en ATM sigue siendo el mismo. El objetivo final es obtener acceso al sistema operativo o jugar con el archivo relacionado con la aplicación para ver cómo se comporta la aplicación. Un atacante después de obtener acceso al sistema operativo puede crear un malware que puede emitir el comando al hardware del sistema utilizando componentes XFS.

Algunos de los casos de prueba que se pueden considerar son:

Casos de prueba relacionados con el acceso al sistema operativo y archivo relacionado:

  • Compruebe si el USB está habilitado, haga que su USB sea de arranque.
  • Conecte el USB e inicie el sistema a través de USB.
  • Dado que la mayor parte de la solución de seguridad se hace cargo del sistema operativo tan pronto como se inicia, siga presionando el botón “Shift” en el momento del inicio. Esto romperá cualquier secuencia configurada para ejecutarse en el arranque en el sistema operativo. Esto resultará en la pantalla de inicio de sesión de Windows.
  • Si conoce un nombre de usuario válido, ingréselo y presione el botón “Enter”. Esto dará como resultado un acceso directo al sistema operativo sin contraseña.
  • Si no conoce un nombre de usuario válido, intente iniciar sesión con “Administrador”, ya que muchos cajeros automáticos no desactivan la cuenta de administrador predeterminada.
  • Otra forma es hacer que su USB sea de arranque. Arranque desde USB, esto le dará acceso al sistema de archivos directamente sin ningún inicio de sesión de Windows.

Prueba relacionada con la autorización del código en tiempo de ejecución:

  • compruebe si el USB está habilitado, intente ejecutar código no autorizado (archivo ejecutable o por lotes) directamente desde el USB o utilizando la función de ejecución automática del USB

Prueba relacionada con la protección del código:

  • compruebe si los archivos relacionados con la aplicación se pueden mover a otra ubicación, modificar o eliminar.

Comprobaciones relacionadas con la modificación del proceso:

  • cambie el nombre del archivo no autorizado a un proceso de solución de seguridad válido. Esto resultará en la ejecución de un archivo no autorizado cuando se inicie la aplicación.

Amenazas relacionadas con la ejecución no autorizada a través del registro:

  • compruebe si se puede modificar alguna clave de registro crítica o si se puede ejecutar software no autorizado manteniéndolos en la carpeta de inicio de Windows. Los ejecutables de la carpeta de inicio de Windows se ejecutarán primero cuando se reinicie el sistema.

Mejores prácticas de seguridad a seguir para cajeros automáticos

Los bancos pueden implementar las mejores prácticas de seguridad para reducir la superficie de ataque del atacante. Esta sección puede dividirse en categorías en tres categorías:

Protección contra ataques físicos:

  • Detección y protección contra el Skimming de tarjetas.
  • Detección y protección contra trampa de tarjetas / efectivo.
  • Detección contra manipulación del teclado.
  • Escudo de espejo y PIN para identificar y prevenir el shoulder surfing attack.
  • Implementar una cámara DVSS incorporada en el cajero automático para capturar los rasgos faciales del usuario junto con los detalles de la transacción y la marca de tiempo.
  • Protección de bóveda contra incendios, explosiones, etc.
  • Bloqueo de protección contra el acceso no autorizado a billetes o facturas.
  • Protección del punto de energía eléctrica y del punto de red.
  • Desactivación de red y puerto eléctrico no utilizados.
  • En el cajero automático se puede implementar con sensor de impacto para identificar el impacto y el movimiento del cajero automático.
  • Implementación de cámara CCTV.
  • Presencia de guardia de seguridad.

6. Protección contra ataques lógicos:

  • Protección contra el arranque no autorizado mediante el establecimiento de una contraseña de BIOS y de arranque no adivinables. La mayoría de los cajeros automáticos tienen configurada una contraseña de inicio predeterminada.
  • Protección contra USB y acceso no autorizado al disco duro.
  • Actualización del sistema operativo a los parches más recientes.
  • Incluir en la lista blanca la aplicación, los servicios y el proceso en ATM.
  • Ejecución de cajero automático con usuario con privilegios mínimos.
  • Comprobaciones de integridad de archivos.
  • Asegurar los registros de transacciones.
  • Uso de canal seguro para la comunicación y transacción.
  • Protección antivirus.
  • Segmentación de la red de cajeros automáticos con otras redes.
  • Protección contra malware como tyupkin, ploutus, etc.

7. Protección contra ataques de fraude:

Implementación de geobloqueo. En esta implementación, la tarjeta solo se puede utilizar en el país o región de origen. El usuario debe obtener permiso para usar la tarjeta fuera del país de origen.
Implementación de tarjetas basadas en chip y pin para mitigar el ataque basado en tarjetas copiadas y skimming.
Implementar una tutoría de comportamiento que detecte la transacción inusual en términos de monto, lugar de transacción, frecuencia de transacción, etc.

 

 

Vea También

Kali Linux 2020.3 lanzado con nuevo arsenal de Bluetooth, shells e íconos de herramientas actualizados: ¡descargalo ahora!

Offensive security lanzó Kali Linux 2020.3 junto con un nuevo shell Arsenal de Bluetooth e …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.