Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cs2modrewrite — Convertir les profils Cobalt Strike en scripts modrewrite | Kitploit
Outils/GitHubGitHub/threatexpress/cs2modrewrite
Proxies Web et InterceptionÉvasion IDS/IPSSécurité RéseauTests d'IntrusionCommandement et ContrôleRed Teaming
GitHubthreatexpress/cs2modrewrite

cs2modrewrite

Convertir les profils Cobalt Strike en scripts modrewrite

Voir le dépôt
60811613il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Générer automatiquement des règles pour Apache mod_rewrite ou Nginx pour une redirection intelligente de C2 HTTP

Python application Ce projet convertit un profil Cobalt Strike en un fichier de configuration mod_rewrite .htaccess ou Nginx fonctionnel pour prendre en charge la redirection proxy HTTP inverse vers un teamserver Cobalt Strike. L'utilisation de proxys inverses offre une protection aux serveurs C2 backend contre le profilage, l'investigation et le bruit général d'Internet.

Note : Vous devez tester et ajuster la sortie selon vos besoins avant le déploiement, mais ces scripts devraient effectuer le gros du travail.

Fonctionnalités

  • Nécessite désormais Python 3.0+
  • Prend en charge les fonctionnalités d'URI personnalisées de Cobalt Strike à partir de CS 4.0
  • Règles de réécriture basées sur les URI C2 valides (HTTP GET, POST et Stager) et la chaîne User-Agent spécifiée.
    • Résultat : Seules les requêtes vers des points de terminaison C2 valides avec une chaîne UA spécifiée seront transmises par défaut au teamserver.
  • Utilise un profil Malleable C2 personnalisé pour construire un fichier .htaccess avec les règles mod_rewrite correspondantes
  • Utilise un profil Malleable C2 personnalisé pour construire une configuration Nginx avec les règles proxy_pass correspondantes
  • Proxy HTTP ou HTTPS vers le teamserver Cobalt Strike
  • Redirection HTTP 302 vers un site légitime pour les requêtes non correspondantes

Démarrage rapide

L'exemple havex.profile est inclus pour un test rapide.

  1. Exécutez le script contre un profil
  2. Enregistrez la sortie dans .htaccess ou /etc/nginx/nginx.conf sur votre redirecteur
  3. Modifiez selon les besoins
  4. Rechargez/redémarrez le serveur web

Exemple d'utilisation d'Apache mod_rewrite avec un fichier include distant

python3 cs2modrewrite.py -i havex.profile -c https://TEAMSERVER -r https://GOHERE -o /etc/apache2/redirect.rules

Exemple de configuration Apache

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    RemoteIPHeader X-Forwarded-For

    ErrorLog /var/log/apache2/redirector_error.log
    CustomLog /var/log/apache2/redirector_access.log combined
    ErrorDocument 401 " "
    ErrorDocument 403 " "
    ErrorDocument 404 " "
    ErrorDocument 500 " "
    ErrorDocument 503 " "

    # Include redirect.rules
    Include /etc/apache2/redirect.rules
</VirtualHost>

Envisagez de mettre à jour l'en-tête du serveur Apache, ServerTokens et la journalisation avec quelque chose comme ce qui suit.

## Update Apached Server Header, ServerTokens, and logging
echo "Update Update Apached Server Header, ServerTokens, and logging"
sed -i -e 's/\(ServerTokens\s\+\)OS/\1Prod/g' /etc/apache2/conf-enabled/security.conf
sed -i -e 's/\(ServerSignature\s\+\)On/\1Off/g' /etc/apache2/conf-enabled/security.conf
echo "SecServerSignature Server" >> /etc/apache2/conf-enabled/security.conf
echo "LogLevel alert rewrite:trace2" >> /etc/apache2/conf-enabled/security.conf

## Update Apached remoteip.conf
echo "Update Apached remoteip.conf"
echo "RemoteIPHeader X-Forwarded-For" >> /etc/apache2/conf-enabled/remoteip.conf

