⚠️ LAB ISOLÉ UNIQUEMENT – VIOLENT_MODE=1 = CARNAGE TOTAL EN SIMULATION – USAGE ÉDUCATIF SEULEMENT ⚠️

🦠 TAMASHII v5 - Worm Lab Propagation 2025

Script Python offensif pour simulation de propagation autonome en environnement lab isolé – analyse, exécution, et défenses éthiques.

OFFENSIVE AVANCÉE NIVEAU MAESTRO

🎯 Introduction & Philosophie

Bienvenue dans cette masterclass TAMASHII v5, un worm Python remanié par Platon-Y pour Echoes of Hackers. Ce script simule une propagation autonome en lab isolé, sans C2 centralisé, pour étudier les mécanismes de malware avancés. On attaque pour mieux défendre – usage éducatif only, avec éthique stricte. Toute exécution hors lab = conséquences légales. On va décortiquer le code, expliquer son flow, et finir par des protections solides pour transformer ce savoir en bouclier cyber.

⚠️ LAB ÉDUCATIF ISOLÉ OBLIGATOIRE ⚠️
Violent mode à tester avec prudence – pas de traces réelles hors simu.
Nous attaquons pour mieux défendre

🛠️ Prérequis

  • Environnement Kali Linux isolé (VM ou réseau fermé)
  • Outils : arp-scan, nmap, sshpass, nmcli, vtysh (pour BGP simu)
  • Cibles lab : Machines virtuelles sur 10.13.37.0/24 ou 192.168.x.x
  • Python 3.10+ avec modules standards (os, subprocess, etc.)
  • Connaissances : Réseau, SSH, Modbus, BGP basiques
  • Éthique : Test en mode non-violent d'abord !

🔍 Analyse du Code

Voici le script complet – un worm furtif, multithread, avec persistance, discovery dynamique, et ops sur protocoles industriels (Modbus, BGP). Toggle VIOLENT_MODE via env pour tests safe.

🦠 Fonctionnement Détaillé

Phase par phase, voilà comment TAMASHII v5 opère en lab – propagation sans C2, furtive et autonome.

  • Persistance : Copie le script en endroits cachés (/tmp, /var, /usr), chmod +x, et crée un service systemd pour redémarrage auto. Furtif avec noms innocents comme ".sys-up".
  • Exec Shellcode : Exécute du code ASM inline via ctypes. En mode violent : spawn /bin/sh ; sinon : exit safe. Idéal pour payloads minimaux sans fichiers.
  • Discovery Targets : Scan ARP local, Nmap furtif (-T2), et WiFi/GSM via nmcli (connex auto à APs publics). Fallback sur subnet complet si rien trouvé.
  • Propagate : Shuffle targets, multithread (50 workers), infect SSH + Modbus par IP. Jitter random pour éviter détection. Appelle BGP et shellcode en violent.
  • Infect SSH : Brute light (users/pwds lab-style), copie script via base64, chmod/nohup pour exécution bg.
  • Modbus/BGP/Scoreboard : Ops sur port 502 (Modbus write/read), BGP network announce via vtysh, et envoi messages à 10.13.37.254:1337 pour "scoreboard" simu.
  • Carnage : Délais phasés (180s deploy, 480s prop, 300s delete en violent), thread daemon pour run infini avec sleep random (1-2h).
💡 Tip : En lab, set VIOLENT_MODE=0 pour tests safe. Observe logs avec tcpdump/wireshark.

🛡️ Stratégies de Protection – Parce qu’on attaque pour mieux se défendre

Maintenant qu’on a vu TAMASHII faire son carnage en lab… on passe aux choses sérieuses : comment on le stoppe net. Parce que oui, on est des attaquants dans ce contexte, mais on est d’abord des protecteurs. On ne laisse jamais un outil comme ça sans bouclier.

  • Isolation réseau (la base de tout) :
  • SSH en mode parano : Plus jamais de mot de passe. Jamais. Key-only, Fail2Ban avec 3 tentatives = ban IP 7 jours, et surtout : PAM + Google Authenticator ou YubiKey. Root login désactivé, connexion uniquement via un bastion. Et on monitore /var/log/auth.log avec OSSEC ou Wazuh en temps réel.
  • Protocoles industriels (Modbus, BGP, etc.) : Port 502 fermé à l’extérieur. Point. Si besoin d’accès distant : VPN site-to-site avec IPsec ou WireGuard chiffré en AES-256. vtysh ? Seulement sur les routeurs, jamais sur les stations d’ingénierie. Et on désactive nmcli sur les hosts critiques – pas besoin de se connecter au Wi-Fi du McDo en pleine usine.
  • Détection de persistance : Tous les matins, un petit script qui fait :
    • systemctl list-unit-files | grep -v disabled → on regarde les services suspects
    • find /tmp /var/tmp /dev/shm -type f -executable → on traque les binaires cachés
    • AIDE ou Tripwire en daily check
    • SELinux en enforcing + AppArmor profiles strictes
  • Monitoring qui ne dort jamais : Wazuh + ELK (ou Graylog) avec des règles spécifiques :
    • Détection de shellcode en mémoire (Sigma rules)
    • Alertes sur création de processus fils de python/ssh sans parent légitime
    • Surveillance des écritures dans /tmp + /var/tmp
    • CrowdStrike Falcon, Carbon Black ou Microsoft Defender for Endpoint en mode blocage agressif
  • Best practices qu’on répète en boucle (et qu’on applique !) :
    • Least privilege partout (même pour les admins)
    • Mot de passe ? Minimum 25 caractères + passphrase
    • Honeypots dans chaque VLAN (Canarytokens, OpenCanary)
💡 Le petit script de nettoyage:
#!/bin/bash
# Nettoyage TAMASHII - à lancer en root après un exercice
echo "🔥 Nettoyage post-TAMASHII en cours..."

# Services suspects
systemctl disable --now cache-helper.service log-rotate.service systemd-log-rotate.service 2>/dev/null || true
rm -f /etc/systemd/system/*helper*.service /etc/systemd/system/*rotate*.service

# Fichiers cachés classiques
rm -rf /tmp/.sys* /tmp/.tam* /var/lib/.cache* /usr/local/bin/.log* /usr/local/bin/.helper* /home/.hidden* 2>/dev/null

# Cron jobs
crontab -r 2>/dev/null
rm -f /etc/cron.d/*rotate* /etc/cron.d/*helper* 2>/dev/null

# iptables rapide
iptables -F
iptables -A INPUT -p tcp --dport 502 -j DROP
iptables -A INPUT -p tcp --dport 22 -m recent --set --name ssh
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --name ssh -j DROP

systemctl daemon-reload
echo "✅ Système propre – prêt pour le prochain round !"

🏆 Défis & Extensions

Défi 1 : Ajoute obfuscation (pycryptodome) pour evasion AV.

Défi 2 : Intègre ML (scikit) pour adaptive scanning basé sur responses.

Défi 3 : Crée un dashboard Grafana pour monitorer propagation en lab.