Tag Archives: windows xp

Envío de SMSs a Cajeros Automáticos Muestra el Nivel de Sofisticación de los Delincuentes Cibernéticos

daniel_blof_header_image_cropped.png

Actualmente hay una voz, cada vez más insistente, pidiéndole a las empresas y los usuarios de casa que actualicen su Windows XP a una versión más nueva de Windows. Se dice que, si no es por las funciones, que sea al menos para mejorar el soporte y la seguridad de su sistema operativo. En este sentido vale la pena recordar que los cajeros automáticos son prácticamente computadoras que controlan el acceso al dinero en efectivo, y resulta que muchos de ellos funcionan con versiones de Windows XP. Con el inminente fin del soporte para Windows XP programado para el 8 de abril de 2014, la industria bancaria enfrentará el riesgo de sufrir ataques informáticos dirigidos sus cajeros automáticos. Este riesgo no es hipotético y ya se ha hecho presente y se ha identificado que delincuentes informáticos están atacando cajeros automáticos con técnicas cada vez más sofisticadas.

Hacia fines de 2013, publicamos en el blog un artículo sobre un nuevo malware para cajeros automáticos en México, que les permitía a los atacantes forzarlos para que expidieran efectivo utilizando un teclado externo. Esta amenaza recibió el nombre de Backdoor.Ploutus. Semanas después, descubrimos una nueva variante que mostraba que el malware había evolucionado para transformarse en una arquitectura modular. Adicionalmente, la nueva variante también estaba disponible en idioma inglés, lo que indicó que el autor del malware estaba expandiendo su franquicia hacia otros países. La nueva variante se identificó como Backdoor.Ploutus.B (denominado Ploutus para fines de este blog).

Lo interesante de la nueva investigación que hicimos sobre Ploutus es que esta variante les permitía a los ciberdelincuentes enviar un simple mensaje de texto al cajero automático afectado, para luego dirigirse al mismo y recoger el dinero entregado por el aparato. Esto puede parecer increíble pero esta técnica se está empleando en varios lugares del mundo en este momento y en este blog compartiremos cómo funciona esto.   

Ploutus Infograph SPAJ.jpg

Figura 1. Forma en que los atacantes retiran dinero de un cajero automático utilizando un teléfono.

Conectar un teléfono móvil al cajero automático

Los delincuentes informáticos pueden controlar el cajero automático de forma remota utilizando un teléfono móvil que está conectado en el interior del cajero automático. Existen varias formas de conectar un teléfono móvil a un cajero automático. Un método muy común es utilizar una configuración llamada USB tethering (conexión de dispositivos), que es efectivamente una conexión a Internet compartida entre el teléfono y la computadora (o en este caso, el cajero automático).

Los atacantes deben configurar el teléfono correctamente, conectarlo al cajero automático e infectar el cajero con Ploutus. Una vez realizados todos estos pasos, se establece una conexión bidireccional y el teléfono está listo para ser utilizado.   

Dado que el teléfono está conectado al cajero automático a través de un puerto USB, el teléfono consume energía de la conexión, lo que permite cargar la batería, y por lo tanto, el teléfono puede permanecer encendido indefinidamente.    

Envío de mensajes de texto al cajero automático

Tras conectar el teléfono móvil al cajero automático y de completar la configuración, los delincuentes pueden enviar comandos específicos por mensaje de texto al teléfono conectado dentro del cajero automático. Cuando el teléfono detecta un nuevo mensaje en el formato requerido, el dispositivo móvil convierte el mensaje en un paquete de red y lo reenvía al cajero automático a través del cable USB.

El monitor del paquete de red (NPM, por sus siglas en inglés) es un módulo del malware que actúa como un rastreador y vigila todo el tráfico de la red en el cajero. En cuanto el cajero afectado recibe un paquete válido TCP (Protocolo de Control de Transmisión) o UDP (Protocolo de Datagrama de Usuario)  desde el teléfono, el NPM analiza el paquete y busca el número “5449610000583686” en un ajuste específico dentro del paquete para poder procesar todo el paquete de datos. Una vez detectado ese número específico, el NPM lee los siguientes 16 dígitos y los utiliza para crear una línea de comando para ejecutar Ploutus. Este es un ejemplo de dicho comando o instrucción sigue a continuación:         

cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

En las versiones anteriores de Ploutus, el delincuente principal debía informarle estos dígitos al encargado o cómplice que recogía el dinero, lo que le daba la oportunidad de estafar al delincuente principal si supiera lo que el código les permite hacer. En esta versión de Ploutus, el cómplice nunca ve los 16 dígitos, lo que le da al delincuente principal la seguridad y la capacidad de tener control total de los retiros de dinero. El código permanece activo durante 24 horas.

El uso de mensajes SMS para controlar cajeros automáticos de forma remota es un método mucho más conveniente para todas las partes involucradas en esta estafa, dado que es discreto y funciona prácticamente de forma instantánea. El delincuente principal sabe exactamente cuánto dinero recogerá su enviado y, a su vez, quien va por el dinero no necesita quedarse merodeando cerca del cajero automático esperando a que salga el efectivo. El delincuente principal y su cómplice pueden actuar de forma sincronizada para que el dinero sea expedido en el momento exacto en que la persona simule retirar dinero o pase caminando frente al cajero automático.   

La suma de los factores del ataque

Ahora que conocemos en detalle cómo funciona esta estafa, este es un resumen del ataque completo:

Ploutus Info2 SPLR.jpg

Figura 2. Resumen del ataque Ploutus a cajeros automáticos

Recapitulación del proceso

  1. El atacante instala Ploutus en el cajero automático y conecta un teléfono móvil a la máquina con un cable USB.
  2. El delincuente envía dos mensajes de texto al teléfono móvil que está conectado al cajero.
    1. SMS 1 debe contener un ID de activación válido para poder activar Ploutus en el cajero.
    2. SMS 2 debe contener un comando válido para activar la entrega del dinero y poder retirar el efectivo.
  3. El teléfono detecta los mensajes de texto válidos recibidos y los reenvía al cajero automático como si fuera un paquete TCP o UDP.
  4. Dentro del cajero, el módulo del monitor del paquete de red recibe el paquete TCP/UDP y, si contiene un comando válido, ejecuta Ploutus.
  5. Un cómplice recoge físicamente el dinero del cajero automático.

Pudimos reproducir este ataque en nuestros laboratorios con un auténtico cajero automático infectado con Ploutus. En este breve video le mostramos cómo funciona este ataque.

Default Chromeless Player

Si bien en esta demostración utilizamos el malware Ploutus, Symantec Security Response ha descubierto otros códigos maliciosos que están atacando a los cajeros automáticos. En el caso de Ploutus, el objetivo de los atacantes es robar dinero desde adentro del cajero, sin embargo, otros códigos que hemos analizado intentan robar el PIN y los datos de la tarjeta del cliente, mientras que algunos intentan concretar ataques de tipo “hombre en medio” (“man in the middle”). Es evidente que los atacantes tienen varias ideas de cómo robar dinero de un cajero automático. 

¿Qué podemos hacer para proteger los cajeros automáticos?

Los cajeros automáticos modernos cuentan con medidas de seguridad avanzadas, como los disco duros encriptados, que pueden evitar estos tipos de técnicas de instalación. Sin embargo, en el caso de los cajeros más antiguos que funcionan con Windows XP, la protección contra estos tipos de ataques es más complicada, en especial cuando los cajeros automáticos ya están en funcionamiento en varias ubicaciones remotas. Otro inconveniente que se debe enfrentar es la seguridad física de la computadora instalada en el cajero. Si bien el dinero en los cajeros está dentro de una caja fuerte, por lo general la computadora no está protegida. Sin un sistema de seguridad física adecuado, el atacante tiene una amplia ventaja sobre los cajeros automáticos, especialmente los más viejos.     

Algunas medidas que recomendamos considerar para complicar la tarea a los delincuentes son:

  • Actualizar el sistema operativo por uno que tenga un soporte adecuado, como Windows 7 u 8.
  • Contar con una protección física adecuada y pensar en la posibilidad de instalar cámaras de seguridad en los cajeros.
  • Asegurar el BIOS (Sistema Básico de Entrada/Salida) para evitar que se inicien medios no autorizados, como los CD-ROM o memorias USB.
  • Realizar un cifrado completo del disco para evitar su manipulación.
  • Utilizar una solución de bloqueo de sistema, como Symantec Data Center Security: Service Advanced (conocida anteriormente como Critical System Protection).

