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
|
|
@ -0,0 +1,30 @@
|
|||
# Enumeración web
|
||||
|
||||
> Puertos 80/443/8080. El vector web es el foothold más común en standalones. Parte de Enumeración.
|
||||
> Para la **metodología de ataque** (qué probar en cada input) ve a Hacking web; aquí solo enumeras.
|
||||
|
||||
## Primero, lo manual
|
||||
```
|
||||
Ctrl+U siempre → comentarios con creds, paths, endpoints
|
||||
JS embebidos → APIs ocultas (LinkFinder, JSparser)
|
||||
robots.txt → perezoso; mira también:
|
||||
sitemap.xml, .git/, .svn/, .htaccess, .DS_Store,
|
||||
backup/, old/, dev/, test/, admin/
|
||||
```
|
||||
|
||||
## Fuzzing de contenido
|
||||
Brute force de rutas/ficheros con gobuster/feroxbuster/ffuf → nota dedicada: Content discovery.
|
||||
- Hostnames/vhosts → Vhosts y subdominios.
|
||||
- Intercepta y manipula todo con Burp Suite.
|
||||
|
||||
## Identificar
|
||||
```bash
|
||||
whatweb http://IP
|
||||
nikto -h http://IP
|
||||
```
|
||||
CMS detectado → `wpscan`, `cmsmap`, `searchsploit <cms>`.
|
||||
|
||||
## Vectores típicos
|
||||
Todos en Hacking web: SQL injection · Command injection · Directory traversal · LFI a RCE · File upload bypass · XSS · SSTI · Authentication attacks.
|
||||
|
||||
Relacionado: Content discovery · Trampas de enumeración · Recursos públicos · OSCP MOC
|
||||
24
nucleo/saber/conocimiento/01 - Enumeracion/Enumeración.md
Normal file
24
nucleo/saber/conocimiento/01 - Enumeracion/Enumeración.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Enumeración (índice)
|
||||
|
||||
> "Enumeración exhaustiva" es el paso 1 de la Metodología OSCP y donde más gente pierde horas.
|
||||
> La mayoría de los fallos del examen son enumeración incompleta, no falta de técnica.
|
||||
|
||||
## Flujo
|
||||
1. **Mi IP / red** → `ip a | grep "inet "` (el 3er octeto del lab **cambia** al reiniciar).
|
||||
2. **Descubrimiento de hosts** → ping/ARP sweep (Nmap).
|
||||
3. **Escaneo de puertos** → top-1000 **y** `-p-` completo (Puertos olvidados).
|
||||
4. **Por servicio**:
|
||||
- 445 → SMB
|
||||
- UDP 161 → SNMP
|
||||
- 80/443 → Enumeración web + Content discovery + Hacking web
|
||||
- 3389 → RDP
|
||||
- texto plano (!OS-57179836-OSCP.ovpn25, 110...) → Netcat
|
||||
1. **Scripts NSE** → Nmap NSE (`-sCV`, `--script vuln`).
|
||||
2. **Versión + exploits** → `nmap -sV` → searchsploit.
|
||||
|
||||
## No olvides
|
||||
- Trampas de enumeración (UDP, puertos altos, vhosts, wordlists pequeñas).
|
||||
- Automatiza con Bucles bash sobre IPs.
|
||||
- La web es su propio mundo → Hacking web.
|
||||
|
||||
Relacionado: Operadores Bash · OSCP MOC
|
||||
21
nucleo/saber/conocimiento/01 - Enumeracion/Netcat.md
Normal file
21
nucleo/saber/conocimiento/01 - Enumeracion/Netcat.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Netcat (recon)
|
||||
|
||||
> Solo para protocolos de **texto**: SMTP, HTTP, POP3... Para shells ver Reverse shell y Egress filtering.
|
||||
|
||||
## Conexión y escaneo
|
||||
```bash
|
||||
nc -nv IP PUERTO # interactivo (host y puerto con ESPACIO, NO ":")
|
||||
nc -nvz IP 1-1000 # modo scan (-z): solo comprueba si abre
|
||||
nc -nvz -u IP 161 # UDP (poco fiable → mejor SNMP dedicado)
|
||||
```
|
||||
- **OJO**: `nc IP:PUERTO` = MAL. `-p` es puerto **origen**, no destino.
|
||||
- SNMP/SMB/DNS son **binarios** → netcat NO sirve, usa la herramienta dedicada.
|
||||
|
||||
## SMTP a mano (enumerar usuarios)
|
||||
```bash
|
||||
nc -nv IP 25
|
||||
VRFY root # 250 existe / 252 Postfix no confirma / 550 no existe
|
||||
QUIT
|
||||
```
|
||||
|
||||
Relacionado: Operadores Bash · Enumeración · OSCP MOC
|
||||
41
nucleo/saber/conocimiento/01 - Enumeracion/Nmap NSE.md
Normal file
41
nucleo/saber/conocimiento/01 - Enumeracion/Nmap NSE.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Nmap NSE (scripts)
|
||||
|
||||
> El motor de scripts de Nmap: enumeración profunda y detección de vulns sin herramientas extra. Scripts en `/usr/share/nmap/scripts/`.
|
||||
|
||||
## El comando que usas siempre
|
||||
```bash
|
||||
sudo nmap -sCV -p- IP # -sCV = -sC (scripts default) + -sV (versión)
|
||||
# patrón real de tu history_contabo.txt:
|
||||
nmap IP -p- -Pn --min-rate 5000 -vvv -n --open # rápido todos los puertos
|
||||
nmap -p- localhost -sCV # luego versión+scripts sobre lo abierto
|
||||
```
|
||||
Flujo típico: 1) `-p- --open` rápido para ver QUÉ abre → 2) `-sCV` dirigido a esos puertos.
|
||||
|
||||
## Categorías de scripts
|
||||
```
|
||||
default (-sC) los seguros y útiles por defecto
|
||||
vuln comprueba vulnerabilidades conocidas
|
||||
safe / auth no intrusivos / temas de autenticación
|
||||
brute fuerza bruta de credenciales
|
||||
discovery enumeración (snmp, smb, http...)
|
||||
```
|
||||
|
||||
## Por servicio (muy rentable)
|
||||
```bash
|
||||
nmap -p80,443 --script http-enum,http-title,http-headers IP # web → Enumeración web
|
||||
nmap -p445 --script smb-os-discovery,smb-enum-shares,smb-enum-users IP # SMB
|
||||
nmap -p161 -sU --script snmp-info IP # SNMP
|
||||
nmap -p21 --script ftp-anon IP # FTP anónimo
|
||||
nmap --script vuln IP # barrido de vulns
|
||||
```
|
||||
|
||||
## Gestionar scripts
|
||||
```bash
|
||||
nmap --script-help http-enum # qué hace un script
|
||||
ls /usr/share/nmap/scripts | grep smb # listar los disponibles
|
||||
```
|
||||
|
||||
## A través de un túnel
|
||||
`proxychains nmap ...` (de tu history) para escanear la red interna tras Pivoting ligolo-ng (usa `-sT -Pn`, SYN no pasa por proxychains).
|
||||
|
||||
Relacionado: searchsploit · Puertos olvidados · OSCP MOC
|
||||
38
nucleo/saber/conocimiento/01 - Enumeracion/Nmap.md
Normal file
38
nucleo/saber/conocimiento/01 - Enumeracion/Nmap.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Nmap
|
||||
|
||||
> `-sS` = TCP SYN · `-sU` = UDP · `-sV` = versión. Parte de Enumeración.
|
||||
|
||||
## Descubrimiento de hosts
|
||||
```bash
|
||||
sudo nmap -sn 192.168.X.0/24 # ping sweep: quién está vivo
|
||||
sudo nmap -sn -PR 192.168.X.0/24 # ARP (LAN, el más fiable)
|
||||
sudo nmap -sn -PS21,22,25,80,445 IP/24 # TCP discovery si ICMP filtrado
|
||||
```
|
||||
|
||||
## Escaneo de puertos
|
||||
```bash
|
||||
sudo nmap -sS 192.168.X.0/24 -oG full.txt # SYN top-1000, greppable
|
||||
sudo nmap -p- -Pn --min-rate 5000 -n --open IP # TODOS los 65535, solo abiertos → Puertos olvidados
|
||||
sudo nmap -sU --top-ports 50 -T4 IP # UDP (SNMP/TFTP/NTP)
|
||||
sudo nmap -sCV -p 22,80,445 IP # versión + scripts default → Nmap NSE
|
||||
sudo nmap -p80 --script vuln IP # NSE de vulnerabilidades
|
||||
```
|
||||
|
||||
## El combo de dos pasos (patrón real)
|
||||
```bash
|
||||
nmap -p- -Pn --min-rate 5000 -n --open IP # 1) rápido: ¿qué puertos abren?
|
||||
nmap -sCV -p 22,80,445 IP # 2) dirigido: versión+scripts sobre esos
|
||||
```
|
||||
`-sCV` = `-sC` (scripts default) + `-sV` (versión). Luego `searchsploit` por versión → searchsploit.
|
||||
|
||||
## Salida
|
||||
- `-oN` normal (legible, los NSE salen aquí) · `-oG` greppable (1 línea/host, ideal `grep`) · `-oA` los 3.
|
||||
- Greppeo de resultados → Bucles bash sobre IPs.
|
||||
|
||||
## Trampas
|
||||
- El top-1000 **ya** incluye 80/443/22/445. Si `grep` no saca nada y el scan cubría el puerto → **la máquina no está viva**, no es el scan.
|
||||
- `filtered ≠ open` (firewall/sin respuesta).
|
||||
- `-Pn` en un /24 = ruido (256 hosts "up" falsos). `-Pn` es para **1 host concreto**.
|
||||
- Confusión clásica: **SNMP = UDP/161 (`-sU`)**, **SMTP = TCP/25 (`-sS`)**.
|
||||
|
||||
Relacionado: Nmap NSE · searchsploit · Trampas de enumeración · SMB · OSCP MOC
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
# Puertos olvidados
|
||||
|
||||
> Donde la gente pierde 4 horas: escanear solo el top-1000 TCP. Parte de Trampas de enumeración.
|
||||
|
||||
## UDP (casi siempre olvidado)
|
||||
```bash
|
||||
nmap -sU --top-ports 50 -T4 IP
|
||||
```
|
||||
- **SNMP (161)**, TFTP (69), NTP (123) suelen dar oro → ver SNMP.
|
||||
|
||||
## Puertos altos TCP
|
||||
```bash
|
||||
nmap -p- --min-rate=5000 IP # los 65535, no solo top-1000
|
||||
```
|
||||
- Servicios escondidos en puertos raros (8080, 50000+...).
|
||||
|
||||
## Por qué importa
|
||||
- Nmap por defecto escanea **solo top-1000 TCP**. Un servicio vulnerable en el 54321 es invisible si no haces `-p-`.
|
||||
- Regla: **siempre** un `-p-` completo además del rápido.
|
||||
|
||||
Relacionado: Nmap · Enumeración · OSCP MOC
|
||||
16
nucleo/saber/conocimiento/01 - Enumeracion/RDP.md
Normal file
16
nucleo/saber/conocimiento/01 - Enumeracion/RDP.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# RDP
|
||||
|
||||
> Escritorio remoto Windows (3389). **Acceso legítimo** con credenciales: no necesita Reverse shell.
|
||||
|
||||
```bash
|
||||
xfreerdp /u:student /p:lab /v:IP /cert:ignore /clipboard
|
||||
xfreerdp3 ... # si la versión nueva
|
||||
```
|
||||
- `/clipboard` = **copiar-pegar entre Kali y Windows** (clave para subir scripts/payloads).
|
||||
- `/cert:ignore` = no protestar por el certificado del lab.
|
||||
|
||||
## Cuándo
|
||||
- Cuando consigues credenciales válidas (reutilización, Mimikatz, GPP cpassword) y la máquina expone 3389.
|
||||
- GUI cómoda para Privesc Windows y para ejecutar PEASS-ng.
|
||||
|
||||
Relacionado: SMB · Movimiento lateral · OSCP MOC
|
||||
30
nucleo/saber/conocimiento/01 - Enumeracion/SMB.md
Normal file
30
nucleo/saber/conocimiento/01 - Enumeracion/SMB.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# SMB
|
||||
|
||||
> Puerto **445** — oro en Active Directory. Parte de Enumeración.
|
||||
|
||||
## Listar shares y usuarios
|
||||
```bash
|
||||
smbclient -L //IP/ -N # shares con sesión nula (OJO: trunca comentarios)
|
||||
smbclient //IP/share -N # entrar (ls, get, !cat)
|
||||
smbclient -L //IP/ -U usuario # con credenciales
|
||||
rpcclient -U "" -N IP -c "netshareenumall" # shares + remark COMPLETO (no trunca)
|
||||
rpcclient -U "" -N IP -c "enumdomusers" # usuarios de dominio (SAM)
|
||||
enum4linux -a IP # TODO (pilla users UNIX locales por RID cycling)
|
||||
nxc smb IP -u '' -p '' --shares --users # NetExec (sucesor de CrackMapExec)
|
||||
```
|
||||
|
||||
## Desde Windows
|
||||
```cmd
|
||||
net view \\dc01 /all :: shares incl. ocultos. Admin shares: ADMIN$, C$, IPC$
|
||||
```
|
||||
|
||||
## Trampas
|
||||
- `smbclient -L` **trunca** comentarios → usa `rpcclient netshareenumall` para el `remark` completo.
|
||||
- Usuarios UNIX locales (`S-1-22-1`) solo los pilla `enum4linux -a` (RID cycling), **no** `enumdomusers`.
|
||||
- Automatiza la red entera con Bucles bash sobre IPs.
|
||||
|
||||
## Sesión nula → siguiente paso
|
||||
Usuarios válidos → AS-REP Roasting, Kerberoasting, spraying (Pass-the-Hash).
|
||||
Shares con `Groups.xml` → GPP cpassword.
|
||||
|
||||
Relacionado: SNMP · Active Directory · OSCP MOC
|
||||
23
nucleo/saber/conocimiento/01 - Enumeracion/SNMP.md
Normal file
23
nucleo/saber/conocimiento/01 - Enumeracion/SNMP.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# SNMP
|
||||
|
||||
> Puerto **UDP 161** (Simple Network Management Protocol). Recuérdalo: es **UDP** (`nmap -sU`), no TCP. Parte de Puertos olvidados.
|
||||
|
||||
## Herramientas
|
||||
```bash
|
||||
onesixtyone -c comm.txt IP/24 # descubre SNMP + fuerza community a la vez
|
||||
snmpwalk -v2c -c public IP OID # recorre el árbol de OIDs
|
||||
snmp-check IP -c public # enumeración bonita y ordenada
|
||||
snmpwalk -v2c -c public -Oa IP OID # -Oa = traduce hex a ASCII
|
||||
```
|
||||
|
||||
## OIDs útiles (numéricos, no dependen de MIBs instalados)
|
||||
```
|
||||
1.3.6.1.2.1.25.4.2.1.2 Procesos en ejecución (hrSWRunName)
|
||||
1.3.6.1.2.1.25.6.3.1.2 Software instalado
|
||||
1.3.6.1.2.1.2.2.1.2 Nombres de interfaces de red (ifDescr)
|
||||
1.3.6.1.4.1.77.1.2.25 Usuarios Windows
|
||||
```
|
||||
- OID = dirección jerárquica: `iso(1).org(3).dod(6).internet(1)...`
|
||||
- Prefijo `1.3.6.1.2.1` (mib-2) es fijo; cambian los números del final.
|
||||
|
||||
Relacionado: Nmap · SMB · Enumeración · OSCP MOC
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
# Trampas de enumeración
|
||||
|
||||
> Donde la gente pierde 4 horas. Anti-rabbit-hole. Conecta con Gestión del tiempo.
|
||||
|
||||
## El catálogo
|
||||
- **Olvidar UDP** → SNMP (161), TFTP, NTP. Ver Puertos olvidados.
|
||||
- **Olvidar puertos altos** → `nmap -p- --min-rate=5000`. Ver Puertos olvidados.
|
||||
- **Olvidar vhosts/subdominios** → Vhosts y subdominios.
|
||||
- **`/etc/hosts` no actualizado** → añade el dominio en cuanto aparezca.
|
||||
- **Wordlists pequeñas** → `common.txt` es junior; usa `raft-large` / `directory-list-2.3-medium`.
|
||||
|
||||
## Trampas que cuestan horas (del lab real)
|
||||
- **IP del lab dinámica**: el 3er octeto cambia al reiniciar (`.55 .65 .67...`). Haz `ip a` **antes** de escanear.
|
||||
- `filtered ≠ open` (firewall/sin respuesta).
|
||||
- `-Pn` en /24 = 256 "up" falsos. Úsalo solo en **1 host**.
|
||||
- Si `grep` no saca nada y el scan cubría el puerto → **la máquina no está viva**.
|
||||
- **SNMP=UDP/161**, **SMTP=TCP/25**. No confundir.
|
||||
- `smbclient -L` **trunca** comentarios → usa `rpcclient netshareenumall` (SMB).
|
||||
- Flags placeholder tipo `OS{0123456789abcdef}` = **señuelo** (grupo/recurso equivocado).
|
||||
|
||||
Relacionado: Nmap · Enumeración · Metodología OSCP · OSCP MOC
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
# Vhosts y subdominios
|
||||
|
||||
> Si te encuentras una "default Apache page", probablemente hay **virtual hosts** ocultos. Parte de Trampas de enumeración.
|
||||
|
||||
## Fuzzear vhosts
|
||||
```bash
|
||||
gobuster vhost -u http://IP -w /usr/share/seclists/Discovery/DNS/...
|
||||
ffuf -H "Host: FUZZ.objetivo.htb" -u http://IP
|
||||
```
|
||||
|
||||
## /etc/hosts
|
||||
- Si la web carga rara o redirige, mira el header `Host:`.
|
||||
- **Añade el dominio a `/etc/hosts` SIEMPRE** que aparezca un hostname.
|
||||
|
||||
## HTTPS revela hostnames
|
||||
```bash
|
||||
openssl s_client -connect IP:443
|
||||
```
|
||||
- El **certificado** te puede chivar el dominio real (CN / SAN).
|
||||
|
||||
Relacionado: Enumeración web · Nmap · OSCP MOC
|
||||
38
nucleo/saber/conocimiento/01 - Enumeracion/searchsploit.md
Normal file
38
nucleo/saber/conocimiento/01 - Enumeracion/searchsploit.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# searchsploit
|
||||
|
||||
> Buscador **offline** de Exploit-DB. El puente entre `nmap -sV` y la explotación. Copia local en `tu carpeta` (symlink en `tu carpeta`).
|
||||
|
||||
## El workflow OSCP
|
||||
```
|
||||
Nmap -sV → identificas servicio + VERSIÓN → searchsploit → explotas
|
||||
```
|
||||
Sustituye a los escáneres de vulns prohibidos (Reglas de herramientas).
|
||||
|
||||
## Buscar
|
||||
```bash
|
||||
searchsploit apache 2.4.49 # servicio + versión EXACTA
|
||||
searchsploit -t wordpress # -t = solo en el título (menos ruido)
|
||||
searchsploit "vsftpd 2.3.4"
|
||||
searchsploit --nmap scan.xml # ¡toma un nmap -oX y busca por ti!
|
||||
```
|
||||
- Quita la versión si no sale nada (a veces el exploit es genérico).
|
||||
- Usa términos cortos: `searchsploit drupal` mejor que la cadena entera.
|
||||
|
||||
## Examinar y copiar
|
||||
```bash
|
||||
searchsploit -x 50383 # ver el exploit (path por EDB-ID)
|
||||
searchsploit -m 50383 # MIRROR: lo copia a tu carpeta actual
|
||||
searchsploit -p 50383 # solo imprime la ruta
|
||||
searchsploit -u # actualizar la base
|
||||
```
|
||||
|
||||
## Antes de lanzar un exploit (¡importante!)
|
||||
1. **Léelo entero.** Hay PoCs **maliciosos/falsos** que te hackean a ti.
|
||||
2. Edita lo obvio: IP/puerto del atacante, offsets, URL objetivo, shellcode.
|
||||
3. Si es C: `gcc exploit.c -o exploit` (a veces flags raras, vienen en el comentario).
|
||||
4. Si es Python2 antiguo, ojo con `print`/sockets.
|
||||
|
||||
## Después
|
||||
RCE → Reverse shell. Si es local privesc → mira primero PEASS-ng y Privesc Linux / Privesc Windows (kernel exploit = último recurso).
|
||||
|
||||
Relacionado: Exploits conocidos · Nmap NSE · Enumeración · OSCP MOC
|
||||
Loading…
Add table
Add a link
Reference in a new issue