"WannaCry" en sistemas Linux: ¿cómo te proteges?

73

Según un artículo de rapid7, hay algunas versiones vulnerables de Samba que permiten la ejecución remota de código en sistemas Linux:

Si bien el gusano de rescate WannaCry impactó en los sistemas de Windows y fue fácilmente identificable, con pasos claros de corrección, la vulnerabilidad de Samba afectará a los sistemas Linux y Unix y podría presentar obstáculos técnicos importantes para obtener o implementar las soluciones adecuadas.

CVE-2017-7494

Todas las versiones de Samba desde 3.5.0 en adelante son vulnerables a una vulnerabilidad de ejecución remota de código, lo que permite que un cliente malintencionado cargue una biblioteca compartida en un recurso compartido de escritura y luego haga que el servidor la cargue y la ejecute.

Posible escenario de ataque:

A partir de los dos factores:

  • La vulnerabilidad Samba aún no se ha solucionado en algunas distribuciones de Linux.
  • Existe una vulnerabilidad de escalada de privilegios locales sin parches en algunas versiones del kernel de Linux (por ejemplo, CVE-2017-7308 en el kernel Ubuntu genérico 4.8.0-41).

Un atacante puede acceder a una máquina Linux y elevar los privilegios utilizando una vulnerabilidad de explotación local para obtener el acceso raíz e instalar un posible ramsomware futuro, similar a este simulacro de ransomware WannaCry para Linux .

Actualizar

Un artículo más reciente "¡Advertencia! Los hackers comenzaron a usar" SambaCry Flaw "para hackear sistemas Linux" demuestran cómo usar el Sambacry falla para infectar una máquina Linux.

La predicción resultó ser bastante precisa, ya que los honeypots establecidos por el equipo de investigadores de Kaspersky Lab han capturado una campaña de malware que está explotando la vulnerabilidad SambaCry para infectar computadoras Linux con software de minería de criptomonedas.

Otro investigador de seguridad, Omri Ben Bassat, descubrió independientemente la misma campaña y la llamó "EternalMiner" .

Según los investigadores, un grupo desconocido de piratas informáticos comenzó a secuestrar PC con Linux solo una semana después de que se revelara públicamente la falla de Samba e instalando una versión mejorada de "CPUminer", un software de minería de criptomonedas que mina la moneda digital "Monero".

Después de comprometer las máquinas vulnerables que utilizan la vulnerabilidad SambaCry, los atacantes ejecutan dos cargas útiles en los sistemas de destino:

INAebsGB.so: un shell inverso que proporciona acceso remoto a los atacantes.

cblRWuoCc.so: una puerta trasera que incluye utilidades de minería de criptomonedas: CPUminer.

Informe de TrendLab publicado el 18 de julio de 2017: se insta a los usuarios de Linux a actualizarse como una nueva amenaza que explota SambaCry

¿Cómo aseguro un sistema Linux para evitar ser atacado?

GAD3R
fuente
22
WannaCry es malware de Windows. Se podría escribir un virus Unix explotando este problema no relacionado con esta implementación no relacionada del mismo protocolo, pero esto no tiene nada que ver con el malware de Windows. Este enlace que le da a WannaCry para Linux es un engaño, ya que al pasar por alto la fuente se ve como la salida de algún software gráfico "haga su propia interfaz gráfica de usuario", sin ningún programa real pero una GUI que no hace nada.
Nadie
2
@ GAD3R usando mi iPhone con Google Translate / modo de cámara, los comentarios en chino dicen que la fuente no está completa. Aconsejaría reelaborar la pregunta en torno al CVE, eliminar el enlace github y no el ransomware que aún no existe; o si todavía quieres evitar esa idea, hacer explícito que el enlace github es solo una maqueta de esa idea
Rui F Ribeiro
8
@ GAD3R Sí, si alguien puede acceder a mi sistema de forma remota con altos privilegios, es mucho menos complicado usar utilidades nativas de Linux para cifrar mi disco duro y escribir una GUI QT como esa en el engaño. Todas las características reales (es decir, la difusión) de WannaCry dependen de las vulnerabilidades de Windows. Mencionar "WannaCry" es hacer cebar, puro y simple.
Nadie
66
@ Nadie Para ser lo suficientemente justo, creo que el OP es de buena fe y no sabe que es solo una GUI; no somos nativos chinos para leer los comentarios y, como él mismo dice, no está muy versado en leer el código fuente; OMI los paralelos entre las dos vulnerabilidades, dando los tiempos también son apropiados. Dale un poco de holgura. No obstante, las implicaciones de la propia CVE son preocupantes.
Rui F Ribeiro
3
OMI No recomendaría cerrar la pregunta, si alguien tiene una idea diferente, adelante. He revisado el texto de la pregunta para que no mencione un ransomware que aún no se ha creado. La solución alternativa que menciono fue al menos útil en un sistema heredado que todavía tenemos.
Rui F Ribeiro

Respuestas:

102

Esta nueva vulnerabilidad de Samba ya se llama "Sambacry", mientras que el exploit mismo menciona "Eternal Red Samba", anunciada en Twitter (sensacionalmente) como:

