Como crear tu propio Ransomware (y como protegerte)

Ransomware es un tipo malware (software malicioso) que ademas de infectar y propagar como hacen los virus tradicionalmente, encripta los ficheros (locales y/o de red) y pide un rescate por la clave para desencriptarlos. La encriptación es fuerte y la única manera de desencriptar es con la clave o programa que proporcione el hacker, previo pago a una cartera de Bitcoin. Lo normal cuando se paga es no recuperar nunca los ficheros (y el responsable de sistemas quedar como un inútil).

El primer gran conocido de estos pequeños mostruos se llama Crypt0l0cker y apareció en 2013. Desde entonces diversas oleadas de “parientes” han ido apareciendo hasta llegar a la aparición de WannaCry en mayo de 2017, que además aprovechaba un agujero de seguridad de Windows parcheado en marzo. Este agujero permitía que cuando un PC se infecta, se infectan automáticamente todos los PCs de la red local de la empresa, y lo encriptan todo. La infección se convirtió en pandemia y afectó a grandes empresas y servicios públicas.

Hay muchas páginas con “consejos para protegerte de Wannacry” pero la aproximación que hacen es la típica que se hace contra cualquier otro virus. Yo quiero dar otro enfoque bajo estas premisas:

  1. Ransomware no tiene por que ser un virus. Algunos no buscan ni infectar. Su razón de ser original es secuestrar datos.
  2. Aparecerán muchos más como Cryptolocker o Wannacry. Aprovecharan agujeros de seguridad desconocidos y los responsables de sistemas volverán a pasarse noches restaurando backups.
  3. Ningún antivirus puede evitar que una empresa pueda ser atacada por un ransomware hecho con cariño. De hecho voy a explicar como se podría hacer uno.

Como crear un RansomWare contra el que no hay protección

Solo voy a enumerar los pasos sin necesidad de detallar. Cualquier programador medio con VisualStudio puede crear un programa que acceda a carpetas de red, use una librería para encriptar  y  modifique ficheros.

La estrategia es conseguir que un usuario crea instalar una utilidad para, por ejemplo, abrir facturas en cierto formato.

  1. Seleccionar la víctima. No deseamos crear el siguiente Wannacry, solo intentar obtener dinero de una empresa en particular. Yo apuntaría a empresas medianas y pequeñas ya que hay más posibilidades de que el tema de las copias de seguridad lo tengan algo abandonado, o tengan instado un mega-sistema de backup que nunca han probado (para mi, un sistema de backup que nunca se ha probado en una restauración es muy probable que no funcione correctamente).
  2. Conseguir información de la empresa. Cuentas de correo de empleados, correo de clientes, información de productos, etc… se pueden enviar algún correo interesándose por diversos servicios, características técnicas de ellos, información de como facturan. Puro teatro para recopilar varias direcciones de correo y con suerte la de algún usuario despistado de Administración.
  3. Crear el programa. Lo único que tendría que ser es un .EXE que al ejecutarse:
    1. Autocopiarse en una carpeta de inicio estilo C:\Users\<User Profile folder name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Al hacer eso Windows pediria permisos al usuario, pero el usuario será nuestro aliado.
    2. Al ejecutarse, Mostrar un mensaje de error de “Este programa es incompatible con su versión de Windows” y aparentemente cerrarse. Solo es para despistar al usuario y que piense que no ha ocurrido nada.
    3. El programa empezaría a encriptar ficheros de las carpetas compartidas accesibles desde el PC. Se podría empezar por encriptar las más antiguas, ya que si empezamos por los ficheros más nuevos, siendo también los más usados, los usuarios se darían cuenta antes de que algo va mal. Los ficheros encriptados los dejaría con la misma extensión, cambiando solo el contenido y añadiendo un par de bytes característicos al inicio para saber cuales están encriptados y cuales no. También intentaría no superar el 30% de uso de CPU para que el usuario no note que el PC le va lento y sospeche que algo pasa.
    4. Cuando ya ha finalizado el “trabajo” con los ficheros de red, mostrar un mensaje a escoger del estilo “Estas infectado, envía bitcoins a tal cuenta bla bla bla y escribe después al este email”.
  4. Comprar por ejemplo el dominio estilo nuevaefactura.es. Copiar el contenido de la página http://www.facturae.gob.es y poner bien grande en medio un enlace a “DESCARGAR VISOR DE E-FACTURA (Windows)”. En ese enlace estaría nuestro ejecutable llamado por ejemplo eFacturaViewerWindows-2.82.exe.
  5. Tener listo nuestro wallet de bitcoin.
  6. Lanzar el cebo por email. Lo peligroso realmente para la víctima es recibir un email suplantando el nombre y recipiente de algún cliente o contacto con el que trabaje (falsear remitente de email es de primero de hacker). Aquí es donde hay que dejar correr la imaginación en función de lo que sepamos de la empresa.

ransomware

A partir de ahí podemos imaginar lo que ocurrirá con un poco de suerte: al final del día sorpresón, disgusto, y si no tienen backups igual hasta pagan. Un adolescente ruso se embolsa un puñado de bitcoins más.

En esta prueba de concepto no he descrito muchos aspectos técnicos a tener en cuenta para el ataque o para no ser descubierto por la policía, lo cual es lo más probable que acabe ocurriendo.

Como veis no hay antivirus que valga porque no es ningún virus conocido. El 80% de nosotros puede ser Miguel. Un sola persona puede atacar varias empresas al día. Muchas empresas han tenido que cerrar la persiana tras estos ataques.

Como protegerse de verdad

No utilizar Windows o no dejar que los usuarios instalen nada

Ya se que suena friki, pero después del agujero de seguridad aprovechado por WannaCry, siendo este obviamente conocido durante más de una década tanto por Microsoft como por la NSA, yo creo que se ha acabado. Seguro que habrán más. Yo haría lo que se pueda: Mac (con Windows en Parallels), Linux. O utilizar Windows pero absolutamente capado para que un usuario no pueda instalar nada sin supervisión de un administración.

No utilizar carpetas compartidas como repositorio

El protocolo SMB con el se comparten las carpetas de Windows se ideó en el año 1990. No existía internet. Se ideó para compartir ficheros sin ir con diskettes. Con los años el espacio de disco fue mas barato, se centralizaron los ficheros en un servidor SMB o Samba, y se fue utilizando para acceder como repositorio, lo cual es una locura. Si hoy día sacasen un protocolo que permite a cualquier trabajador acceder a todo el repositorio original de ficheros de la empresa sin ningún filtro, los expertos en seguridad dirían que están locos.

En todo caso, se debería poder utilizar para acceder solo a copias de los ficheros, nunca al repositorio original. Hay que utilizar gestores documentales de verdad, o repositorios en la nube como Google Docs o Dropbox.

Seguridad perimetral de red

Todos los accesos al exterior deberían pasar a través de un proxy. Los equipos con acceso a información sensible de la empresa deberían acceder al exterior solo con lista blanca (todos los destinos prohibidos excepto una lista segura).

Copias de seguridad

Ya se que es obvio pero aun hay empresas que no tienen un sistema de backup diario que aloje los ficheros en un lugar seguro y remoto. Si entra un cryptolocker y se pierden los documentos, facturas, etc… muchas empresas han tenido que bajar la persiana. Lo más valioso de la mayoría de negocios hoy día no son los tornillos, el talento o el dinero: es la información.

 

En BIZLOGIC realizamos soluciones para gestionar la información de manera segura. Los clientes han de estar en un CRM y no en un excel. Las facturas y pedidos en un sistema de facturación.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.