
Despliegue automatizado de infraestructura de Red Team usando Docker
Lanzamiento temprano. Sígueme en Twitter para mantenerte al tanto del desarrollo de Redcloud.
💁☁️🐚🌱
Inicio Rápido - Arquitectura - Casos de Uso - Capturas de Pantalla
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 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.
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.
Configuración:```bash
cat ~/.ssh/id_rsa.pub | ssh root@your-deploy-target-ip 'cat >> .ssh/authorized_keys'
eval (docker-machine env default)
python --version
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
pip install -r requirements.txt
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.