Error de Samba, el metaploit one-liner para disparar es simplemente: simple.create_pipe ("/ path / to / target.so")

Las versiones de Samba potencialmente afectadas son de Samba 3.5.0 a 4.5.4 / 4.5.10 / 4.4.14.

Si su instalación de Samba cumple con las configuraciones descritas a continuación, la reparación / actualización debe hacerse lo antes posible, ya que ya hay vulnerabilidades , otras vulnerabilidades en los módulos Python y Metasploit .

Más interesante es que ya hay complementos a un honeypot conocimientos de la red trampa proyecto, Dionaea tanto a WannaCry y SambaCry plug-ins .

Samba cry parece que ya se está utilizando (ab) para instalar más cripto-mineros "EternalMiner" o doblar como un gotero de malware en el futuro .

Los honeypots establecidos por el equipo de investigadores de Kaspersky Lab han capturado una campaña de malware que está explotando la vulnerabilidad SambaCry para infectar computadoras Linux con software de minería de criptomonedas. Otro investigador de seguridad, Omri Ben Bassat, descubrió independientemente la misma campaña y la llamó "EternalMiner".

La solución recomendada para sistemas con Samba instalado (que también está presente en el aviso de CVE) antes de actualizarlo, se agrega a smb.conf:

nt pipe support = no

(y reiniciando el servicio Samba)

Se supone que esto deshabilita una configuración que activa / desactiva la capacidad de realizar conexiones anónimas al servicio de canalizaciones con nombre IPC de Windows. De man samba:

Los desarrolladores utilizan esta opción global para permitir o no permitir a los clientes de Windows NT / 2000 / XP la capacidad de realizar conexiones a tuberías SMC IPC $ específicas de NT. Como usuario, nunca debería necesitar anular el valor predeterminado.

Sin embargo, según nuestra experiencia interna, ¿parece que la solución no es compatible con las anteriores? Versiones de Windows (al menos algunos clientes de Windows 7 parecen no funcionar con el nt pipe support = no), y como tal, la ruta de corrección puede ir en casos extremos para instalar o incluso compilar Samba.

Más específicamente, esta solución deshabilita la lista de recursos compartidos de los clientes de Windows y, si se aplica, tienen que especificar manualmente la ruta completa del recurso compartido para poder usarlo.

Otra solución alternativa conocida es asegurarse de que los recursos compartidos de Samba estén montados con la noexecopción. Esto evitará la ejecución de archivos binarios que residen en el sistema de archivos montado.

El parche oficial de código fuente de seguridad está aquí desde la página de seguridad de samba.org .

Debian ya empujó ayer (24/5) una actualización por la puerta, y el aviso de seguridad correspondiente samba DSA-3860-1

Para verificar si la vulnerabilidad se corrige en Centos / RHEL / Fedora y derivados, haga lo siguiente:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Ahora hay un nmapscript de detección: samba-vuln-cve-2017-7494.nse para detectar versiones de Samba, o un nmapscript mucho mejor que verifica si el servicio es vulnerable en http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse , cópielo /usr/share/nmap/scriptsy luego actualice la nmapbase de datos, o ejecútelo de la siguiente manera:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

Acerca de las medidas a largo plazo para proteger el servicio SAMBA: El protocolo SMB nunca debe ofrecerse directamente a Internet en general.

Tampoco hace falta decir que SMB siempre ha sido un protocolo complicado, y que este tipo de servicios debe ser controlado y restringido a las redes internas [a las que se les presta servicio].

Cuando se necesita acceso remoto, ya sea al hogar o especialmente a las redes corporativas, esos accesos deberían hacerse mejor usando la tecnología VPN.

Como de costumbre, en estas situaciones el principio de Unix de solo instalar y activar los servicios mínimos requeridos vale la pena.

Tomado del exploit mismo:

Eternal Red Samba Exploit - CVE-2017-7494.
Hace que el servidor Samba vulnerable cargue una biblioteca compartida en el contexto raíz.
No se requieren credenciales si el servidor tiene una cuenta de invitado.
Para la explotación remota, debe tener permisos de escritura para al menos un recurso compartido.
Eternal Red escaneará el servidor Samba en busca de recursos compartidos en los que pueda escribir. También determinará la ruta completa del recurso compartido remoto.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

También se sabe que los sistemas con SELinux habilitado no son vulnerables al exploit.

Ver 7 años de antigüedad Defecto Samba permite Miles hackers acceso de forma remota a los ordenadores Linux

Según el motor de búsqueda de computadoras Shodan, más de 485,000 computadoras habilitadas para Samba expusieron el puerto 445 en Internet, y según los investigadores de Rapid7, más de 104,000 puntos finales expuestos a Internet parecían ejecutar versiones vulnerables de Samba, de las cuales 92,000 son ejecutando versiones no compatibles de Samba.

Dado que Samba es el protocolo SMB implementado en sistemas Linux y UNIX, algunos expertos dicen que es la "versión Linux de EternalBlue", utilizada por el ransomware WannaCry.

