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
Redcloud — Despliegue automatizado de infraestructura de Red Team usando Docker | Kitploit
Herramientas/GitHubGitHub/khast3x/redcloud
Frameworks de Pruebas de PenetraciónSeguridad de ContenedoresFrameworks de ExploitsRed Teaming
GitHubkhast3x/redcloud

Redcloud

Despliegue automatizado de infraestructura de Red Team usando Docker

Ver Repositorio
1.3k2046hace 4 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

Reporte meteorológico. Nublado con posibilidad de shells!

Lanzamiento temprano. Sígueme en Twitter para mantenerte al tanto del desarrollo de Redcloud.
💁☁️🐚🌱


Inicio Rápido - Arquitectura - Casos de Uso - Capturas de Pantalla


Introducción

Redcloud es una herramienta potente y fácil de usar para desplegar una Infraestructura de Red Team completamente funcional usando Docker. Aprovecha la velocidad de la nube para tus herramientas. Se despliega en minutos. Úsala y adminístrala con su .

Descargar herramienta
elegante interfaz web

Ideal para tus pruebas de penetración, campos de tiro, red teaming y bug bounties!

Auto-aloja tu infraestructura de ataque sin complicaciones, despliega tu propia infraestructura ofensiva en vivo, escalable y resiliente en cuestión de minutos.

Demo

La siguiente demo muestra el despliegue de Redcloud a través de ssh, seguido de Metasploit. Luego vemos Traefik y un volumen en vivo adjunto a Metasploit. Finalmente, verificamos que la base de datos de Metasploit funcione con la terminal web, eliminamos el contenedor y terminamos Redcloud.


Características

  • Despliega Redcloud local o remotamente usando las funciones SSH integradas, e incluso docker-machine.
  • Despliega Metasploit, Empire, GoPhish, objetivos vulnerables, un Kali completamente equipado, y muchos más con unos pocos clics.
  • Monitorea y administra tu infraestructura con una hermosa interfaz web.
  • Despliega redirecciones, proxy SOCKS o Tor para todas tus herramientas.
  • Gestión de red y uso compartido de volúmenes sin complicaciones.
  • Gestión de usuarios y contraseñas.
  • Terminal web
  • En general muy cómodo 🐣

Inicio Rápido

Configuración:```bash

If deploying using ssh

cat ~/.ssh/id_rsa.pub | ssh root@your-deploy-target-ip 'cat >> .ssh/authorized_keys'

If deploying using docker-machine, and using a machine named "default"

eval (docker-machine env default)

Check your Python version

Use python3 if default python version is 2.x

python --version

root@kitploit:~
Desplegar:```bash
> git clone https://github.com/khast3x/redcloud.git
> cd redcloud
> python redcloud.py

