Check List

Lista de comprobación

1. Reconocimiento (pasivo → activo)

  • Recon pasivo: OSINT, subdominios, whois, certificados.
    • Ej: crt.sh, amass enum -d target.tld, assetfinder target.tld.
  • Enumeración de puertos y servicios (Nmap básico → completo).
    • nmap -sS -p- -T4 <target> (scan rápido puertos).
    • nmap -sC -sV -p<ports> -oA nmap/full <target> (scripts + version).
  • Enumeración web (subdominios, vhosts, TLS).
    • ffuf / feroxbuster para directorios.
    • gobuster vhosts -u http://<ip> -w vhosts.txt.
  • Captura y análisis de certificados TLS para nombres alternativos (SANs).

2. Enumeración por servicio

FTP (21)

  • Escaneo scriptado (Nmap + NSE).
  • Intentar login anónimo.
    • Si OK: descargar archivos → revisar con file, strings, exiftool.
    • Extraer usuarios con exiftool archivo.*.
  • Subida de archivos (probar webshells controlados).
  • Revisar versión y buscar CVEs/exploits.
  • Fuerza bruta con Hydra:
    • hydra -l user -P passwords.txt ftp://<target>

SSH

  • Escaneo y versión. Buscar exploits públicos por versión.
  • Fuerza bruta con Hydra/Medusa si permitido:
    • hydra -l root -P passlist.txt ssh://<target>

SMTP

  • Nmap script scan (ex. smtp-enum-users.nse).
  • Enumeración de usuarios: smtp-user-enum.
  • (Si scope lo permite) prueba de phishing controlado: template y dominio de laboratorio.

DNS

  • Intentar transferencia de zona: dig AXFR @ns target.tld.
  • Enumeración de subdominios con wordlists y dnsrecon, amass.

LDAP

  • Nmap LDAP enumeration.
  • Intentar bind anónimo y listar usuarios/grupos.

RPC

  • Intentar bind anónimo / enumeración de usuarios/grupos/policies.

SMB

  • Nmap con scripts SMB (smb-os-discovery, smb-vuln*).
  • Comprobar Null/Guest sessions: smbclient -L //<target> -N.
    • Leer archivos (descargar y exiftool si aplica).
    • Intentar escribir (subir webshells si hay webdav o webroot accesible).
  • Enumerar shares montables.

HTTP / HTTPS (web)

  • Nmap + NSE (http-enum, http-slowloris-check).
  • Enumeración de directorios:
    • feroxbuster -u http://<target> -x php,html,txt -r
    • ffuf -u http://<target>/FUZZ -w wordlist.txt -recursion
  • Crawl y búsqueda en código fuente (crawl.py / Burp).
  • Buscar errores/500s y mensajes que filtran info.
  • Subdominios / vhosts (vhost discovery).
  • Login: probar credenciales por defecto, view-source, endpoints de “forgot password”.
  • User enumeration: login responses, profiles, autores en blog.
  • Pruebas automatizadas y manuales de vulnerabilidades:
    • File upload → probar bypass/validaciones y subir webshell (filtrar extensiones, content-type).
    • Command Injection / SSTI → payloads específicos.
    • SSRF → probar requests a http://<your-server> y http://127.0.0.1:PORT.
    • SQLi.
    • LFI/RFI → php://filter, wrappers y log poisoning.
  • Inspeccionar repositorios/configs expuestos (.git, backups):
    • git-dumper, git-clone o wget /.git/ paths.
  • WebDAV: cadaver + credenciales.

RDP

  • Fuerza bruta (solo si scope/permite): hydra -t 4 -V -f rdp://<target>.

Bases de datos (Postgres / MySQL)

  • Nmap scripts para BD.
  • Probar credenciales por defecto / bruteforce.
  • Intentar extracción de información y RCE a través de funciones (si aplica).

SNMP

  • snmpwalk -c public -v2c <target> (pruebas con strings por defecto).
  • Probar community strings comunes y fuerza bruta.

