Enumerar recursos de SMB con SMBMAP y SMBCLIENT

> SMB (Server Message Block) es un protocolo de red que permite a aplicaciones y usuarios compartir archivos, discos, directorios, impresoras, puertos... Windows

# ¿Qué es el Protocolo SMB (445)?

SMB (Server Message Block) es un protocolo de red que permite a aplicaciones y usuarios compartir archivos, discos, directorios, impresoras, puertos seriales y mail slots a través de una red, predominantemente en sistemas operativos Microsoft Windows. SMB sigue una estructura cliente-servidor, donde el cliente realiza una solicitud y el servidor responde. Básicamente, SMB permite a un cliente leer, crear y modificar archivos en un servidor remoto, facilitando la comunicación con cualquier servidor configurado para aceptar solicitudes SMB.

Además, existe Samba, una implementación libre del protocolo SMB con las extensiones específicas de Microsoft. Samba funciona en sistemas operativos GNU/Linux y otros UNIX, proporcionando compatibilidad y funcionalidad similar a la de SMB en entornos Windows. Como cualquier protocolo de intercambio de archivos en red, SMB necesita puertos de red para comunicarse con otros sistemas. Originalmente, utilizaba el puerto 139, que permitía la comunicación entre computadoras en la misma red local. Sin embargo, desde Windows 2000, SMB utiliza el puerto 445 y el protocolo de red TCP para establecer comunicación con otras computadoras, incluso a través de Internet.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

# RECOPILAR y ENUMERAR RECURSOS | SMBMAP & SMBCLIENT

Para este ejemplo voy a utilizar la máquina Kenobi de TryHackMe y también la de Metasploitable 2.

  • SMBMAP es una útil herramienta pensada en la post-explotación de un sistema, es decir, cuando ya se consigue el usuario y contraseña. Permite enumerar los recursos compartidos de un servicio SMB/Samba para así ver el contenido, los permisos, subir y descargar archivos, hasta la ejecución de comandos. Esta herramienta viene por defecto en Kali Linux.

Instalar en Debian:

$ sudo apt-get install smbmap

Para hacer un escaneo predeterminado simplemente ingresamos la IP de destino de esta manera:

$ smbmap -H 10.10.241.119

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Podemos ver que anonymous tiene acceso de lectura. En el siguiente ejemplo, veamos cómo enumerar el directorio anonymous con el parámetro -r.

$ smbmap -H 10.10.241.119 -r anonymous

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Nos muestra que el archivo log.txt tiene permiso de lectura (-r = read). Esta herramienta se utiliza en dos fases: una durante la recolección de información y la otra en la post-explotación. En el ejemplo anterior se utiliza antes de la explotación (recopilar información), ahora veamos para enumerar recursos de samba en la post-explotación (cuando ya se tiene las credenciales del objetivo).

$ smbmap -H 192.168.25.130 -u msfadmin -p msfadmin
COMANDO DESCRIPCION
-H Dirección IP de destino
-u Usuario
-p Contraseña

2-1
2-1 🔍 click para ampliar

  • SMBCLIENT es otra alternativa que permite acceder a los recursos compartidos de un servidor SMB, se usa principalmente para subir y descargar archivos; sus comandos comparten similitudes a una conexión FTP.

  • Instalar en Debian:

$ sudo apt-get install smbclient

Para acceder a los recursos compartidos se debe ejecutar lo siguiente:

$ smbclient //10.10.241.119/anonymous -N
COMANDO DESCRIPCION
-N Sesión de tipo NULL, sin credenciales

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Con credenciales:

$ smbclient //192.168.25.130/tmp --password=msfadmin

3-1
3-1 🔍 click para ampliar

Ahora, una vez dentro veamos como descargar un archivo, en mi caso el log.txt.

$ get log.txt

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Obtener información del archivo:

$ allinfo log.txt

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Y como ven, desde la máquina local he descargado el archivo para una mejor inspección.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

# RIESGO A TOMAR EN CUENTA

Tener el protocolo SMB abierto puede permitir a un atacante remoto obtener información confidencial de los sistemas afectados mediante recursos compartidos como se observan en los ejemplos. Una de las vulnerabilidades más famosas fue la de EternalBlue, utilizada por el ransomware WannaCry en el año 2017, y también en la vulnerabilidad SMBGhost que permitió ejecutar comando remoto.

Como acción recomendada, deshabilita el puerto 445 desde el firewall de Windows a menos que se necesite por algún servicio. Para ello se deben ir a la configuración de Firewall de Windows Defender > Configuración avanzada.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Luego a Reglas de Salida > Nueva regla.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Seleccionan puerto y le dan a siguiente.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Escriben el número del puerto (445) y le dan a siguiente.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Bloquean la conexión del puerto.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Activan las tres casillas.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Y por último le dan un nombre a la regla para que sea fácil identificarla y así poder modificarla cuando se requiera.

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Y con esto ya bastaría, recuerda que para volver a usar el protocolo deben deshabilitar la regla o permitir la conexión desde propiedades,

Ilustración del procedimiento
Ilustración del procedimiento 🔍 click para ampliar

Advertencia: Todo el contenido de este artículo es estrictamente educativo. No nos hacemos responsables del mal uso de esta herramienta o información. Practica únicamente en entornos controlados y con autorización.
× Imagen ampliada