PROTEIN – PROTEct your INformation. Otra herramienta más contra el RANSOMWARE .By Amador Pérez de New Vision Softlan

Blog

Estimados amigos de Inseguros !!!

En el post de hoy nos os voy a contar ninguna aventura, ninguna opinión, ningún proceso. 

Hoy vamos a darle el turno al amigo Amador Pérez de New Vision Soflan @c0p3rnic0 para que nos cuente un interesante proyecto que ha llevado a cabo de manera altruista, si !!! gratis !!! para la lucha contra el ransomware que tanto nos preocupa.

El hombre se ha prestado a ayudarnos a todos con este script Powershell, por lo que le doy las gracias y espero que os guste.Gracias !!!!

¿Qué es PROTEIN?

PROTEIN es un script en Powershell desarrollado por Amador Pérez Trujillo
(aka @c0p3rnic0).

Amador Pérez
actualmente es el CEO de New
Vision SoftLan
, empresa focalizada en proporcionar soluciones de
seguridad protegiendo el activo más valioso y sensible de una empresa: su
información.

HACKING-PROTEIN

PROTEIN utiliza las capacidades de
monitorización que proporciona .NET para controlar el uso que se hace de la
información almacenada en un repositorio (carpetas). A partir de la captura de
los eventos producidos en el repositorio, evalúa si los ficheros creados son
confiables. En el caso contrario actúa alertando al administrador de sistemas,
bloqueando la cuenta de usuario del dominio y deshabilitando la tarjeta de red
de la máquina infectada para detener su propagación.

¿Cómo funciona?

PROTEIN se basa en una función combinada de tres elementos para detectar
posibles ataques de ransomware:

  • Blacklist:
    Listado de extensiones conocidas de ransomware 
  • Whitelist:
    Listado de extensiones permitidas en nuestro repositorio 
  • Honeypot:
    carpeta utilizada para atrapar nuevos ransomware 

Mediante la BlacklistPROTEIN constantemente monitoriza la
creación de nuevos ficheros y los compara a los almacenados en esa lista. Actualmente
están registradas como extensiones de ransomware las siguientes:

.ecc,.ezz,.exx,.zzz,.xyz,.aaa,.abc,.ccc,.vvv,.xxx,ttt,.micro,.encrypted,.locked,.crypto,_crypt,.crinf,.r5a,.XRNT,.XTBL,.crypt,.R16M01D05,.pzdc,.good,.LOL!,.OMG!,.RDM,.RRK,.encryptedRSA,.crjoker,.EnCiPhErEd,.LeChiffre,.keybtc@inbox_com,.0x0,.bleep,.1999,.vault,.HA3,.toxcrypt,.magic,.SUPERCRYPT,.CTBL,.CTB2,.locky,.mp3,.hydracryp

El fichero que contiene la lista de extensiones en texto plano es
ransomware_list.config, un fichero en texto plano que puede ser modificado como
el usuario desee:

HACKING-RANSOMWARE

Tan pronto PROTEIN detecta
la creación de un fichero con una extensión de este tipo, se realizan tres
acciones :

1.     Alerta por correo electrónico al administrador de sistema. 

2.     Bloquea el usuario del directorio activo que está siendo utilizado por el
ransomware para cifrar la información. 

3.     Deshabilita la tarjeta de red del ordenador del usuario infectado
para evitar la propagación del ransomware incluso reiniciando el sistema así
como cortando cualquier conexión con Internet bloqueando la descarga de claves
para cada fichero infectado con la automática desactivación del ataque. 

4.     Alerta al usuario de que ha sido infectado por un
ransomware mediante un mensaje emergente.

Por otro lado PROTEIN se
nutre de un listado de extensiones permitidas en el sistema como elemento
predictivo de nuevos ransomware no detectados (nuevos y no registrados por
nadie hasta la fecha) o no actualizados en la lista Blacklist de extensiones de
ransomware. Este listado se encuentra almacenado en el archivo «white_list.config«.
Actualmente este fichero contiene 725 extensiones permitidas, estando cubierta
un amplio rango de las extensiones reconocidas por el sistema operativo y
programas comúnmente utilizados. En el caso de querer añadir una nueva
extensión permitida, tan sólo hace falta agregarla a este fichero que está en
texto plano.

HACKING-WHITELIST

Para esta detección PROTEIN trabaja
de dos formas diferentes. 

  • Por un
    lado analizando una carpeta «Señuelo» (honeypot) y
    actuando en caso de modificación de su contenido. Esa carpeta señuelo es
    creada automáticamente cuando se instala (se ejecuta ./protein.ps1
    –install) y se indica el repositorio a analizar. El nombre que se le da a
    la carpeta «señuelo» es «_AntiRansomware«,
    conteniendo tres archivos tipo .docx que son los monitorizados comprobando
    que en todo momento existen. En el caso de no existir  alguno de esos
    archivos (un ransomware está empezando ha actuar) automáticamente actua
    según el procedimiento anteriormente explicado, es decir: 
    • Alerta
      por correo electrónico al administrador de sistema 
    • Bloquea
      el usuario del directorio activo que está siendo utilizado por el
      ransomware para cifrar la información 
    • Deshabilita
      la tarjeta de red del ordenador del usuario infectado para evitar la
      propagación del ransomware incluso reiniciando el sistema así como
      cortando cualquier conexión con Internet bloqueando la descarga de claves
      mediante conexiones TOR con la automática desactivación del ataque

  • Por el
    otro analizando la lista de extensiones conocidas. En este caso, 
    PROTEIN por defecto está configurado
    para tan sólo registrar que se ha creado un nuevo fichero de extensión
    desconocida y no actuar ante él (lo registra en un fichero de log), pudiéndose
    cambiar la forma de actuar
     simplemente copiando el procedimiento
    de envío de alertas y bloqueo de usuario y tarjeta de red para esta
    acción, puesto que el código está publicado para su modificación.

Paralelmente PROTEIN almacena
un registro alertando de la infección para su consulta posterior. Como ejemplo
podemos ver como interceptó la infección de un ransomware en un repositorio
denominado «REPOSITORIO FICTICIO«, mostrando el registro
creado en el log:

Podemos observar como detecta el fichero como un ransomware e
informa que se ha bloqueado, deshabilitado el usuario que está utilizando el
ransomware para cifrar la información y por último informa que ha deshabilitado
su tarjeta de red.

PROTEIN utiliza la Clase
io.filesystemwatcher de ,NET. Esta Clase escucha las notificaciones de cambio
del sistema de archivos y genera eventos cuando cambia un directorio o un
archivo de un directorio. 

Aprovechando esta
funcionalidad, capturamos estos eventos y cuando se cree un archivo lo
analizamos para ver si es un ransomware o no.

Os dejo tres vídeos que muestran el funcionamiento de PROTEIN:

Ransomware
creado para fines «no malvados» :

Actuación PROTEIN lado cliente bloqueando una infección:

Actuación PROTEIN lado servidor, deshabilitando
usuario y alertando:

Desde este
enlace podéis descargar la herramienta tanto compilado en .exe como
en .ps1:

https://github.com/c0p3rnic0/PROTEIN

Tambien disponible en BitBucket: https://bitbucket.org/c0p3rnic0/protein

Gracias Amador por este excelente trabajo y por presentarlo en esta humilde comunidad !!!

Autor

Profesor y consultor de ciberseguridad. Microsoft MVP.

+ 25 años de experiencia

Compartir artículo :

Otros artículos

calendly
×
Hola 👋, bienvenido a SeguridadSI
Reserva una llamada de 15 minutos para resolver cualquier consulta
Scroll al inicio