Redcloud usa PyYAML para imprimir la lista de plantillas disponibles. Está instalado por defecto en la mayoría de los sistemas.
Si no, simplemente ejecuta:```bash

Use pip3 if default python version is 2.x

pip install -r requirements.txt

root@kitploit:~
Redcloud tiene 3 métodos de despliegue diferentes:
1. **Localmente**
2. **De forma remota, usando ssh**. Requiere tener tu clave pública en el archivo `authorized_keys` del objetivo.
3. **De forma remota, usando docker-machine**. Ejecuta la línea `eval (docker-machine env deploy_target)` para precargar tu entorno con tu docker-machine, y ejecuta `redcloud.py`. Redcloud debería detectar automáticamente tu docker-machine y resaltar los elementos del menú relevantes para un despliegue mediante docker-machine.

___

<h4 align="center">
  <b>Plantillas</b> 
  <br>
  <br>

</h4>
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/345/e38f19fa9cc10216030f7856b99170a4ac7c35399c2dd9daf19156a6e9b75e46.png" width="540" title="Plantillas de Redcloud">
</p>

___

**Brevemente,**

`redcloud.py` despliega un stack de [Portainer](https://www.portainer.io/), **precargado con muchas plantillas de herramientas para tus compromisos ofensivos**, impulsado por Docker. Una vez desplegado, controla Redcloud a través de la [interfaz web](#capturas-de-pantalla). Utiliza [Traefik](https://traefik.io/) como proxy inverso. Despliegue remoto sencillo en tu servidor objetivo usando `ssh` del sistema o `docker-machine`.
  

* :rocket: ¿Alguna vez quisiste levantar un Kali en la nube con solo unos clics?  
* :package: ¿Tener silos limpios entre tus herramientas, técnicas y etapas?  
* :ambulance: ¿Monitorear la salud de tus escaneos y C2?  
* :fire: ¿Saltarte esas tareas de administración del sistema para configurar una campaña de phishing y obtener acceso más rápido?  
* :smiling_imp: ¿Curioso sobre cómo construirías *la* infraestructura de ataque ideal?


Usa la interfaz web para monitorear, gestionar e **interactuar con cada contenedor**. Usa la ágil terminal web igual que la tuya. Crea volúmenes, redes y reenvíos de puertos usando la sencilla interfaz de Portainer.

Despliega y maneja todas tus herramientas y técnicas favoritas con el poder de internet de grado de centro de datos :rocket:

___

*En la siguiente sección, profundizaremos más en los conceptos de diseño de Redcloud. Puedes comenzar sin necesidad de sumergirte en ello.*

___

* :book: **Índice de contenidos**
  - [Introducción](#introducción)
  - [Características](#características)
  - [Inicio Rápido](#inicio-rápido)
  - [Detalles](#detalles)
    - [Arquitectura de Redcloud](#arquitectura-de-redcloud)
    - [Flujo de trabajo de despliegue](#flujo-de-trabajo-de-despliegue)
    - [Redes](#redes)
    - [Volúmenes](#volúmenes)
    - [Accediendo a los contenedores desde la terminal](#accediendo-a-los-contenedores-desde-la-terminal)
    - [Accediendo a archivos](#accediendo-a-archivos)
    - [Certificados SSL](#certificados-ssl)
    - [Deteniendo Redcloud](#deteniendo-redcloud)
    - [Plantillas de aplicaciones de Portainer](#plantillas-de-aplicaciones-de-portainer)
    - [Proxy inverso Traefik](#proxy-inverso-traefik)
    - [Consideraciones de seguridad de Redcloud](#consideraciones-de-seguridad-de-redcloud)
  - [Candidatos de despliegue probados](#candidatos-de-despliegue-probados)
  - [Solución de problemas](#solución-de-problemas)
  - [Casos de uso](#casos-de-uso)
  - [Capturas de pantalla](#capturas-de-pantalla)
  - [Guía de contribución](#guía-de-contribución)
  - [Alojando Redcloud](#alojando-redcloud)
  - [Inspiraciones y agradecimientos](#inspiraciones-y-agradecimientos)

___

## Detalles

### Arquitectura de Redcloud

* `redcloud.py`: Inicia/Detiene la interfaz web y las Plantillas de aplicaciones, usando Docker y Portainer.
* `portainer`: Interfaz web de Portainer.
* `traefik`: Contenedor del proxy inverso Traefik hacia la interfaz web, api y contenedores de archivos. Algunas plantillas tienen rutas preconfiguradas por conveniencia. Consulta el `templates.yml`.
* `templates`: Contenedor de `http.server` de python3 que alimenta las Plantillas de aplicaciones. Vive en una red "interior".
* `cert_gen`: El contenedor [omgwtfssl](https://github.com/paulczar/omgwtfssl) que genera los certificados SSL siguiendo las mejores prácticas comunes.
* https://tu-servidor-ip/portainer: Interfaz web de Redcloud una vez desplegado.
* https://tu-servidor-ip/files: Volumen `redcloud_files` de Redcloud. También puedes acceder al contenido del contenedor `redcloud_log`, protegido por el mismo `.htpasswd` que Traefik. Credenciales por defecto: `admin:Redcloud`
* https://tu-servidor-ip/api: Página de monitoreo de salud del proxy inverso Traefik. Muestra estadísticas en vivo sobre rutas, backends, códigos de retorno. También mostrará datos de implantes de callback inverso si se configura a través de Traefik.


### Flujo de trabajo de despliegue


**El flujo de trabajo de despliegue de Redcloud es el siguiente:**
1. Clonar/Descargar el repositorio de Redcloud.
2. Ejecutar `redcloud.py`.
3. Elegir el candidato de despliegue del menú (local, ssh, docker-machine).
4. `redcloud.py` automáticamente:
   * verifica si `docker` y `docker-compose` están en la máquina objetivo.
   * instala `docker` y `docker-compose` si no están presentes.
   * despliega el stack web en el objetivo usando `docker-compose`.
5. Una vez completado el despliegue, `redcloud.py` mostrará la URL. Dirígete a https://tu-máquina-de-despliegue-ip/portainer.
6. Configura nombre de usuario/contraseña desde la interfaz web.
7. Selecciona el endpoint (el único en la lista).
8. Accede a las plantillas usando el elemento de menú "Plantillas de aplicaciones" a la izquierda :rocket:

**El despliegue de Plantillas de aplicaciones es el siguiente:**
1. Elige una plantilla.
2. Si deseas agregar opciones adicionales, selecciona "+ Mostrar opciones avanzadas".
3. Agrega mapeo de puertos, opciones de red y mapeo de volúmenes como consideres.
4. Selecciona "Desplegar el contenedor".
5. Portainer lanzará el contenedor. Puede tomar unos minutos si necesita obtener la imagen. Si tu servidor está en un centro de datos, este paso será muy rápido.
6. El contenedor debería estar ejecutándose :rocket:
7. Portainer te redirigirá a la página "Contenedores". Desde allí, puedes:  
   a. Ver registros en vivo del contenedor.  
   b. Inspeccionar detalles del contenedor (`docker inspect`).  
   c. Ver estadísticas en vivo del contenedor (memoria/cpu/red/procesos).  
   d. Usar un shell web para interactuar con tu contenedor.  
   e. Dependiendo de la Plantilla de aplicación, usar `bash` o `sh`. Elige según corresponda desde el menú desplegable.  


<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/345/cf013b73e9bb7dc6f94dafbd31d9d158f7736fc676f94995c64de133ad9bebbe.png" width="540" title="Menú de Redcloud">
</p>

### Redes

Redcloud facilita jugar con redes y contenedores.  
Puedes crear redes adicionales con diferentes controladores y adjuntar tus contenedores como consideres. Redcloud viene con 2 redes, `redcloud_default` y `redcloud_inside`.

### Volúmenes

Puedes compartir datos entre contenedores compartiendo volúmenes. Redcloud viene con 3 volúmenes:

* `certs`: Contenedor con los certificados generados por [omgwtfssl](https://github.com/paulczar/omgwtfssl).
* `files`: Volumen estándar para compartir archivos. Por ahora, los archivos están disponibles al navegar a https://tu-servidor-ip/files, y son servidos por el contenedor del proxy inverso Traefik directamente desde el volumen `files`. Un caso de uso típico es adjuntar el volumen a un contenedor de Metasploit, generar tu payload directamente en el volumen `files`. Ahora puedes servir tu payload fresco directamente a través de Traefik hacia la ruta del servidor de archivos.
* `logs`: Disponible para registros, también servido por el servidor de archivos. El acceso requiere autenticación básica. Por defecto es `admin:Redcloud`.


### Accediendo a los contenedores desde la terminal

Si deseas permanecer en tu terminal para trabajar con los contenedores desplegados, es muy fácil usando Docker. Ten en cuenta lo siguiente:
* La mayoría de los contenedores tienen `bash`, pero algunos usan `sh` en su lugar
* Todos los nombres de los contenedores de las Plantillas de aplicaciones de Redcloud comienzan con `red_`, como `red_msf-postgresql`
* Con Docker, puedes usar `docker exec` o `attach` para interactuar con un contenedor
  * `exec` es preferible ya que crea un nuevo proceso
  * `attach` te lleva directamente al proceso en ejecución, potencialmente matando tu contenedor en ejecución
* Si ejecutas Redcloud:
  * Localmente o usando `docker-machine`, simplemente escribe estos comandos en tu shell local
  * Usando `ssh`, primero conéctate por ssh a tu objetivo de despliegue para ejecutar los siguientes comandos

Para comenzar a interactuar con el contenedor deseado desplegado:```bash
> docker exec -it red_container-name /bin/bash
root@70a819ef0e87:/#

