Ir al contenido principal

Malware WannaCry

Hay unos virus que realmente están de miedo estos días, los del tipo Ransomware, este tipo de virus lo que hace es cifrar los archivos que tienes, ya sean documentos, fotos o presentaciones, los cuales luego solo serán accesibles mediante una contraseña que ellos te pueden suministrar.
Para muchos esto puede ser aterrador, las fotos de una fiesta especial o el trabajo de una tesis pueden verse perjudicados con esto, además este tipo de virus también se diferencia porque muestra una imagen pidiendo dinero para soltar la clave junto con un contador para meter más presión.
El tipo de pago es el Bitcoin, una moneda virtual con la cual no se puede seguir el rastro de la persona que recibe el pago, en estos casos, si tenemos máquinas infectadas, lo último que debemos pensar es en pagar el rescate por nuestros archivos, ya que no hay seguridad que realmente nos den la clave, además que con cada pago motivamos a que estos delincuentes vuelvan a hacer lo mismo, lo mejor siempre será buscar una solución en algún foro y ver casos parecidos, evidentemente este no es un post de como salir de ese problema, lo nuestro es ver cómo funciona, ahí vamos.

Descripción:

  • Virus Name: WannaCrypt, WannaCry, WanaCrypt0r, WCrypt, WCRY
  • Vector: Todos las versiones de Windows antes de Windows 10 son vulnerables sin el parche para MS-17-010. Pues usa EternalBlue de MS17-010 para propagarse.
  • Rescate: Entre $300 a $600.
  • Backdooring: El gusano va por toda sesión RDP en un sistema para correr el ransomware como ese usuario. Tambien instala el backdoor DOUBLEPULSAR. Esto corrompe la sombra de los volúmenes para hacer más difícil la recuperación.
  • Kill switch: Si el website www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com está disponible, el virus sale en lugar de infectar al host. Este dominio ha sido bloqueado, deteniendo su propagación. Tampoco funcionaría si se usa un proxy.

Cuando se es vulnerable y cuando no

Para ser  infectado se requiere que el puerto SMB (445) esté abierto, o la máquina ya esté infectada con DOUBLEPULSAR (y killswitch no esté disponible, de algún modo bloqueado, o que se accese a la red a través de un proxy).
El parche MS17-010 arregla la vulnerabilidad.
  • Windows XP: No se propaga. Si se corre manualmente puede encriptar.
  • Windows 7,8,2008: Sin el parche se puede propagar, puede encriptar.
  • Windows 10: No se propaga. Aunque Windows 10 tiene el driver SMB defectuoso.
  • Linux: No se propaga. Si se corre manualmente con wine, puede encriptar archivos.

Detalles de la Criptografía

  • Cada infección genera un par de llaves nuevas RSA-2048.
  • La llave pública es exportada como blob y guardada en 00000000.pky
  • La llave privada es encriptada con la llave pública del Ransomware y guardada como 00000000.eky
  • Cada archivo es encriptado usando AES-128-CBC, con una llave única AES por archivo.
  • Cada llave AES es generado por CryptGenRandom.
  • La llave AES es encriptado usando el par de llaves específico de la infeción RSA.

Tipos de archivo

Numeraremos archivos y folders que wannacrypt evita. Algunos porque son inútiles y otros porque desestabilizan el sistema. Durante su exploración omitirá las siguientes rutas si las detecta:
  • "Content.IE5"
  • "Temporary Internet Files"
  • " This folder protects against ransomware. Modifying it will reduce protection"
  • "\Local Settings\Temp"
  • "\AppData\Local\Temp"
  • "\Program Files (x86)"
  • "\Program Files"
  • "\WINDOWS"
  • "\ProgramData"
  • "\Intel"
  • "$"
