# Trucos y Trampas — OSCP / Pentest > Compilado de cultura pública (TJ Null, ippsec, 0xdf, Heath Adams, /r/oscp, HackTricks, foros HTB). > **No** son contenidos del Discord privado de OffSec ni material bajo NDA. > Son **anti-rabbit-holes**, **detalles olvidados** y **patrones que se repiten** en máquinas estilo OSCP. --- ## Trampas de enumeración (donde la gente pierde 4 horas) ``` ─ Olvidar UDP ──────────────────────────────────────────── nmap -sU --top-ports 50 -T4 IP SNMP (161), TFTP (69), NTP (123) suelen dar oro ─ Olvidar puertos altos ────────────────────────────────── nmap solo escanea top 1000 por defecto SIEMPRE: nmap -p- --min-rate=5000 IP (los 65535) ─ Olvidar vhosts/subdominios ───────────────────────────── Si te encuentras "default Apache page", prueba: gobuster vhost -u http://IP -w /usr/share/seclists/Discovery/DNS/... ffuf -H "Host: FUZZ.objetivo.htb" -u http://IP ─ /etc/hosts no actualizado ────────────────────────────── Si la web carga rara o redirige, mira el "Host:" header Añade el dominio a /etc/hosts SIEMPRE que aparezca ─ HTTPS revela hostnames ───────────────────────────────── openssl s_client -connect IP:443 El cert te puede chivar el dominio real ─ Wordlists pequeñas ───────────────────────────────────── common.txt = junior level Para OSCP: raft-large-words.txt, directory-list-2.3-medium.txt gobuster -w /usr/share/seclists/Discovery/Web-Content/raft-large-... ``` --- ## Trampas web ``` ─ "robots.txt es perezoso" ─────────────────────────────── Mira también: sitemap.xml, .git/, .svn/, .htaccess, .DS_Store, backup/, old/, dev/, test/, admin/ ─ Source HTML / JS ─────────────────────────────────────── Ctrl+U siempre. Comentarios con creds, paths, endpoints JS embebidos con APIs ocultas (LinkFinder, JSparser) ─ LFI → RCE ────────────────────────────────────────────── Si tienes LFI básico, prueba: /proc/self/environ (con User-Agent malicioso) /var/log/apache2/access.log (poison + curl con UA payload) php://filter/convert.base64-encode/resource=index.php data://, expect://, phar:// (PHP wrappers) ─ Upload "filtrado" ────────────────────────────────────── Doble extensión: shell.php.jpg, shell.phtml, .phar, .pht Magic bytes: GIF89a; Burp → cambia Content-Type a image/jpeg .htaccess para reasignar handler ─ SQLi sin sqlmap ──────────────────────────────────────── Aprende manual primero. sqlmap a veces miente. Para login: ' OR '1'='1'-- - (con space-doble-dash-space) Time-based: ' AND SLEEP(5)-- - ``` --- ## Trampas de shell ``` ─ Shell rota = tortura ──────────────────────────────────── python3 -c 'import pty; pty.spawn("/bin/bash")' Ctrl+Z stty raw -echo; fg export TERM=xterm stty rows 40 columns 120 (rows/cols los sacas con "stty size" en TU kali) ─ Listener equivocado ──────────────────────────────────── nc clásico para Linux victim ncat --ssl para evitar IDS stty raw -echo + nc para Windows ConPtyShell ─ Egress filtering ─────────────────────────────────────── El firewall del objetivo bloquea ciertos puertos PRUEBA: 80, 443, 8080, 53, 4444. Si nada, ICMP shell. ``` --- ## Privesc Linux — los 10 olvidados ``` 1. SUID exóticos → find / -perm -4000 2>/dev/null (y luego GTFOBins cada uno) 2. sudo -l → SIEMPRE primero, sin password 3. Capabilities → getcap -r / 2>/dev/null (cap_setuid en python/perl = root) 4. Cron escribibles → cat /etc/crontab, /var/spool/cron Scripts que tú puedes editar 5. Wildcard injection→ "tar czf /backup/* " con file --checkpoint 6. PATH abuse → si un script SUID llama "ps" sin ruta absoluta, creas ./ps malicioso 7. NFS no_root_squash→ showmount -e ; montas y subes SUID 8. Docker group → si estás en grupo "docker", eres root: docker run -v /:/mnt -it alpine chroot /mnt 9. Kernel exploits → último recurso. DirtyCow, DirtyPipe (uname -a; searchsploit kernel x.x) 10. Caps de archivo → /var/backups, /etc/passwd escribible, /etc/shadow legible ``` --- ## Privesc Windows — los 10 olvidados ``` 1. whoami /priv → busca SeImpersonate, SeAssignPrimaryToken → JuicyPotato, PrintSpoofer, GodPotato 2. Unquoted services → wmic service get name,pathname,startmode Path con espacios sin comillas + carpeta escribible = exe propio 3. AlwaysInstallElev → reg query HKLM\Software\Policies\Microsoft\ Windows\Installer Si ambos = 1 → msi propio = SYSTEM 4. Service permisos → accesschk.exe -uwcqv user * SERVICE_CHANGE_CONFIG = ownership 5. Credenciales en disco→ recurse find: Unattend.xml, sysprep.inf, web.config, cmdkey /list, registry SAM/SYSTEM 6. AutoLogon en regis→ HKLM\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon 7. Pass spraying → la misma pass del user normal contra admin, administrator, sa, sysadmin 8. WSL / OpenSSH server → veces hay credenciales en .bash_history 9. Scheduled tasks → schtasks /query /fo LIST /v Tareas con scripts editables 10. UAC bypass + token impersonation ``` --- ## Active Directory — los 7 caminos que SIEMPRE pruebas ``` 1. Anonymous SMB → smbclient -L //IP -N nxc smb IP -u "" -p "" 2. AS-REP Roasting → impacket-GetNPUsers dominio/ -usersfile users.txt -no-pass (usuarios con "Do not require pre-auth") 3. Kerberoasting → impacket-GetUserSPNs dominio/user:pass -request (cuentas de servicio con SPN) 4. GPP cpassword → buscar en \\DC\SYSVOL\\Policies\ Groups.xml con cpassword (rotos en clave AES fija) 5. LAPS → nxc ldap IP -u u -p p --module laps 6. ACL abuses → BloodHound te los pinta: GenericAll, WriteDACL, AddMember, ForceChangePassword 7. DCSync → con permisos DS-Replication, dumpear todo el dominio ``` --- ## Trampas de "examen real" (anti-pánico) ``` ─ Time management ──────────────────────────────────────── 24h ≠ 24h. Duermes 6h. Comes. Te duchas. Regla: 1.5h sin progreso = cambia de máquina. Cierra y vuelve más tarde con cabeza fresca. ─ Documentación EN VIVO ────────────────────────────────── Captura TODO con Flameshot/Greenshot mientras lo haces. No al final. Al final no recuerdas el comando exacto. Cada flag con hostname visible (ipconfig/ifconfig). local.txt = user proof, proof.txt = root proof. ─ Reutilización de credenciales ────────────────────────── La pass del usuario A muchas veces vale para usuario B. PRUEBA siempre cada pass que pillas contra TODOS los hosts. ─ El AD set es 40 puntos seguidos ──────────────────────── 3 máquinas encadenadas. Si te atascas en máquina 1, no avanzas en 2 y 3. Empieza por ahí con tiempo. ─ Standalones independientes ───────────────────────────── 3 máquinas independientes de 20pts cada una. user (10pt) + root (20pt). Saca user de las 3 ANTES de obsesionarte con root de una. ─ Reporte cuenta ───────────────────────────────────────── Sin reporte, no apruebas, aunque saques 100 puntos técnicos. 24h después del examen. Markdown template: https://github.com/noraj/OSCP-Exam-Report-Template-Markdown ─ Metasploit limitado ──────────────────────────────────── Puedes usarlo solo en UNA máquina. meterpreter post-explotation no cuenta como "uso" solo el initial foothold cuenta. ``` --- ## Recursos públicos donde sí está todo esto | Recurso | Por qué importa | |---|---| | **TJ Null's OSCP-like list** (en Reddit) | Lista actualizada de máquinas HTB/THM equivalentes a OSCP | | **ippsec.rocks** | Buscador de writeups por técnica ("kerberoasting" → te lista todas las máquinas HTB donde aparece) | | **0xdf.gitlab.io** | Writeups detalladísimos con explicación pedagógica | | **PayloadsAllTheThings** | Cheatsheet de todo lo web | | **HackTricks (book.hacktricks.xyz)** | La biblia. Lo busques lo que busques está ahí | | **GTFOBins / LOLBAS** | Para privesc Linux y LOLBins Windows | | **/r/oscp** | Subreddit con experiencias de examinados (sin spoilers) | | **Discord públicos**: HTB, TryHackMe, NetSecFocus | Comunidades activas que SÍ puedes consultar | --- ## Truco meta de meta-trucos El truco real del OSCP no es saber 200 técnicas. Es **tener una metodología repetible**: ``` Enumeración exhaustiva → vector → foothold → PrivEsc con script automatizado + revisión manual → documentar antes de pasar a siguiente máquina ``` La gente suspende por **saltarse pasos** o por **obsesionarse con un vector**, no por desconocimiento técnico.