Si ves el siguiente mensaje, significa que bash no está instalado. En ese caso simplemente reemplaza /bin/bash por /bin/sh:```bash

docker exec -it red_container-name /bin/bash OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown

docker exec -it red_container-name /bin/sh

root@kitploit:~
Para usar `docker attach`, simplemente ejecuta:```bash
> docker attach red_container-name

Si se usa attach, el contenedor debe iniciarse en modo interactivo para acceder a una shell interactiva.

Accediendo a los archivos

Apunte su navegador a https://su-ip-de-redcloud/files.
Consulte el volumen files para más información.

Certificados SSL

Redcloud genera un nuevo certificado SSL no firmado al desplegarse.
El certificado es generado por omgwtfssl, implementando la mayoría de las mejores prácticas. Una vez generado:

Volcará los certificados generados en /certs por defecto y también los mostrará en stdout en un formato YAML estándar, lo que facilita su consumo en Ansible u otras herramientas que usen YAML.

Los certificados se almacenan en un volumen compartido de Docker llamado certs. Sus contenedores pueden acceder a este volumen si lo indican en "+ Configuración avanzada" al desplegarlo. El proxy inverso Traefik obtiene los certificados directamente desde su archivo de configuración. Si desea reemplazar estos certificados por los suyos propios, simplemente reemplácelos en este volumen.

