Nuevas y curiosas técnicas del malware contra entidades latinoamericanas

Publicado en Ciencia y Tecnología, Noticias,


Tweet about this on TwitterShare on Google+2Share on Facebook0Share on LinkedIn0

No es un secreto que el malware contra entidades latinoamericanas se fundamente en el “pharming”. O sea, la modificación de la resolución de dominios a través del archivo hosts del sistema. Con sus distintas variantes, los atacantes se han centrado principalmente en esta técnica en los últimos años. Sin embargo hace poco, hemos observado una pequeña progresión que nos ha parecido curiosa.

Los brasileños

Los atacantes brasileños suelen utilizar técnicas muy diferentes a los rusos o los latinoamericanos. Ellos prefieren programar en Delphi, y crear ventanas de programa que son como réplicas de una parte o de toda la página del banco objetivo. Se superponen en la web original cuando se visitan, y la víctima introduce en esos formularios sus datos. A este tipo de malware los llamamos “delephant”, porque además de estar programados en Delphi, también suelen “pesar” mucho (varios megas) al contener imágenes en bruto de varios bancos.

O también pueden llegar a crear una pantalla que simule ser por completo el navegador.

Los brasileños no se caracterizan precisamente por su calidad al programar, ni por su innovación. Y este caso que vamos a estudiar será un buen ejemplo.

Los rusos

Además de más sofisticados, una de las características de la escuela de malware rusa es que consiguen posicionarse en el sistema de forma que recogen el tráfico, aunque esté cifrado. Contra esto, los bancos se apresuraron a ofuscar el tráfico con JavaScript. Antes de enviarlo al servidor, lo codifican profusamente. Así, aunque lo interceptasen (con un man-in-the-browser en forma de BHO, por ejemplo) seguirían encontrándose con la dificultad del ofuscado.

Si los programadores del malware lo tuviesen en cuenta, podrían indicarle al BHO que obviasen las rutinas de ofuscado específicas… pero veremos qué han preferido hacer los brasileños ante la “dificultad” de programar un BHO.

Las “nuevas” técnicas

Lo que nos hemos encontrado es un método que mezcla estas dos familias e implementa una curiosa técnica para eludirlas. Lo que el troyano hace es:

  • Infecta la máquina, y se queda a la espera de la monitorización de ciertas páginas.
  • Cuando detecta que se está en las páginas que necesita, inyecta un JavaScript propio en la página, que se encarga de copiar al portapapeles los datos robados.

  • JavaScript, por definición, no puede escribir en disco, por tanto (y aquí lo curioso), lo que hace el troyano es copiar el contenido que le interesa en el clipboard y, por otro lado, el troyano monitoriza el portapapeles. Si contiene los datos que le interesan, es él el que los graba en disco.

Curiosísima forma de eludir la restricción de JavaScript de escribir en disco, a través del portapapeles.

Más datos sobre el troyano

Por lo demás, como suelen hacer los especímenes brasileños, envía por correo los datos robados. También captura los teclados virtuales en pequeñas “fotografías” cuando el usuario pulsa sobre los números. Si el banco ofusca estos números con un “*” cuando son pulsados, el troyano carga una rutina JavaScript que evita que esto ocurra, y así puede grabar en imágenes las teclas virtuales pulsadas.

Muestras de los resultados

El troyano ataca a diferentes entidades, principalmente sudamericanas. Estos son un par de ejemplos de archivos HTML que el troyano envía a los atacantes. Por ejemplo para el Banco Guayana.

Y para el Banco Caroní.

Curioso porque pega todas las imágenes y las letras de la contraseña dos veces. Esto es simplemente uno (de tantos) errores de programación.

Como curiosidad final, durante el análisis del troyano (pero independientemente de este) he advertido un error de concepto en la seguridad del Banco Guayana. Normalmente, los bancos se protegen de los troyanos que realizan capturas de pantalla sustituyendo los números o teclas por asteriscos cuando son pulsados (momento en que un hipotético troyano haría la “foto”). Por el contrario, cuando se separa el puntero, los números deben ser mostrados en claro, para que el usuario pueda identificarlos. Este es el comportamiento “normal”:

Pero en el caso de Guayana, sus administradores lo han implementado al revés… en concreto tiene un error de concepto en su teclado virtual que hace que sus medidas de seguridad no sean útiles, puesto que, oculta los números cuando no se están pulsando… y los muestra cuando se van a elegir. Lo que facilita la vida a los troyanos de este tipo.

Fuente

Califica esta entrada

Etiquetas: ,


Deja un comentario

Cuanto es 6 + 20 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.

Newsletter

Redes sociales

Centro de soporte

Centro de recursos