... o debería decir SambaCry?

Teniendo en cuenta la cantidad de sistemas vulnerables y la facilidad para explotar esta vulnerabilidad, la falla de Samba podría explotarse a gran escala con capacidades aptas para el trabajo.

Las redes domésticas con dispositivos de almacenamiento conectado a la red (NAS) [que también ejecutan Linux] también podrían ser vulnerables a este defecto.

Ver también Un error de ejecución de código que se puede enviar acecha en Samba durante 7 años. Parche ahora!

La falla de siete años, indexada como CVE-2017-7494, puede explotarse de manera confiable con solo una línea de código para ejecutar código malicioso, siempre que se cumplan algunas condiciones. Esos requisitos incluyen computadoras vulnerables que:

(a) haga que el puerto 445 para compartir archivos e impresoras sea accesible en Internet,
(b) configure los archivos compartidos para que tengan privilegios de escritura y
(c) use rutas de servidor conocidas o adivinables para esos archivos.

Cuando se cumplen esas condiciones, los atacantes remotos pueden cargar cualquier código de su elección y hacer que el servidor lo ejecute, posiblemente con privilegios de root sin restricciones, dependiendo de la plataforma vulnerable.

Dada la facilidad y fiabilidad de los exploits, vale la pena tapar este agujero lo antes posible. Es probable que solo sea cuestión de tiempo hasta que los atacantes comiencen a atacarlo activamente.

También Rapid 7 - Parcheando CVE-2017-7494 en Samba: es el círculo de la vida

Y más SambaCry: la secuela de Linux para WannaCry .

Datos necesarios

CVE-2017-7494 tiene un puntaje CVSS de 7.5 (CVSS: 3.0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Alcance de la amenaza

Una consulta shodan.io de "port: 445! Os: windows" muestra aproximadamente un millón de hosts que no son de Windows que tienen tcp / 445 abiertos a Internet, más de la mitad de los cuales existen en los Emiratos Árabes Unidos (36%) y el Estados Unidos (16%). Si bien muchos de estos pueden estar ejecutando versiones parcheadas, tienen protecciones SELinux o no cumplen con los criterios necesarios para ejecutar el exploit, la posible superficie de ataque para esta vulnerabilidad es grande.

PS La corrección de confirmación en el proyecto github de SAMBA parece ser confirmación 02a76d86db0cbe79fcaf1a500630e24d961fa149

Rui F Ribeiro
fuente
2
De nada. Agregaría que en mi zona horaria, actué en el aviso de seguridad de Debian ayer alrededor de las 9 AM
Rui F Ribeiro
66
Sin embargo, a diferencia de Windows, Samba no está activado por defecto en la mayoría de las distribuciones de Linux, ¿verdad?
raphael
1
@raphael De hecho, pero si recibí un centavo por cada servidor que encontré con el conjunto completo de DVD centrales instalados ... He editado ligeramente la respuesta para abordar esa idea.
Rui F Ribeiro
9
Por lo que puedo decir, el script nmap solo verifica la versión de samba, no si eres vulnerable. AFAICT, para explotar la vulnerabilidad, uno debe poder cargar archivos al servidor. Por lo tanto, la vulnerabilidad no es tan grave como la de Windows Eternalblue. Si permite cargar archivos a través de Internet sin autenticación, tiene un problema sobre si samba es vulnerable o no.
Stéphane Chazelas
1
@ StéphaneChazelas gracias, aún no he tenido tiempo de revisar el guión
Rui F Ribeiro
21

La mayoría de nosotros que ejecutamos servidores Samba probablemente lo estamos ejecutando dentro de LAN, detrás de firewalls y no exponemos sus puertos directamente al mundo exterior.

Sería una práctica horrible si lo hicieras, e inexcusable cuando hay soluciones VPN simples, efectivas y gratuitas (como en la cerveza y en el habla) como OpenVPN. SMB no fue diseñado con Internet abierto en mente (diablos, TCP / IP incluso vino como una ocurrencia tardía en ese protocolo) y debe ser tratado como tal. Sugerencia adicional se está ejecutando reglas de firewall en el host real de intercambio de archivos que lista blanca direcciones de red sólo locales (y eventualmente VPN) en todos los puertos SMB ( 139/TCP, 445/TCP, 137/UDPy 138/UDP).

Además, si su caso de uso lo permite, debería considerar ejecutar Samba sin privilegios (como, por ejemplo, un sambausuario que no tiene un alias root). Entiendo que no es tan fácil combinar las limitaciones de las ACL de NT con las ACL POSIX con esta configuración, pero si es posible hacerlo en su configuración particular, es el camino a seguir.

Finalmente, incluso con un "bloqueo" de este tipo, es recomendable aplicar un parche si puede (porque hay cajas NAS por ahí donde podría no ser factible), y probar si su caso de uso particular funciona con nt pipe supportset to no.

Bojan Markovic
fuente
44
"Solo es accesible en la intranet" es probablemente lo que algunos de los administradores de las empresas en las que WannaCry difundió el pensamiento.
Carsten S