También significa que puede compartir los certificados generados en otros contenedores, como Empire o Metasploit para sus devoluciones de llamada inversas, o para una campaña de phishing. La mayoría de las configuraciones relacionadas con SSL se pueden encontrar en traefik/traefik.toml o en el archivo docker-compose.yml.

Deteniendo Redcloud

Puede detener Redcloud directamente desde el menú.
Las plantillas de aplicaciones desplegadas deben detenerse manualmente antes de detener Redcloud. Puede detenerlas usando la interfaz web de Portainer, o docker rm -f nombre-del-contenedor.
Si desea forzar la detención de los contenedores de Portainer que ejecutan Redcloud, simplemente ejecute docker-compose kill dentro de la carpeta redcloud/. La opción de detención local y docker-machine es la misma, por lo que están combinadas en la misma opción.

Plantillas de aplicaciones de Portainer

Redcloud usa Portainer para orquestar e interactuar con el motor Docker. Portainer en sí mismo es un proyecto fantástico para gestionar despliegues Docker de forma remota. Portainer también incluye un sistema de plantillas muy conveniente, que es el componente principal de nuestro despliegue de Redcloud.
Las plantillas se pueden encontrar en ./templates/templates.yml. Portainer obtiene el archivo de plantillas desde un contenedor dedicado (templates).

Proxy inverso Traefik

Traefik es un maravilloso "router de borde nativo en la nube". Ha reemplazado la configuración anterior de NGINX como proxy inverso.
Durante el despliegue se construye una imagen de Traefik, utilizando el Dockerfile ubicado en traefik/Dockerfile. Añade un .htpasswd con credenciales admin:Redcloud.

Por defecto, el despliegue genera las siguientes rutas:

  • https://su-ip-del-servidor/portainer
  • https://su-ip-del-servidor/files
  • https://su-ip-del-servidor/api

Las autenticaciones se basan en los datos del .htaccess.