## Restart apache server
echo "Restart apache server"
systemctl restart apache2

Exemple d'utilisation d'Apache mod_rewrite avec un fichier .htaccess

python3 cs2modrewrite.py -i havex.profile -c https://TEAMSERVER -r https://GOHERE -o /var/www/html/.htaccess

Configuration et astuces pour la réécriture Apache

Activer Rewrite et Proxy

apt-get install apache2
a2enmod rewrite headers proxy proxy_http ssl cache
a2dismod -f deflate
service apache2 reload

Note : https://bluescreenofjeff.com/2016-06-28-cobalt-strike-http-c2-redirectors-with-apache-mod_rewrite/ "e0x70i a souligné dans les commentaires ci-dessous que si votre profil Malleable C2 de Cobalt Strike contient un en-tête Accept-Encoding pour gzip, votre installation Apache peut compresser ce trafic par défaut et rendre votre Beacon non réactif ou défectueux. Pour contourner cela, désactivez mod_deflate (via a2dismod deflate) et ajoutez le drapeau No Encode ([NE]) à vos règles de réécriture. (Merci, e0x70i !)"

Activer le support SSL

Assurez-vous que les entrées suivantes se trouvent dans la configuration du site (par exemple /etc/apache2/available-sites/*.conf)

# Enable SSL
SSLEngine On
# Enable SSL Proxy
SSLProxyEngine On
# Trust Self-Signed Certificates generated by CobaltStrike
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

.HTACCESS

Si vous prévoyez d'utiliser mod_rewrite dans des fichiers .htaccess (au lieu du fichier de configuration du site), vous devez également activer l'utilisation des fichiers .htaccess en remplaçant AllowOverride None par AllowOverride All. Pour tous les sites web, modifiez /etc/apache2/apache.conf

<Directory /var/www/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Enfin, redémarrez apache une fois de plus pour faire bonne mesure.

service apache2 restart

Dépannage

Si vous avez besoin de dépanner le comportement des règles de redirection, activez le traçage détaillé des erreurs dans le fichier de configuration de votre site en ajoutant la ligne suivante.

LogLevel alert rewrite:trace5

Ensuite, rechargez apache et surveillez /var/log/access.log /var/log/error.log pour voir quelles règles correspondent.


Exemple d'utilisation Nginx

Installer Nginx

apt-get install nginx nginx-extras

Note : nginx-extras est nécessaire pour les en-têtes de serveur personnalisés. Si vous ne pouvez pas obtenir ce package, commentez la ligne d'en-tête du serveur dans le fichier de configuration résultant.

Créer des règles de redirection

Enregistrez la sortie de cs2nginx.py dans /etc/nginx/nginx.conf et modifiez si nécessaire (paramètres SSL).

python3 ./cs2nginx.py -i havex.profile -c https://127.0.0.1 -r https://www.google.com -H mydomain.local >/etc/nginx/nginx.conf

Enfin, redémarrez nginx après avoir modifié le fichier de configuration du serveur.

service nginx restart

Dernières réflexions

Une fois la redirection configurée et fonctionnelle, assurez-vous que vos serveurs C2 n'autorisent l'entrée que depuis le redirecteur et vos IP de confiance (VPN, plages de bureau, etc.).

Envisagez d'ajouter des protections supplémentaires au redirecteur en utilisant des restrictions GeoIP (mod_maxmind) et des listes noires de mauvais user agents et de plages IP. Merci à @curi0usJack pour les idées.

Références

  • Joe Vest et Andrew Chiles - article de blog cs2modrewrite.py

  • @bluescreenofjeff - Redirection C2 HTTP Cobalt Strike avec Apache mod_rewrite

  • Adam Brown - Redirection HTTPS résiliente pour équipe rouge avec Nginx

  • Apache - Documentation Apache mod_rewrite

Télécharger l’outil