SSL/TLS

  • Analizar certificado (openssl s_client -connect <target>:443 -showcerts).
  • Comprobar suite, expiración y posibles weak ciphers (sslyze / testssl.sh).

NFS

  • Nmap para NFS.
  • Probar exports: showmount -e <target>.
  • Montar recursos compartidos si es posible → leer/escribir (buscar no_root_squash).

Puertos desconocidos

  • Buscar en HackTricks, Exploit-DB, Google "<service> <port> version".
  • Probar credenciales por defecto.
  • nc <target> <port> para ver banner/help/version.

3. Explotación

  • Priorizar CVEs con pruebas PoC limpias y reversibles.
  • Subir webshells.
  • Automatizar donde sea seguro.
  • Registra cada acción (payload, tiempo, impacto).

4. Post-explotación y persistencia

  • Crear usuario administrador temporal (si scope lo permite) con razón documentada.
  • Habilitar RDP si es necesario para pruebas posteriores.
  • Volcar credenciales / hashes: SAM, LSA, LSASS (minimizar ruido).
  • Extraer historial de PowerShell y logs relevantes.
  • Levantar túneles seguros (eg. ssh -R / socat) para pruebas remotas controladas.
  • Registrar todos los artefactos y limpiar si el engagement lo requiere.

5. Escalada de privilegios — Linux

  • su a cada usuario con shell (sin/con password heurística).
  • Revisión manual:
    • /home, /var/www, /opt, archivos config, DB locales.
    • Puertos locales: ss -tunlp / netstat -ano.
    • Variables de entorno (env).
    • sudo -l.
    • Revisar SUIDs: find / -perm -4000 -type f 2>/dev/null.
    • Cronjobs y systemd timers (rutas relativas, PATH issues).
    • Paquetes instalados (dpkg -l / rpm -qa).
  • Herramientas automatizadas: linpeas.sh, linux-exploit-suggester, pspy.
  • Buscar claves SSH privadas, archivos con credenciales, mounts no montados y NFS no_root_squash.
  • Kernel exploits (solo como último recurso y con permiso): chequear versión y Exploit-DB.

6. Escalada de privilegios — Windows

  • Revisar privilegios: SeImpersonate, SeDebug, etc.
  • Buscar credenciales guardadas, historial de PowerShell, archivos unattend.xml, GPP.
  • Servicios inseguros: permisos, unquoted service path, binarios reemplazables.
  • DLL hijacking y análisis con ProcMon (si se puede ejecutar herramienta).
  • Revisar tareas programadas, registro, AutoLogon, drivers vulnerables.
  • Herramientas: winPEAS, PowerUp, PrivescCheck.

7. Active Directory (AD) — Enumeración y ataque

  • Enumerar usuarios/grupos/descricpiones (LDAP / RPC / Nmap modules).
  • Kerberos: Kerbrute para enumeración; probar ASREP / Kerberoast si aplicable.
  • BloodHound: recolectar con Sharphound y analizar relaciones.
  • ADPEAS / AD tools para checks rápidos.
  • Intentos de lateral movement: spray, pass-the-hash, DC Sync (solo con permiso).
  • Silver / Golden Tickets (solo en engagement con permiso y documentación).

8. Privilege escalation — checklist rápido

  • Buscar credenciales en texto plano.
  • Revisar SUIDs/Servicios/Tasks/Paths.
  • Revisar DB locales y puertos 127.0.0.1.
  • Buscar software desactualizado con CVEs conocidos.
  • Ejecutar linpeas/winpeas para hints.

9. Herramientas y wordlists recomendadas

  • Nmap (+ NSE), hydra, medusa, ffuf, feroxbuster, exiftool, smbclient, impacket, LinPEAS, WinPEAS, BloodHound, gobuster, ffuf, Burp Suite.
  • Wordlists: SecLists- (directory-list-2.3-medium.txt), raft wordlists, password lists (rockyou.txt, listas personalizadas).