Desde la interfaz web de la API de Traefik, puede ver sus rutas desplegadas, monitorear la salud, así como métricas en tiempo real. Es muy interesante.

Puede agregar etiquetas adicionales que le indiquen a Traefik hacia dónde enrutar el tráfico, utilizando ya sea:

  • el archivo traefik/traefik.toml
  • el archivo docker-compose.yml
  • el archivo templates.yml
  • la interfaz web de Portainer

Consulte la documentación oficial para más información.

api

Consideraciones de seguridad de Redcloud

Redcloud se despliega con un certificado https autofirmado, y proxy todas las interacciones con la consola web a través de él.
Sin embargo, la red por defecto expone los puertos de sus contenedores al exterior.

Puede:

  • Eliminar los puertos expuestos y acceder al puerto normal desde una máquina dentro de la red docker
  • Agregar labels personalizadas para crear rutas con Traefik. Consulte el archivo docker-compose.yml para inspiración.
  • Iniciar un Ubuntu o Kali con noVNC (VNC a través de http) desde las plantillas, agregarlo tanto a una red "interna" como "externa", y acceder a las interfaces expuestas desde el interior.
  • Agregar configuraciones .htaccess

Adicionalmente:

  • Las instalaciones de docker y docker-machine requieren privilegios de root. Puede reducir los requisitos de privilegios siguiendo la documentación oficial.
  • El script de instalación se obtiene directamente de los repositorios oficiales de Docker.
  • redcloud.py obtiene la dirección IP pública de Redcloud usando icanhazip.com.

Candidatos de despliegue probados

Destino de despliegueEstado
Ubuntu Bionic✔️
Ubuntu Xenial✔️
Debian Stretch✔️

Solución de problemas

  • Verifique su versión de Python por defecto con python --version. Redcloud necesita Python 3+.
  • Use python3 en lugar de python si está en un sistema antiguo.
  • redcloud.py requiere que el candidato de despliegue tenga la clave pública en su .ssh/authorized_keys, y maneja la autenticación sin contraseña usando la clave pública del usuario. Esta es la configuración predeterminada para la mayoría de los flujos de trabajo de VPS.
  • El despliegue con docker-machine requiere que el usuario ya tenga una docker-machine en ejecución en una infraestructura en la nube (como AWS, GCP, Linode y muchos otros). Una vez desplegado, simplemente ejecute el comando eval como se ilustró anteriormente.
  • Las instalaciones de docker y docker-machine requieren privilegios de root. Puede reducir los requisitos de privilegios siguiendo la documentación oficial.
  • Si no ve el elemento de menú "Plantillas de aplicaciones" justo después de desplegar, actualice la página web y asegúrese de no estar en el menú de selección de endpoint.
  • Si desea crear una nueva combinación de nombre de usuario/contraseña, elimine los datos persistentes de Portainer en el candidato de despliegue: rm -rf /opt/portainer/data
  • Si se encuentra con errores de Python, es posible que necesite instalar el paquete python3-distutils usando apt-get install python3-distutils en sistemas basados en Debian/Ubuntu.
  • Si obtiene un error al desplegar una plantilla de aplicación que dice "el nombre del contenedor ya existe", probablemente se deba a que está intentando desplegar la misma plantilla sin haber eliminado una previamente desplegada. Simplemente elimine el contenedor antiguo con el mismo nombre, o cambie el nombre del nuevo contenedor.
  • Si algo parece estar mal con su contenedor, el procedimiento estándar es revisar los registros del contenedor desde la interfaz web.
  • Si está ejecutando un despliegue local en OSX, portainer no podrá usar la ubicación de volumen predeterminada /opt/. Para solucionarlo, abra el archivo docker-compose.yml, reemplace /opt/portainer/data:/data con una carpeta con permisos de escritura, por ejemplo: /tmp/portainer/:/data y cree el directorio /tmp/portainer antes de ejecutar Redcloud.
  • Si tiene problemas con la terminal web, intente deshabilitar algunos complementos, usar navegación privada, o probar con un navegador diferente. Si todo lo demás falla, conéctese a su contenedor a través de la terminal.

