SMBClient: Enumeración de recursos compartidos

03 Mar 2025
3 minutos

En auditorías de seguridad y pruebas de penetración, la enumeración de recursos compartidos en redes Windows y Samba es un paso clave. SMBClient es una herramienta que permite interactuar con servidores SMB/CIFS para listar y acceder a recursos compartidos.


¿Qué es SMBClient? 📂#

SMBClient es un cliente de línea de comandos que permite:

✔ Listar recursos compartidos en servidores Windows y Samba.
✔ Acceder a carpetas y archivos compartidos.
✔ Subir y descargar archivos.
✔ Autenticarse con credenciales de usuario o usar accesos anónimos.

Es útil tanto para administradores de red como para pentesters en la fase de reconocimiento.


Instalación de SMBClient ⚙️#

En distribuciones basadas en Debian, como Kali Linux o Parrot OS, SMBClient viene preinstalado. Si necesitas instalarlo manualmente, usa:

sudo apt install smbclient

Para verificar la instalación:

smbclient --version

Uso básico de SMBClient 🔍#

🔹 Listar recursos compartidos#

Para descubrir recursos compartidos en un servidor:

smbclient -L //192.168.1.100 -N

Si se requieren credenciales:

smbclient -L //192.168.1.100 -U usuario

Acceso a recursos compartidos 🔑#

Para acceder a un recurso compartido específico:

smbclient //192.168.1.100/Compartido -U usuario

Dentro del cliente SMB, puedes usar comandos como:

ComandoDescripción
lsLista archivos y carpetas en el recurso compartido.
cdCambia de directorio dentro del recurso compartido.
getDescarga un archivo al sistema local.
putSube un archivo al recurso compartido.

Ejemplo para descargar un archivo:

smb: \> get documento.txt

Enumeración avanzada con SMBClient 🚀#

🔹 Buscar recursos accesibles sin autenticación#

Puedes combinar SMBClient con un bucle para escanear múltiples IPs:

for ip in $(seq 1 254); do smbclient -L //192.168.1.$ip -N; done

🔹 Conexión a un recurso con credenciales#

Si tienes usuario y contraseña, usa:

smbclient //192.168.1.100/Compartido -U usuario%contraseña

Exportación de resultados 📄#

Puedes guardar la salida de SMBClient en un archivo:

smbclient -L //192.168.1.100 -N > smb_resultados.txt

Para analizar los resultados, puedes usar grep o awk:

grep "Disk" smb_resultados.txt

Esto filtrará solo los recursos compartidos de tipo disco.


Desafío para ti 🎯#

Utiliza SMBClient para enumerar los recursos compartidos en una red de prueba y accede a ellos si es posible:

smbclient -L //192.168.1.100 -N