Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cs2modrewrite — Convierte perfiles de Cobalt Strike a scripts modrewrite | Kitploit
Herramientas/GitHubGitHub/threatexpress/cs2modrewrite
Proxies Web e InterceptaciónEvasión de IDS/IPSSeguridad de RedesPruebas de PenetraciónComando y ControlRed Teaming
GitHubthreatexpress/cs2modrewrite

cs2modrewrite

Convierte perfiles de Cobalt Strike a scripts modrewrite

Ver Repositorio
608116hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Genera Automáticamente Reglas para Apache mod_rewrite o Nginx para Redirección Inteligente de C2 por HTTP

Python application Este proyecto convierte un perfil de Cobalt Strike en un archivo funcional de mod_rewrite .htaccess o de configuración de Nginx para soportar la redirección por proxy inverso HTTP hacia el teamserver de Cobalt Strike. El uso de proxies inversos proporciona protección a los servidores C2 de backend frente a la elaboración de perfiles, la investigación y la radiación general de fondo de Internet.

Nota: Debes probar y ajustar la salida según sea necesario antes de implementarla, pero estos scripts deberían encargarse del trabajo pesado.

Características

  • Ahora requiere Python 3.0+
  • Soporta las funciones de URI personalizadas de Cobalt Strike a partir de CS 4.0
  • Reglas de reescritura basadas en URI C2 válidas (HTTP GET, POST y Stager) y en la cadena de User-Agent especificada.
    • Resultado: de forma predeterminada, solo las solicitudes a endpoints C2 válidos con una cadena UA especificada se enviarán por proxy al teamserver.
  • Utiliza un perfil Malleable C2 personalizado para crear un archivo .htaccess con las reglas mod_rewrite correspondientes
  • Utiliza un perfil Malleable C2 personalizado para crear una configuración de Nginx con las reglas proxy_pass correspondientes
  • Proxy HTTP o HTTPS hacia el teamserver de Cobalt Strike
  • Redirección HTTP 302 a un sitio legítimo para solicitudes que no coinciden

Inicio rápido

El ejemplo havex.profile se incluye para una prueba rápida.

  1. Ejecuta el script contra un perfil
  2. Guarda la salida en .htaccess o /etc/nginx/nginx.conf en tu redireccionador
  3. Modifica según sea necesario
  4. Recarga o reinicia el servidor web

Ejemplo de uso de Apache mod_rewrite con un archivo de inclusión remota

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

Ejemplo de configuración de Apache

root@kitploit:~
<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>

Considera actualizar la cabecera del servidor Apache, ServerTokens y el registro de eventos con algo como lo siguiente.

root@kitploit:~
## 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

Ejemplo de uso de Apache mod_rewrite con un archivo .htaccess

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

Configuración y consejos para la reescritura en Apache

Habilitar Rewrite y Proxy

root@kitploit:~
apt-get install apache2
a2enmod rewrite headers proxy proxy_http ssl cache
a2dismod -f deflate
service apache2 reload

Nota: https://bluescreenofjeff.com/2016-06-28-cobalt-strike-http-c2-redirectors-with-apache-mod_rewrite/ "e0x70i señaló en los comentarios siguientes que si tu perfil Malleable C2 de Cobalt Strike contiene una cabecera Accept-Encoding para gzip, tu instalación de Apache puede comprimir ese tráfico de forma predeterminada y hacer que tu Beacon no responda o funcione incorrectamente. Para superar esto, desactiva mod_deflate (mediante a2dismod deflate) y añade el indicador No Encode ([NE]) a tus reglas de reescritura. (¡Gracias, e0x70i!)"

Habilitar soporte SSL

Asegúrate de que las siguientes entradas estén en el archivo de configuración del sitio (p. ej. /etc/apache2/available-sites/*.conf)

root@kitploit:~
# 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 planeas usar mod_rewrite en archivos .htaccess (en lugar del archivo de configuración del sitio), también necesitas habilitar el uso de archivos .htaccess cambiando AllowOverride None a AllowOverride All. Para todos los sitios web, edita /etc/apache2/apache.conf

root@kitploit:~
<Directory /var/www/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Finalmente, reinicia apache una vez más para asegurarte.

service apache2 restart

Solución de problemas

Si necesitas depurar el comportamiento de las reglas de redirección, habilita el rastreo detallado de errores en el archivo de configuración de tu sitio añadiendo la siguiente línea.

LogLevel alert rewrite:trace5

A continuación, recarga apache y supervisa /var/log/access.log /var/log/error.log para ver qué reglas coinciden.


Ejemplo de uso con Nginx

Instalar Nginx

root@kitploit:~
apt-get install nginx nginx-extras

Nota: nginx-extras es necesario para las cabeceras de servidor personalizadas. Si no puedes obtener este paquete, comenta la línea de la cabecera del servidor en el archivo de configuración resultante.

Crear reglas de redirección

Guarda la salida de cs2nginx.py en /etc/nginx/nginx.conf y modifícala según sea necesario (parámetros 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

Finalmente, reinicia nginx después de modificar el archivo de configuración del servidor.

service nginx restart

Reflexiones finales

Una vez que la redirección esté configurada y funcionando, asegúrate de que tus servidores C2 solo permitan el tráfico entrante desde el redireccionador y tus IPs de confianza (VPN, rangos de oficina, etc.).

Considera añadir protecciones adicionales al redireccionador mediante restricciones GeoIP (mod_maxmind) y listas negras de user agents e IPs maliciosos. Gracias a @curi0usJack por las ideas.

Referencias

  • Joe Vest and Andrew Chiles - cs2modrewrite.py blog post

  • @bluescreenofjeff - Cobalt Strike HTTP C2 Redirectors with Apache mod_rewrite

  • Adam Brown - Resilient Red Team HTTPS Redirection Using Nginx

  • Apache - Apache mod_rewrite Documentation

Descargar herramienta