Casos de uso

  • Cree su laboratorio personal de pentesting y practique sus habilidades de hacking con amigos y colegas.
  • Proteja su infraestructura ofensiva usando honeypots.
  • Recrear una infraestructura APT con balanceo de carga de implantes inversos, servidores geo-distribuidos y operaciones de múltiples capas.
  • Automatice la generación de payloads con Metasploit o Empire, evasión de AV con gscript, servido instantáneamente a través de la URI /files/.
  • Realice sus pipelines de bug-bounty mucho más rápido que su competencia.
    • Lance Sniper usando la API de Portainer cuando se publique un nuevo bug-bounty, obtenga los registros usando la URI /files/.
  • Use el proxy inverso para cubrir Metasploit o Empire.
  • Lance escaneos detrás de su propio proxy SOCKS de Tor.
  • Vea sitios .onion usando el proxy SOCKS de Tor + Ubuntu VNC.
  • OSINT avanzado con Spiderfoot y un contenedor Tor como proxy.

Capturas de pantalla

  • Lista de plantillas

  • Desplegando un contenedor

  • Usando msfconsole de Metasploit a través de la interfaz web

  • Datos en tiempo real de Traefik sobre las rutas del proxy inverso

  • Desplegando usando ssh


Guía de contribución

Cualquier ayuda es apreciada. Este es un proyecto secundario, por lo que probablemente le falten algunos tornillos y tuercas. Sobre todo:

  • Reportar o corregir errores y peculiaridades de Redcloud.
  • Agregar plantillas. Por favor, manténgalas limpias y, si es posible, del repositorio de Docker Hub del creador.
  • Agregar documentación.
  • Detallar casos de uso en artículos de blog. Agregaré enlaces a publicaciones de blog aquí, así que asegúrese de contactarme si hace uno! ✌️
  • Integrar Traefik con más plantillas. Actualmente tengo problemas con spiderfoot y ubuntu novnc, por ejemplo.
  • Errores tipográficos como issues. (sin pull requests por favor)

Alojando Redcloud

Puede alojar Redcloud en cualquier servidor Unix que ejecute Docker.
Redcloud está destinado a ser utilizado en un entorno de nube, como un VPS simple con ssh, o incluso un AWS EC2, GCP, etc...

Una amplia gama de proveedores de nube ofrecen créditos gratuitos para familiarizarse con sus servicios. Muchas listas y tutoriales cubren cómo obtener créditos de alojamiento gratuitos de los principales proveedores. Esta lista es un buen punto de partida.

En cuanto al método de despliegue, personalmente prefiero trabajar con docker-machine ya que se vuelve extremadamente fácil crear nuevas máquinas y gestionarlas una vez que tenga la configuración del driver de su proveedor de nube. Si prefiere usar ssh, asegúrese de echar un vistazo al proyecto shellz de evilsocket para gestionar sus claves y perfiles.


Inspiraciones y agradecimientos

  • Red Team Infrastructure Wiki - bluscreenofjeff

  • Automated Red Team Infrastructure Guide - rastamouse

  • Safe Red Team Infrastructure - Tim MalcomVetter

  • Red Baron - Coalfire Research

  • Rapid Attack Infrastructure - Obscurity Labs

  • Decker - Steven Aldinger

  • hideNsneak - Mike Hodges

  • @Ullaakut por el logotipo - ¡Asegúrate de revisar su repositorio!


Por último, si deseas ver tu herramienta integrada, contáctame en Twitter. Este proyecto se mantiene en mi tiempo libre. Estate atento a la rama dev para nuevas funciones.
Redcloud fue desarrollado originalmente para facilitar el despliegue de entornos de entrenamiento para estudiantes de infosec.


Si deseas mantenerte actualizado sobre este proyecto:

twitter