"WannaCry" en sistemas Linux: ¿Cómo protegerse?

"WannaCry" en sistemas Linux: ¿Cómo protegerse?

De acuerdo aun artículo rápido7hay algunos vulnerablesSambaVersiones que permiten la ejecución remota de código en sistemas Linux:

Mientras que laQuiero llorarRansomworm afectó los sistemas Windows y era fácilmente identificable, con pasos de solución claros, elSambaLa vulnerabilidad afectará a los sistemas Linux y Unix y podría presentar importantes obstáculos técnicos para obtener o implementar las soluciones adecuadas.

CVE-2017-7494

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

Posible escenario de ataque:

A partir de los dos factores:

  • La vulnerabilidad de Sambano esta arregladotodavía en algunas distribuciones de Linux.
  • Existe una vulnerabilidad de escalada de privilegios local sin parche en algunas versiones del kernel de Linux (por ejemplo, CVE-2017-7308 en el kernel genérico de Ubuntu 4.8.0-41).

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

Actualizar

Un artículo más reciente"¡Advertencia! Los piratas informáticos comenzaron a utilizar el "defecto SambaCry" para piratear sistemas Linux"Demuestre cómo utilizar la falla de Sambacry para infectar una máquina Linux.

La predicción resultó ser bastante precisa, ya que los honeypots instalados por el equipo de investigadores deLaboratorio Kasperskyhan capturado una campaña de malware que explota la vulnerabilidad SambaCry para infectar computadoras Linux con software de minería de criptomonedas.

Otro investigador de seguridad, Omri Ben Bassat, descubrió de forma independiente la misma campaña y la nombró"Minero Eterno".

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

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

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 actualizar debido a que una nueva amenaza explota SambaCry

¿Cómo puedo proteger un sistema Linux para evitar ataques?

Respuesta1

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

Error de Samba, la frase de metasploit que se activa es simplemente: simple.create_pipe("/path/to/target.so")

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

Si su instalación de Samba cumple con las configuraciones que se describen a continuación, la reparación/actualización debe realizarse lo antes posible, ya que ya existenhazañas, otroexplotar en Pythony metasploitmódulos disponibles.

Lo que es más interesante es que ya existen complementos para un conocido honeypot de lared de mielproyecto,dioneatanto a WannaCry comoComplementos SambaCry.

El grito de samba parece ya estar (a)acostumbrado ainstalar más criptomineros"EternoMinero" oDuplicarse como un dropper de malware en el futuro..

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

La solución alternativa recomendada para sistemas con Samba instalado (que también está presente en el aviso CVE) antes de actualizarlo es agregar 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 Windows NT/2000/XP la capacidad de realizar conexiones a tuberías SMB 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 versiones anteriores. Versiones de Windows (¿al menos algunas? Los clientes de Windows 7 parecen no funcionar con nt pipe support = no) y, como tal, la ruta de solución puede ir, en casos extremos, a 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, deben especificar manualmente la ruta completa del recurso compartido para poder usarlo.

Otra solución 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 del código fuente de seguridad esaquídesde elPágina de seguridad de samba.org.

Debian ya lanzó ayer (24/5) una actualización y el aviso de seguridad correspondienteDSA-3860-1 samba

Para verificar si la vulnerabilidad está corregida en Centos/RHEL/Fedora y derivados, haga:

#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 comprueba si el servicio es vulnerable enhttp://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 deberían tener cortafuegos y restringirse a las redes internas [a las que se prestan servicios].

Cuando se necesita acceso remoto, ya sea a redes domésticas o especialmente a redes corporativas, es mejor que esos accesos se realicen utilizando tecnología VPN.

Como es habitual, en estas situaciones el principio Unix de instalar y activar sólo los servicios mínimos requeridos vale la pena.

Tomado del exploit en sí:

Explotación de Samba roja eterna: 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 una explotación remota, debe tener permisos de escritura en 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.

VerUn defecto de Samba de hace 7 años permite a los piratas informáticos acceder a miles de PC con Linux de forma remota

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 investigadores de Rapid7, más de 104.000 terminales expuestos a Internet parecían estar ejecutando 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 de explotar esta vulnerabilidad, la falla de Samba podría explotarse a gran escala con capacidades de gusano.

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 esta falla.

Ver tambiénUn error de ejecución de código que se puede eliminar con gusanos ha estado acechando 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) hacer que el puerto 445 para compartir archivos e impresoras sea accesible en Internet,
(b) configurar los archivos compartidos para que tengan privilegios de escritura y
(c) utilizar 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 confiabilidad de los exploits, vale la pena tapar este agujero lo antes posible. Probablemente sea sólo cuestión de tiempo hasta que los atacantes comiencen a atacarlo activamente.

TambiénRapid 7 - Parcheando CVE-2017-7494 en Samba: Es el círculo de la vida

Y másSambaCry: la secuela de WannaCry para Linux.

Datos que necesita saber

CVE-2017-7494 tiene una puntuación 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 de shodan.io de "port:445 !os:windows" muestra aproximadamente un millón de hosts que no son Windows que tienen tcp/445 abierto 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, tener protecciones SELinux o no cumplir con los criterios necesarios para ejecutar el exploit, la posible superficie de ataque para esta vulnerabilidad es grande.

PD: La corrección de confirmación en el proyecto SAMBA github parece ser confirmación02a76d86db0cbe79fcaf1a500630e24d961fa149

Respuesta2

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

Sería una práctica terrible si lo hicieras, y una práctica imperdonable cuando existen soluciones VPN simples, efectivas y gratuitas (como en la cerveza y en el habla) como OpenVPN. SMB no fue diseñado pensando en una Internet abierta (diablos, TCP/IP incluso apareció como una ocurrencia tardía en ese protocolo) y debe tratarse como tal. Una sugerencia adicional es ejecutar reglas de firewall en el host de intercambio de archivos real que incluyan en la lista blanca solo direcciones de red locales (y eventualmente VPN) en todos los puertos SMB ( , 139/TCPy ) .445/TCP137/UDP138/UDP

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

Finalmente, incluso con tal "bloqueo", sigue siendo recomendable aplicar un parche si es posible (porque hay cajas NAS donde eso podría no ser factible) y probar si su caso de uso particular funciona con nt pipe supportset to no.

información relacionada