Buscar este blog

miércoles, 1 de diciembre de 2010

Troyano utiliza criptografía asimétrica II

En la entrega anterior vimos un ransomware que ha llamado la atención porque utiliza criptografía asimétrica para cifrar los archivos del usuario y pedir así un rescate por ellos. A continuación veremos cómo funciona exactamente y qué fallas y aciertos ha cometido su autor.

1.- El troyano (empaquetado con UPX) contiene en su interior una clave pública del atacante, un archivo BMP y el texto del mensaje.

2.- Utilizando las APIs criptográficas de Windows genera un par de claves públicas y privadas que las llamaremos A y B usando el protocolo RSA.

3.- Cifra con su clave pública una de las claves supongamos A generadas en el paso 2, lo que daría A'. Este paso es interesante, porque así evita que alguien con conocimientos aplique el proceso inverso de cifrado.

4.- En este punto el troyano crea un hilo y comienza a realizar dos tareas en paralelo. Por un lado muestra el mensaje de texto (concatenando en el texto la clave A') y cambia el fondo de pantalla, al mismo tiempo comienza a cifrar. Esto es un grave error puesto que mientras muestra el mensaje de alerta, ya está cifrando los archivos. La víctima solo tiene que identificar y terminar el proceso. Así salvará la mayor parte de sus archivos.

5.- El troyano busca en todas las unidades archivos con estas extensiones: jpg, .jpeg, .psd, .cdr, .dwg, .max, .mov, .m2v, .3gp, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .rar, .zip, .mdb, .mp3, .cer, .p12, .pfx, .kwm, .pwm, .txt, .pdf, .avi, .flv, .lnk, .bmp, .1cd, .md, .mdf, .dbf, .mdb, .odt, .vob, .ifo, .mpeg, .mpg, .doc, .docx, .xls, y.xlsx. Cifra con la clave B generada en el paso 2 y en bloques la mitad del tamaño de cada archivo. Es interesante destacar que los archivos son sobrescritos (esto hace que los originales no puedan recuperarse). Antes de cifrar cada archivo, debe comprobar que no se llame HOW TO DECRYPT FILES.txt o el nombre aleatorio que pone al BMP que usa como fondo de pantalla. Si es así, no los cifra. Esta es una comprobación que se podía haber ahorrado si creara estos archivos después del cifrado y no antes.

6.- Borra la clave B con la que ha cifrado los archivos. Ahora, será necesario que el atacante descifre A' con su clave privada. Con esto el atacante obtendrá A, necesaria para descifrar lo que ha sido cifrado con B.

7.- El troyano crea un bat temporal para borrarse.

En el mensaje se advierte a la víctima de que después de cierto tiempo los archivos cifrados serán borrados. Esto no es cierto, no está programado en el código.

Si alguien queda infectado y no cuenta con copia de seguridad de sus archivos puede perderlos definitivamente. Solo queda detectar la infección y terminar el proceso o apagar el sistema. Un usuario con conocimientos de ingeniería inversa podría depurar el proceso mientras está cifrando e intentar rescatar de la memoria la clave B, pero es complejo. Nunca se debe realizar el pago.

La primera muestra que tienen en Virustotal data del 25 de noviembre. Era detectada por firmas por 5 motores. La última está siendo detectada por 24 motores. El país de donde provienen la mayoría de las muestras es Alemania.

Si quieren más información pueden visitar: http://www.hispasec.com/unaaldia/4420

No hay comentarios:

Publicar un comentario