Sophos News

ExtraPulsar una puerta trasera basada en código robado a la NSA

Un experto en seguridad de EEUU ha presentado una puerta trasera de código abierto para Windows, basada parcialmente en un código filtrado de la NSA en 2017 que formaba parte del la filtración de los Shadow Brokers.

El investigador, conocido online como @zerosum0x0 y Sean Dillon en la vida real, ha llamado a su nuevo malware ExtraPulsar, un guiño a la herramienta de la NSA DOUBLEPULSAR.

El código es sorprendentemente sencillo.

En vez de explotar una vulnerabilidad que supuestamente no debería existir, simplemente se aprovecha de una parte no documentada del driver de Microsoft para el servidor de ficheros SRVNET.SYS.

La mayor parte de los servidores Windows y muchos ordenadores Windows permiten las conexiones para compartir ficheros (si ejecutas el comando net share y ves C$ y ADMIN$ en la lista, el tuyo lo hace).

Si está activo compartir archivos, verás que se carga el driver kernel de Windows SRVNET.SYS, cuyo nombre completo es Server Network Driver.

La idea es que el Server Network Driver (se llama así incluso en las versiones de Windows que no son servidores) busque puertos abiertos y el tráfico que es parte del sistema de compartir ficheros de Windows.

Este driver de gestión de tráfico entonces da los paquetes entrantes a uno o adicionales drivers para que negocien las peticiones remotas.

Por ejemplo, el Server Network Driver normalmente está acompañado por un driver de “extensión de dispositivo” llamado srv2.sys, el Smb 2.0 Server Driver.

SMB es la abreviatura de Server Message Block, el sobrenombre de Windows para su protocolo para compartir ficheros.

Si tienes activado el obsoleto, inseguro y ahora no por defecto SMB1, algo que incluso Microsoft te pide que no hagas, también verás SRV.SYS, listado como un simple Server Driver.

Lo que el experto descubrió es como persuadir al Server Network Driver para que cargue un módulo adicional kernel desde su código puerta trasera, algo que muestra en el siguiente gráfico:

La idea es la siguiente:

La prueba de concepto del proyecto de Dillon solo necesita 12 líneas de código en Python que envía un único paquete de código ejecutable al puerto 445 de un ordenador infectado.

Los paquetes SMB normales comienzan con los bytes 0xFF 0x53 0x4D 0x42, que muestran ■SMB cuando aparecen como texto.

El malware reconoce su propio shellcode payload porque está marcado como 0x45 0x78 0x50 0x75, lo que mostraría ExPu, abreviatura de  ExtraPulsar.

¿Qué hacer?

Si has leído alguna noticia sugiriendo que este proyecto podría suponer un malware indetectable, no te preocupes. Un buen software de seguridad puede bloquear drivers kernel maliciosos y sus efectos secundarios de varias formas:

No nos convence que Dillon publicara su prueba de concepto de malware como un proyecto GitHub accesible gratuitamente, pero ExtraPulsar no puede ser utilizado para lanzar directamente un ataque, y no representa una amenaza indetectable.

Por lo que seamos benévolos y digamos que el código de Dillon es interesante en términos educativos si estás interesado por la ciberseguridad

 

 

Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación: