Vaciando cajeros automa0cos con un mensaje de texto Daniel Regalado aka DanuX
Agenda • Descubrimientos de Malware en Cajeros • Inves0gacion de Ploutos a detalle • Como sacar dinero sin tarjeta de debito • Como controlar el cajero a traves de un celular • Recomendaciones
Bio • Graduado del UNITEC en el 2001 • Rechazado por Scitum en el 2001 • Diplomado de Seguridad Informa0ca en el TEC en 2004 • PenTester en Mexico • En USA desde el 2008 • Reverse Engineer Security Response Team en An0-Virus amarillo • APT/Exploit Analyst en FireEye Labs
Bio • Gray Hat Hacking 4th Edi0on book – Lead Author • Use-AVer-Free Exploita0on • One-Day Exploits • Ransomware Analysis • Web Exploita0on • Comprenlo para juntar para mi renta
DISCLAIMER • El malware de esta pla0ca esta publicamente disponible • La intencion es evangelizar la seguridad en cajeros automa0cos para mi0gar el riesgo de ser afectados (bancos y tarjetahabientes) • El contenido de esta presentacion es mi autoria y no de la empresa para la que trabajo.
ATM Malware que he descubierto
ATM Malware por fecha • Ploutos (o Ploutus) descubierto a finales del 2013 • Neabolsa descubierto en Abril de 2014 • PanDeBono descubierto en Abril de 2014 • PadPin descubierto en Mayo de 2014 § Despues nombrado Tyupkin por Kaspersky
• Alicia descubierto a finales de 2014. El banco prohibio su publicacion • Suceful descubierto en Agosto de 2015 • Ripper descubierto en Agosto de 2016
Ploutos InvesCgaCon Dia 0 – Banco solicita deteccion
Dia 0 • Un banco en Mexico solicita al AV analisis y deteccion de posible virus encontrado en cajero • Nadie en el equipo con experiencia en virus de cajeros • Hey Daniel tu eres mexicano verdad? Quieres analizarlo? • Mis conocimientos en ese momento de un cajero: § Ingresar Tarjeta § Introducir NIP § Re0rar Dinero
Ploutos InvesCgaCon Dia 1 – Malware DeobfuscaCon
Dia 1: Malware Obfuscado • Malware viene en formato .NET • Ademas viene protegido con Confuser Obfuscator § An0-Debugger § An0-Memory Dumping § An0-Decompiler § Encrypts code and constants
Dia 1: Confuser Code
Dia 1: Dumping process from memory: Step 1
Dia 1: Dumping process from memory: Step 2
Dia 1: Malware Deobfuscated
Ploutos InvesCgaCon Dia 2 – Understanding the code
Dia 2: .NET Keylogger Setup
Dia 2: Keylogger Parse Command and Execute
Dia 2: Ploutos GUI: F8F8F1F7F3F5F4F2
Ploutos InvesCgaCon Dia 3 – Cajeros AutomaCcos 101
Dia 3: Entendiendo como opera un cajero • Hasta este momento todo ha sido analisis tradicional de malware • Pero ya llegamos al punto donde el codigo interactua con el cajero • El codigo usa una biblioteca llamada: NCR.APTRA.AXFS § Esto nos ayuda a iden0ficar el fabricante del cajero § Aunque aun no sabemos el modelo
Dia 3: Partes de un cajero Camara
Encrypted PinPad
Card Reader Dispenser
Dia 3: Manual de programador
Dia 3: XFS Manager
Ploutos InvesCgaCon Dia 4 – Sacando Dinero!
Dia 3: Vendor o Supervisor Mode • Una vez que el comando para re0rar dinero es recibido, se llama a VdmManager.Init();
Dia 3: Vendor or Supervisor Mode • Vendor o Supervisor Mode similar a SYSTEM privilege en Windows • Sirve para configurar o probar el funcionamiento del cajero • El Vendor mode se ac0va cuando se abre la boveda o la parte superior • Cuando entra el vendor mode, todo el hardware espera por sus intrucciones, el es el jefe!!!
Dia 3: Vendor Mode • Pasos para entrar en modo Vendor
Dia 3: Contando el dinero disponible • Ploutos empezara a vaciar el casseje con mas dinero • Asi seguira hasta q no quede ni un billete en cada casseje • Veamos como lo hace…
Dia 3: Contando el dinero disponible
Dia 3: ReCra hasta el ulCmo billete
Dia 3: Gimme tha money!!!
Ploutos InvesCgaCon Dia 5 – Presentando Ploutos al mundo
Ploutos InvesCgaCon Dia 6 – La Prensa habla de una version diferente
Dia 6: Excelsior reporta uso de celular
Ploutos InvesCgaCon Dia 7 – Rastreando Hackers de Cajeros
Dia 7: Malware interesante • Codigo PanDeBono con caracteres raros:
• Veamos que significa esos caracteres
Dia 7: Foro de cajeros Ruso • Madxxxx pregunta en relacion a los mismos caracteres:
Dia 7: Foro de cajeros Venezolano
Dia 7: La verdad sale a la luz
Ploutos InvesCgaCon Dia 8 – Encontrando Ploutos v2
Dia 8: Encontramos la version mobile!
Dia 8: Solo nos falta el celular • Necesitamos implementar esta parte • Paso 1: Comunicar el Celular con el cajero § Wifi Compar0do (Thethering)
• Paso 2: Hacer que el SMS llegue a Ploutos
Dia 8: Conectando el telefono al Cajero
Dia 8: SMS to Ploutos
Dia 8: Aaack Overview
Dia 8: AcCvando la interfaz
Ploutos InvesCgaCon Dia 9 – Infectemos un cajero real!!
Recomendaciones • PenTes0ng § Forzar al fabricante a implementar los controles iden0ficados
• Disk Encryp0on: Para ataques offline • Hardening en puertos externos y BIOS • Real-0me monitoring en la ac0vidad del cajero § Dispensing, restar0ng, installing events
• Real-0me protec0on en el XFS Manager (middleware) • Implementar PCI ATM Security Guideline § hjps://www.pcisecuritystandards.org/pdfs/PCI_ATM_Security_Guidelines_Info_Supplement.pdf
Cursos disponibles online al iniciar 2017! ATM Malware, Advanced Persistent Threats, Zero Day Exploits and more!