Combinando estas medidas de seguridad, le será muy difícil a los atacantes infectar un cajero automático sin la ayuda de un cómplice infiltrado.

Las soluciones de seguridad para consumidores, endpoint sy protección de servidores seguirán soportando los sistemas Windows XP, sin embargo recomendamos a los usuarios de dicho sistema operativo mirar a uno más actual lo más pronto posible para reducir los riesgos.

Texting ATMs for Cash Shows Cybercriminals’ Increasing Sophistication

daniel_blof_header_image_cropped.png

There is a growing chorus of voices calling for businesses and home users to upgrade existing Windows XP installations to newer versions of Windows, if not for the features, then at least for the improved security and support. ATMs are basically computers that control access to cash, and as it turns out, almost 95 percent of them run on versions of Windows XP. With the looming end-of-life for Windows XP slated for April 8, 2014, the banking industry is facing a serious risk of cyberattacks aimed at their ATM fleet. This risk is not hypothetical — it is already happening. Cybercriminals are targeting ATMs with increasingly sophisticated techniques. 

In late 2013, we blogged about new ATM malware in Mexico, which could let attackers force ATMs to spew cash on demand using an external keyboard. That threat was named Backdoor.Ploutus. Some weeks later, we discovered a new variant which showed that the malware had evolved into a modular architecture. The new variant was also localized into the English language, suggesting that the malware author was expanding their franchise to other countries. The new variant was identified as Backdoor.Ploutus.B (referred to as Ploutus throughout this blog).  

What was interesting about this variant of Ploutus was that it allowed cybercriminals to simply send an SMS to the compromised ATM, then walk up and collect the dispensed cash. It may seem incredible but this technique is being used in a number of places across the world at this time.

In this blog, we will show you how this functionality works.

ATM_blog_infographic_fig1.png
Figure 1. How attackers withdraw cash from an ATM using a phone

Connecting a mobile phone to the ATM
The criminals can remotely control the ATM by using a mobile phone which is connected to the inside of the ATM. There are multiple ways to connect a mobile phone to an ATM. A common method is to use a setup called USB tethering, which is effectively a shared Internet connection between a phone and a computer (or in this case, an ATM). 

The attackers need to set the phone up correctly, connect it to the ATM and infect the ATM with Ploutus. Once all of these steps are complete, a full two-way connectivity is established and the phone is ready to be used. 

Since the phone is connected to the ATM through the USB port, the phone also draws power from the connection, which charges the phone battery. As a result, the phone will remain powered up indefinitely. 

Sending SMS messages to the ATM
After the mobile phone is connected to the ATM and set up is completed, the criminals can send specific SMS command messages to the phone attached inside the ATM. When the phone detects a new message under the required format, the mobile device will convert the message into a network packet and will forward it to the ATM through the USB cable.

The network packet monitor (NPM) is a module of the malware which acts as a packet sniffer, watching all network traffic going on in the ATM. As soon as the compromised ATM receives a valid TCP or UDP packet from the phone, the NPM will parse the packet and search for the number “5449610000583686” at a specific offset within the packet in order to process the whole package of data. Once that specific number is detected, the NPM will read the next 16 digits and use them to construct a command line to run Ploutus. An example of such a command is shown below: 

cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

In previous versions of Ploutus, the master criminal would have to share these digits with the money mule, which could allow the money mule to defraud the master criminal if they realize what the code allows them to do. In this version of Ploutus, the mule never sees the 16 digits, giving the master criminal added security and the ability to centrally control cash withdrawals. The code is active for 24 hours.

Using SMS messages to remotely control the ATM is a much more convenient method for all of the parties in this scheme, because it is discrete and works almost instantly. The master criminal knows exactly how much the money mule will be getting and the money mule does not need to linger for extended periods around an ATM waiting for it to issue the cash. The master criminal and money mule can synchronize their actions so that the money is issued just as the money mule pretends to withdraw cash or is walking past the ATM.

Putting it all together
Now that we have looked into the details of how this scheme works, here’s an overview of how it all fits together.

