Enumeración del Servicio SMB
Enumeración del Servicio SMB
Section titled “Enumeración del Servicio SMB”Introducción
Section titled “Introducción”SMB (Server Message Block) es un protocolo de comunicación de red utilizado para compartir archivos, impresoras y otros recursos entre dispositivos de red. Es un protocolo propietario de Microsoft que se utiliza principalmente en sistemas operativos Windows.
Samba, por otro lado, es una implementación libre y de código abierto del protocolo SMB, que se utiliza principalmente en sistemas operativos basados en Unix y Linux. Samba proporciona una manera de compartir archivos y recursos entre dispositivos de red que ejecutan sistemas operativos diferentes, como Windows y Linux.
CIFS (Common Internet File System) son las siglas de Sistema Común de Archivos de Internet, un protocolo de red desarrollado por Microsoft para compartir archivos e impresoras en red, funcionando como una implementación del protocolo SMB. CIFS permite a los clientes acceder y manipular archivos en servidores remotos, facilitando el acceso compartido a recursos como servidores de archivos y impresoras, y es compatible con sistemas operativos como Windows, Linux (a través de Samba) y macOS.
Diferencias entre SMB y Samba
Section titled “Diferencias entre SMB y Samba”Aunque SMB y Samba comparten una funcionalidad similar, existen algunas diferencias notables:
- SMB es un protocolo propietario de Microsoft, mientras que Samba es un proyecto de software libre y de código abierto
- SMB es una implementación más completa y compleja del protocolo
- Samba es una implementación más ligera y limitada
Laboratorio de Práctica
Section titled “Laboratorio de Práctica”Para practicar la enumeración y explotación del servicio Samba, utilizamos el siguiente laboratorio vulnerable:
Samba Authenticated RCE (CVE-2017-7494): https://github.com/vulhub/vulhub/tree/master/samba/CVE-2017-7494
Este laboratorio permite practicar técnicas de enumeración y explotación de vulnerabilidades en servicios Samba.
Herramientas Principales
Section titled “Herramientas Principales”🔍 Smbmap
Section titled “🔍 Smbmap”Smbmap es una herramienta de línea de comandos utilizada para enumerar recursos compartidos y permisos en un servidor SMB (Server Message Block) o Samba. Es una herramienta muy útil para la enumeración de redes y para la identificación de posibles vulnerabilidades de seguridad.
Características principales:
Section titled “Características principales:”- Enumeración de recursos compartidos en servidores SMB
- Obtención de información detallada sobre permisos de acceso
- Identificación de usuarios y grupos autorizados
- Detección de recursos compartidos sin autenticación
- Verificación rápida de configuraciones de permisos
Parámetros comunes de smbmap:
Section titled “Parámetros comunes de smbmap:”-H: Especifica la dirección IP o nombre de host del servidor SMB-P: Especifica el puerto TCP (predeterminado: 445)-u: Especifica el nombre de usuario para la conexión-p: Especifica la contraseña para la conexión-d: Especifica el dominio al que pertenece el usuario-s: Especifica el recurso compartido específico a enumerar
Ejemplos de uso:
Section titled “Ejemplos de uso:”# Enumeración básica sin autenticaciónsmbmap -H 192.168.1.100
# Enumeración con credencialessmbmap -H 192.168.1.100 -u administrador -p password123
# Enumeración de un recurso compartido específicosmbmap -H 192.168.1.100 -u user -p pass -s "compartido"
# Enumeración con dominiosmbmap -H 192.168.1.100 -d DOMINIO -u usuario -p password📁 Smbclient
Section titled “📁 Smbclient”Smbclient es otra herramienta de línea de comandos utilizada para interactuar con servidores SMB y Samba. A diferencia de smbmap que se enfoca en enumeración, smbclient proporciona una interfaz completa para interactuar con recursos compartidos.
Características principales:
Section titled “Características principales:”- Interfaz de línea de comandos para recursos SMB/Samba
- Descarga y subida de archivos
- Ejecución de comandos remotos
- Navegación por sistemas de archivos remotos
- Soporte para operaciones interactivas
Parámetros comunes de smbclient:
Section titled “Parámetros comunes de smbclient:”-L: Lista los recursos compartidos disponibles-U: Especifica usuario y contraseña para autenticación-c: Ejecuta un comando específico
Ejemplos de uso:
Section titled “Ejemplos de uso:”# Listar recursos compartidos disponiblessmbclient -L //192.168.1.100
# Conectar a un recurso compartidosmbclient //192.168.1.100/compartido -U usuario%password
# Ejecutar comando específicosmbclient //192.168.1.100/compartido -U user%pass -c "ls"
# Conexión interactivasmbclient //192.168.1.100/compartido -U administradorMetodología de Enumeración
Section titled “Metodología de Enumeración”Fase 1: Descubrimiento del Servicio
Section titled “Fase 1: Descubrimiento del Servicio”- Escaneo de puertos: Identificar si el puerto 445 (SMB) o 139 (SMB sobre NetBIOS) están abiertos
- Detección de versión: Determinar la versión del protocolo SMB/Samba
- Identificación del sistema operativo: Diferenciar entre Windows y Linux/Samba
Fase 2: Enumeración Sin Autenticación
Section titled “Fase 2: Enumeración Sin Autenticación”- Listado de recursos compartidos nulos
- Verificación de acceso público
- Recolección de información del sistema
Fase 3: Enumeración con Credenciales
Section titled “Fase 3: Enumeración con Credenciales”- Enumeración completa de recursos
- Verificación de permisos
- Análisis de contenido de recursos compartidos
Scripts de Automatización
Section titled “Scripts de Automatización”Script de Enumeración Básica
Section titled “Script de Enumeración Básica”#!/bin/bash
# Script de enumeración SMB básicaTARGET=$1
echo "[+] Escaneando puertos SMB..."nmap -p 139,445 --script smb-os-discovery $TARGET
echo "[+] Enumerando recursos compartidos con smbmap..."smbmap -H $TARGET
echo "[+] Listando recursos con smbclient..."smbclient -L $TARGETScript de Enumeración Avanzada
Section titled “Script de Enumeración Avanzada”#!/bin/bash
# Script avanzado de enumeración SMBTARGET=$1USER=$2PASS=$3
echo "[+] Enumeración avanzada de SMB"echo "[+] Target: $TARGET"
# Verificación de conectividadecho "[+] Verificando conectividad..."nmap -p 445 $TARGET -Pn
# Enumeración sin credencialesecho "[+] Enumeración sin autenticación..."smbmap -H $TARGET
# Si se proporcionan credencialesif [ ! -z "$USER" ] && [ ! -z "$PASS" ]; then echo "[+] Enumeración con credenciales..." smbmap -H $TARGET -u $USER -p $PASS
echo "[+] Conexión interactiva..." smbclient -L $TARGET -U $USER%$PASSfi
# Análisis de vulnerabilidades comunesecho "[+] Escaneando vulnerabilidades conocidas..."nmap --script smb-vuln* $TARGET -p 445Técnicas Avanzadas
Section titled “Técnicas Avanzadas”Evasión de Detección
Section titled “Evasión de Detección”- Tiempo entre solicitudes: Evitar triggers de IDS/IPS
- Rotación de user-agents: Simular diferentes clientes
- Uso de proxies: Enmascarar origen de las solicitudes
Enumeración de Usuarios
Section titled “Enumeración de Usuarios”# Enumeración de usuarios con rpcclientrpcclient -U "" -N $TARGET -c "enumdomusers"Extracción de Información del Sistema
Section titled “Extracción de Información del Sistema”# Información del sistema con nmapnmap --script smb-system-info $TARGET -p 445Aspectos Legales y Éticos
Section titled “Aspectos Legales y Éticos”⚠️ Importante: La enumeración de servicios SMB debe realizarse únicamente con autorización expresa del propietario del sistema. El acceso no autorizado puede constituir un delito según leyes como la CFAA (EE.UU.), GDPR (Europa) y legislaciones locales.
Requisitos para pentesting autorizado:
Section titled “Requisitos para pentesting autorizado:”- Autorización escrita del propietario
- Alcance definido de las pruebas
- Código de ética del pentesters
- Reportes detallados de hallazgos
Recursos Adicionales
Section titled “Recursos Adicionales”Herramientas Complementarias
Section titled “Herramientas Complementarias”- enum4linux: Enumeración completa de Windows/Samba
- CrackMapExec: Framework de enumeración y explotación
- Responder: Herramienta para ataques MITM en SMB
Documentación Oficial
Section titled “Documentación Oficial”Comunidades y Recursos
Section titled “Comunidades y Recursos”- Samba Mailing Lists: Foros oficiales de desarrollo
- OWASP: Guías de testing de servicios compartidos
- NIST: Frameworks de ciberseguridad
Conclusión
Section titled “Conclusión”La enumeración del servicio SMB es fundamental en auditorías de seguridad de redes Windows y entornos mixtos. Las herramientas como smbmap y smbclient proporcionan capacidades poderosas para identificar configuraciones incorrectas y vulnerabilidades potenciales.
Recuerda siempre operar dentro de marcos legales y éticos, utilizando estas técnicas únicamente para mejorar la seguridad de sistemas autorizados.