Comprometer los terminales de Punto de venta y robar datos de miles de tarjetas de crédito y débito es una tarea relativamente sencilla, lucrativa y con bajo riesgo para los profesionles del cibercrimen.
El registro de miles de tarjetas de crédito y débito convierte a los Terminales de Punto de Venta en sistemas críticos, además de en un objetivo cada vez más deseable para los ciberdelincuentes por lo sencillo que supone atacar estos dispositivos de manera anónima desde Internet y el lucro económico de vender en el “mercado negro” la información robada.
Alina es el último malware POS descubierto por PandaLabs, el laboratorio anti-malware de Panda Security, que ha afectado a comercios de Estados Unidos, donde el uso de Chip&PIN no es obligatorio. Esta práctica que afecta a todo tipo de establecimientos, desde grandes cadenas de supermercados a restaurantes, es una tendencia en boga y la creación de malware especifico para estos terminales no para de crecer. La finalidad de Alina es robar la información de las tarjetas de crédito y débito utilizadas en dichos locales.
Los TPVs son ordenadores que manejan información crítica y por lo tanto deben ser fortificados al máximo para no poner en riesgo la información de los clientes de estos negocios.
Las muestras de malware que vamos a analizar son las siguientes:
Nombre de Fichero MD5
Epson.exe 69E361AC1C3F7BCCE844DE43310E5259
Wnhelp.exe D4A646841663AAC2C35AAB69BEB9CFB3
Epson.exe presenta un certificado inválido:
Ambas muestras han sido compiladas con Microsoft Visual C++ 8, y no están empaquetadas ni cifradas. Una vez el malware es ejecutado en el sistema, procede a analizar los distintos procesos del sistema en busca de tarjetas de crédito.
Aquí podemos observar como recorren los distintos procesos buscando únicamente aquellos que pueden contener en memoria las tarjetas de crédito:
En el caso de la muestra “Epson.exe” buscará las tarjetas de crédito en los siguientes procesos:
Nombre programa | Descripción |
notepad++.exe | Editor de texto |
CreditCardService.exe | Microsoft |
DSICardnetIP_Term.exe | NETePay for Mercury |
DSIMercuryIP_Dial.exe | NETePay for Mercury |
EdcSvr.exe | Aloha Electronic Draft Capture (EDC) |
fpos.exe | Future POS |
mxSlipStream4 / mxSlipStream5 / mxSlipStream.exe / mxSwipeSVC.exe | SlipStream POS System Transaction Processor by mXpress |
NisSrv.exe | Windows 8 |
spcwin.exe/ Spcwin.exe / SPCWIN.exe /SPCWIN.EXE | POSitouch (Food Service Industry POS System) |
Mientras que en el caso de la muestra Wnhelp.exe, esta contiene una lista que sirve para descartar los procesos a analizar. Si el nombre del proceso coincide con alguno de la lista, no se analizará en busca de tarjetas de crédito:
Procesos que descarta: | |
explorer.exe | alg.exe |
chrome.exe | wscntfy.exe |
firefox.exe | taskmgr.exe |
iexplore.exe | spoolsv.exe |
svchost.exe | QML.exe |
smss.exe | AKW.exe |
csrss.exe | OneDrive.exe |
wininit.exe | VsHub.exe |
steam.exe | Microsoft.VsHub.Server.HttpHost.exe |
devenv.exe | vcpkgsrv.exe |
thunderbird.exe | dwm.exe |
skype.exe | dllhost.exe |
pidgin.exe | jusched.exe |
services.exe | jucheck.exe |
winlogon.exe | lsass.exe |
En ambas muestras, una vez tiene el proceso que le interesa analizar, tanto si es porque se encuentra en la lista – como Epson.exe– o porque no ha sido descartado – como en el caso de Wnhelp.exe-, esta creará un nuevo hilo:
Y empezará a analizar la memoria usando un algoritmo específico para comprobar si lo que ha encontrado son tarjetas de crédito.
La muestra Wnhelp.exe es ejecutada por los atacantes con el comando “install”, de tal forma que crea un servicio para asegurar su persistencia en el sistema:
El servicio se llama “Windows Error Reporting Service Log”.
La muestra Epson.exe funciona de la misma forma, aunque los atacantes pueden configurar como quieran el nombre del servicio a través de parámetros:
install [Nombre servicio] [Descripción servicio] [Tercer parámetro]
Cada una de las variantes se conecta a un servidor de comando y control (C&C) diferente:
Epson.exe | dropalien.com/wp-admin/gate1.php |
Wnhelp.exe | www.rdvaer.com/ wp-admin/gate1.php |
Pueden recibir diferentes órdenes de los atacantes:
Comandos | Descripción |
update = [URL] | Actualización del malware |
dlex = [URL] | Descarga y ejecuta un fichero. |
chk = [CRC_Checksum] | Actualiza el checksum del fichero. |
Para conectarse con el panel de control usan el siguiente UserAgent:
“Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22”
La comunicación se realiza mediante SSL, el malware modifica la configuración de la conexión a internet para ignorar CAs (Certificate Authority) no conocidos, de tal forma que puede así utilizar su propio certificado.
Primero obtiene los flags de seguridad de la conexión a internet mediante la API InternetQueryOptionA con el tercer argumento al valor de INTERNET_OPTION_SECURITY_FLAGS (31). Una vez obtenido realiza un OR binario con el flag SECURITY_FLAG_IGNORE_UNKNOWN_CA (100h).
Conclusión: cómo afrontar un POS
Los ataques a TPVs siguen siendo muy populares, sobre todo en países como Estados Unidos donde no es obligatorio el uso de Chip&PIN. Muchos de estos ataques tienen como víctimas a comercios que no cuentan con personal especializado en informática, y mucho menos en seguridad, algo de lo que se aprovechan los atacantes.
Los TPVs son ordenadores que manejan información crítica y por lo tanto deben ser fortificados al máximo para no poner en riesgo la información de los clientes de estos negocios. Soluciones como Adaptive Defense 360 permiten asegurar que no se ejecute ningún proceso malicioso en dichos terminales, de tal forma que no haga falta contratar a ningún especialista en seguridad ya que gracias al servicio que incluye los técnicos de Panda Security se encargarán de asegurar de que todo lo que se ejecute en nuestro entorno sea seguro.