ATM_attack_ploutus_attack_overview_fig2.png
Figure 2. Ploutus ATM attack overview

Process overview

  1. The attacker installs Ploutus on the ATM and connects a mobile phone to the machine with a USB cable.
  2. The controller sends two SMS messages to the mobile phone inside the ATM.
    1. SMS 1 must contain a valid activation ID in order to enable Ploutus in the ATM.
    2. SMS 2 must contain a valid dispense command to get the money out.
  3. The phone detects valid incoming SMS messages and forwards them to the ATM as a TCP or UDP packet.
  4. In the ATM, the network packet monitor module receives the TCP/UDP packet and if it contains a valid command, it will execute Ploutus.
  5. Ploutus causes the ATM to spew out the cash. The amount of cash dispensed is pre-configured inside the malware.
  6. The cash is collected from the ATM by the money mule.

We were able to replicate this attack in our lab with a real ATM infected with Ploutus, so we can show you this attack in action in our short video.

atm_video_overlay_600w_1.png
Figure 3. Video on how Ploutus attacks against ATMs work

While in this demonstration, we are using the Ploutus malware, Symantec Security Response has found several different forms of malware that are targeting ATMs. In the case of Ploutus, the attackers are trying to steal the cash from inside the ATM; however, some malware we have analyzed attempts to steal the customers’ card information and PIN while other malicious software lets criminals attempt man-in–the-middle attacks. Clearly, attackers have different ideas on how best to make money from an ATM.

What can be done to protect ATMs?
Modern ATMs have enhanced security features, such as encrypted hard-drives, which can prevent these types of installation techniques. However, for older ATMs still running on Windows XP, protecting against these types of attacks is more challenging, especially when the ATMs are already deployed in all sorts of remote locations. Another difficulty that needs to be addressed is the physical security of the computer inside the ATMs. While the ATM’s money is locked inside a safe, the computer generally is not. Without adequate physical security for these older ATMs, the attacker has the upper hand.  

A number of measures could be taken to make things more difficult for the criminals. These include:

  • Upgrading to a supported operating system such as Windows 7 or 8
  • Providing adequate physical protection and considering CCTV monitoring for the ATM
  • Locking down the BIOS to prevent booting from unauthorized media, such as CD ROMs or USB sticks
  • Using full disk encryption to help prevent disk tampering
  • Using a system lock down solution such as Symantec Data Center Security: Server Advanced (previously known as Critical System Protection)

With all these measures in place, attackers would find it much harder to compromise an ATM without a complicit insider. 

Symantec’s consumer, endpoint and server protection solutions will continue to support Windows XP systems for the foreseeable future; however, we strongly recommend that Windows XP users should upgrade to a more current operating system as soon as possible. 

Another Data Breach Crisis Looms as Microsoft’s D-Day for XP Forces Security Scramble

Opinion by Ondrej Vlcek, Chief Operations Officer at AVAST Software The termination of security updates by Microsoft to Windows XP will create severe security issues. The already rather unsafe operating system will face even more risks with the missing security updates, but the question is: Should Windows XP users be the only ones worried? Microsoft […]

AVAST will continue to support Windows XP for home and business users

In “internet years” Microsoft’s Windows XP has been around for eons. It was released in August 2001, and in less than one month, on April 8, 2014, Microsoft will cease to provide support and security updates. The security updates patch vulnerabilities that could be exploited by malware and help to keep users and their data […]

Microsoft Security Advisory (2661254): Update For Minimum Certificate Key Length – Version: 2.0

Revision Note: V2.0 (October 9, 2012): Revised advisory to rerelease the KB2661254 update for Windows XP and to announce that the KB2661254 update for all supported releases of Microsoft Windows is now offered through automatic updating. …

Microsoft Security Advisory (979267): Vulnerabilities in Adobe Flash Player 6 Provided in Windows XP Could Allow Remote Code Execution

Revision Note: V1.0 (January 12, 2010): Advisory published.
Summary: Security Advisory

Microsoft Security Advisory (954157): Security Enhancements for the Indeo Codec – Version: 1.0

Revision Note: V1.0 (December 8, 2009): Advisory published.
Summary: Microsoft is announcing the availability of an update that provides security mitigations to the Indeo codec on supported editions of Microsoft Windows 2000, W…