Esta nueva vulnerabilidad de Samba ya se llama "Sambacry", mientras que el propio exploit menciona "Eternal Red Samba", anunciada en Twitter (sensacionalmente) como:
Error de Samba, el de una sola línea de Metasploit para activar 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 corrección/actualización debe realizarse lo antes posible, ya que ya existen exploits, otros exploits en módulos Python y Metasploit.
Más interesante aún, ya hay complementos para un honeypot conocido del proyecto honeynet, dionaea para los complementos WannaCry y SambaCry.
Parece que Samba cry ya se está (ab)utilizando para instalar más mineros criptográficos "EternalMiner" o duplicarse como un cuentagotas 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, descubrió de forma independiente 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, 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. Desde man samba
:
Los desarrolladores utilizan esta opción global para permitir o prohibir a los clientes de Windows NT/2000/XP la capacidad de realizar conexiones a conductos SMBIPC$ específicos 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 remediació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 alternativa conocida es asegurarse de que los recursos compartidos de Samba estén montados con el noexec
opción. Esto evitará la ejecución de archivos binarios que residen en el sistema de archivos montado.
El parche del código fuente de seguridad oficial está aquí desde la página de seguridad de samba.org.
Debian ya envió ayer (24/5) una actualización y el aviso de seguridad correspondiente DSA-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 nmap
secuencia de comandos de detección:samba-vuln-cve-2017-7494.nse
para detectar versiones de Samba, o un nmap
mucho mejor script 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 en /usr/share/nmap/scripts
y luego actualice el nmap
base 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.
No hace falta decir que SMB siempre ha sido un protocolo enrevesado, y que este tipo de servicios deben estar protegidos por un cortafuegos y restringidos a las redes internas [a las que se sirven].
Cuando se necesita un acceso remoto, ya sea al hogar o especialmente a las redes corporativas, esos accesos deben hacerse mejor usando tecnología VPN.
Como de costumbre, en estas situaciones el principio de Unix de instalar y activar únicamente los servicios mínimos requeridos vale la pena.
Tomado del propio exploit:
Explotación de Eternal Red Samba -- 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 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.
Vea la falla de Samba de 7 años que 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 los investigadores de Rapid7, más de 104 000 puntos finales expuestos a Internet parecían estar ejecutando versiones vulnerables de Samba, de las cuales 92 000 ejecutan versiones no compatibles. de samba.
Dado que Samba es el protocolo SMB implementado en los 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 de gusanos.
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én Un error de ejecución de código gusanable ha estado al acecho en Samba durante 7 años. ¡Parche ahora!
La falla de siete años, indexada como CVE-2017-7494, se puede explotar 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 para compartir archivos e impresoras 445 sea accesible en Internet,
(b) configurar archivos compartidos para tener privilegios de escritura, y
(c) usar 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 las vulnerabilidades, 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:It's the Circle of Life
Y más SambaCry:La secuela Linux de WannaCry.
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 de Windows que tienen tcp/445 abierto a Internet, más de la mitad de los cuales existen en los Emiratos Árabes Unidos (36%) y los EE. UU. . (dieciséis%). 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 la confirmación 02a76d86db0cbe79fcaf1a500630e24d961fa149
La mayoría de nosotros que ejecutamos servidores Samba probablemente lo hagamos dentro de LAN, detrás de firewalls y no expongamos sus puertos directamente al mundo exterior.
Sería una práctica horrible si lo hiciera, e imperdonable cuando existen soluciones VPN simples, efectivas y gratuitas (como en la cerveza y en el habla) como OpenVPN. SMB no se diseñó teniendo en mente 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 cortafuegos en el host de intercambio de archivos real que incluya en la lista blanca solo direcciones de red locales (y eventualmente VPN) en todos los puertos SMB (139/TCP
, 445/TCP
, 137/UDP
y 138/UDP
).
Además, si su caso de uso lo permite, debería considerar ejecutar Samba sin privilegios (como, por ejemplo, samba
usuario que no es 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", es recomendable aplicar un parche si puede (porque hay cajas NAS en las que eso podría no ser factible), y probar si su caso de uso particular funciona con nt pipe support
establecido en no
.