Los archivos que al detectarlos encriptará son:
.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pst, .ost, .msg, .eml, .vsd, .vsdx, .txt, .csv, .rtf, .123, .wks, .wk1, .pdf, .dwg, .onetoc2, .snt, .jpeg, .jpg, .docb, .docm, .dot, .dotm, .dotx, .xlsm, .xlsb, .xlw, .xlt, .xlm, .xlc, .xltx, .xltm, .pptm, .pot, .pps, .ppsm, .ppsx, .ppam, .potx, .potm, .edb, .hwp, .602, .sxi, .sti, .sldx, .sldm, .sldm, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .bz2, .tbk, .bak, .tar, .tgz, .gz, .7z, .rar, .zip, .backup, .iso, .vcd, .bmp, .png, .gif, .raw, .cgm, .tif, .tiff, .nef, .psd, .ai, .svg, .djvu, .m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .sh, .class, .jar, .java, .rb, .asp, .php, .jsp, .brd, .sch, .dch, .dip, .pl, .vb, .vbs, .ps1, .bat, .cmd, .js, .asm, .h, .pas, .cpp, .c, .cs, .suo, .sln, .ldf, .mdf, .ibd, .myi, .myd, .frm, .odb, .dbf, .db, .mdb, .accdb, .sql, .sqlitedb, .sqlite3, .asc, .lay6, .lay, .mml, .sxm, .otg, .odg, .uop, .std, .sxd, .otp, .odp, .wb2, .slk, .dif, .stc, .sxc, .ots, .ods, .3dm, .max, .3ds, .uot, .stw, .sxw, .ott, .odt, .pem, .p12, .csr, .crt, .key, .pfx, .der

Formato del archivo de encriptación

typedef struct _wc_file_t {
    char     sig[WC_SIG_LEN]     // 64 bit signature WANACRY!
    uint32_t keylen;             // length of encrypted key
    uint8_t  key[WC_ENCKEY_LEN]; // AES key encrypted with RSA
    uint32_t unknown;            // usually 3 or 4, unknown
    uint64_t datalen;            // length of file before encryption, obtained from GetFileSizeEx
    uint8_t *data;               // Ciphertext Encrypted data using AES-128 in CBC mode
} wc_file_t;

Dato interesante

ETERNALBLUE es un exploit supuestamente desarrollado por la NSA, el grupo de ShadowBlockers lo sacó a la luz, y usa la vulnerabilidad de los puertos SBS. Pudiendo colocar código como el backdoor DOUBLEPULSAR.

Links:

HOW TO EXPLOIT ETERNALBLUE & DOUBLEPULSAR
https://www.exploit-db.com/docs/41896.pdf

Siguiendo un ransomware
https://backtrackacademy.com/articulo/realizando-ingenieria-inversa-a-ransomware

Windows presentando el Parche de seguridad
https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/ 

Wannacript0r en Github
https://gist.github.com/rain-1/989428fa5504f378b993ee6efbc0b168

Comentarios

Entradas populares de este blog

Jerarquía de Memorias, Access Time y Costos.

¿Qué es Jerarquía de Memoria ? Consiste en distribuir la información de diversos dispositivos de memoria, de forma que, cerca del procesador se ubique el modelo de memoria más rápido y de menor capacidad El dispositivo más lento y de mayor capacidad contiene la totalidad del código y los datos de un programa El procesador percibe que la velocidad del sistema es aproximadamente la velocidad del dispositivo más rápido Revisaremos dos procesadores, el prodesador AMD Opteron X4 (Barcelona) y el Intel Nehalem. la Figura 1 muestra la foto del Intel Nehalem, y la figura 2 muestra la del AMD Opteron X4. Ambos tienen caché secundario y terciario en el procesador principal. Tal integración reduce el tiempo de acceso al cache de nivel-inferior y también reduce el número de pines en el chip, de ahí que no se necesite un bus a un caché externo secundario. Ambos tienen controladores de memoria on-chip, que reduce la latencia a la memoria principal . Figura 1: Intel Nehalem Figura 2: ...