Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rannden-sha/cyberland-labs
Este script es una herramienta avanzada diseñada para administrar, crear y personalizar máquinas virtuales en entornos Docker, especialmente enfocada en escenarios de CTF (Capture The Flag). Ofrece funcionalidades tanto para jugadores como para creadores, permitiendo desde la gestión básica de imagenes y contenedores hasta configuraciónes avanzadas
https://github.com/rannden-sha/cyberland-labs
bash ctf-challenges cyberland docker docker-container docker-image dockerfile script
Last synced: 21 days ago
JSON representation
Este script es una herramienta avanzada diseñada para administrar, crear y personalizar máquinas virtuales en entornos Docker, especialmente enfocada en escenarios de CTF (Capture The Flag). Ofrece funcionalidades tanto para jugadores como para creadores, permitiendo desde la gestión básica de imagenes y contenedores hasta configuraciónes avanzadas
- Host: GitHub
- URL: https://github.com/rannden-sha/cyberland-labs
- Owner: Rannden-SHA
- License: mit
- Created: 2024-11-25T11:05:07.000Z (29 days ago)
- Default Branch: main
- Last Pushed: 2024-12-02T20:10:09.000Z (21 days ago)
- Last Synced: 2024-12-02T21:24:30.752Z (21 days ago)
- Topics: bash, ctf-challenges, cyberland, docker, docker-container, docker-image, dockerfile, script
- Language: Shell
- Homepage: https://cyberlandsec.com/cyberland-labs
- Size: 462 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **CyberLand Labs Script**
![sh1](https://github.com/user-attachments/assets/96d9b5d2-fcb9-4e7f-8d33-4b11f84962d7)
## **Descripción**
El **CyberLand Labs Script** es una herramienta diseñada para facilitar la gestión de máquinas virtuales en entornos Docker, con un enfoque particular en retos de seguridad informática como **Capture The Flag (CTF)**. Este script interactivo permite tanto a jugadores como a creadores administrar, importar, crear y personalizar máquinas, con soporte para escenarios avanzados como pivoting y configuraciones de servicios automatizados.---
## **Características Principales**
- 🎮 **Perfil Jugador**: Importa y ejecuta máquinas CTF listas para jugar.
- 🛠️ **Perfil Creador**: Crea máquinas personalizadas, configura servicios y exporta máquinas en formato `.tar`.
- 📂 **Gestión Completa de Docker**:
- Importa, inicia, conecta, elimina contenedores e imágenes.
- Configura servicios para iniciar automáticamente en contenedores.
- 🌐 **Soporte Multimáquina**: Importa y ejecuta múltiples máquinas para escenarios avanzados como pivoting.
- ⚙️ **Configuración de Servicios**: Define servicios que se ejecutan automáticamente al iniciar una máquina.
- 🔃 **Gestión de Actualizaciones**: Si existe una nueva versión del script, al iniciarlo te preguntará si quieres actualizarlo.![updates](https://github.com/user-attachments/assets/0210fda1-6c01-4628-a8a8-4c8ee701fa82)
---
## **Requisitos**
1. **Docker** instalado en el sistema. Si no lo tienes, consulta [Docker Docs](https://docs.docker.com/get-docker/).
2. Permisos de **administrador** o acceso con `sudo` para ejecutar el script.
3. Ambiente Linux o cualquier entorno compatible con Bash.---
## **Instrucciones de Uso**
### **1. Descargar el Script**
Clona este repositorio en tu máquina:
```bash
git clone https://github.com/Rannden-SHA/CyberLand-Labs.git
cd CyberLand-Labs
```Asegúrate de dar permisos de ejecución al script:
```bash
chmod +x cyberland.sh
```### **2. Ejecutar el Script**
Para iniciar el script, ejecuta:
```bash
sudo bash cyberland.sh
```---
## **Menús del Script**
### **Menú Principal**
Este es el punto de entrada del script. Desde aquí puedes acceder a:
1. **Perfil Jugador**: Para jugar máquinas CTF.
2. **Perfil Creador**: Para crear y personalizar máquinas.
3. **Comprobar Requisitos**: Verifica si Docker está instalado y configurado correctamente.
4. **Créditos**: Información sobre los desarrolladores del proyecto.
5. **Salir**---
### **Perfil Jugador**
Diseñado para quienes desean resolver desafíos en máquinas preconfiguradas.
- **Importar Máquinas CTF**: Carga máquinas desde archivos `.tar`.
- **Iniciar Máquinas**: Ejecuta automáticamente las máquinas importadas.
- **Listar y Administrar Máquinas**: Visualiza y administra las imágenes y contenedores disponibles.
- **Limpieza Completa**: Elimina todas las imágenes y contenedores de Docker.![sh2](https://github.com/user-attachments/assets/abbc6e36-bc10-44d4-bca6-657b774e77f4)
#### **Jugar una Máquina**
1. Selecciona **"Importar máquina/s desde archivo local"** en el menú.
2. Proporciona la ruta al archivo `.tar` de la máquina.
3. El script importará y ejecutará automáticamente la máquina.
4. Conecta a la máquina usando su dirección IP:
- Usa herramientas como `ping` o `nmap` para identificar puertos y servicios.
- Accede al CTF y comienza a resolver los retos.---
### **Perfil Creador**
El menú del creador está diseñado para quienes desean crear o personalizar máquinas CTF.![sh5](https://github.com/user-attachments/assets/c92b21ab-46af-46e6-b958-60db9636c0fb)
#### **Crear una Nueva Máquina**
1. Selecciona **"Crear nueva máquina"**.
2. Proporciona:
- **Nombre de la máquina** (único y sin espacios).
- **Imagen base** (ej. `ubuntu:20.04`).
- **Puertos** a exponer (separados por comas, ej. `22,80`).
- **Contenido de las flags** para `user.txt` y `root.txt`.
3. La máquina se construirá como una nueva imagen de Docker.
4. Opcionalmente, el script te preguntará si deseas:
- Iniciar un contenedor para configuraciones adicionales.
- Exportar la máquina en formato `.tar`.![sh6](https://github.com/user-attachments/assets/7a96d69a-1c8b-4640-a123-a96baa2aaa9f)
#### **Configurar Servicios en una Máquina**
1. Selecciona **"Configurar servicios en una imagen"**.
2. Escribe el nombre de la imagen que deseas configurar.
3. Proporciona una lista de servicios separados por espacios (ej. `apache2 ssh mysql`).
4. El script generará una nueva imagen con los servicios configurados para iniciarse automáticamente.#### **Exportar Máquinas**
1. Tras crear o modificar una máquina, selecciona **"Exportar imagen Docker a archivo .tar"**.
2. La imagen se guardará en el formato `nombre_imagen.tar`.---
### **Administración de Docker**
Este submenú permite gestionar imágenes y contenedores de Docker.
- **Importar**: Carga máquinas desde archivos `.tar`.
- **Iniciar**: Arranca una máquina (imagen Docker).
- **Conectar**: Conéctate a un contenedor en ejecución.
- **Eliminar**: Elimina imágenes o contenedores.
- **Limpieza Completa**: Borra todas las imágenes y contenedores.![sh7](https://github.com/user-attachments/assets/841f1cbd-a491-4e22-ba66-62dc30d4b6b8)
---
## **Ejemplo de Uso**
### **Jugar una Máquina**
1. Importa un archivo `.tar` con la opción **"Importar máquina/s desde archivo local"**.
2. El script nos mostrará la ip para conectarnos a la máquina.### **Crear una Máquina CTF**
1. Selecciona **"Crear nueva máquina"** en el perfil creador.
2. Usa una imagen base como `ubuntu:20.04`.
3. Configura las flags, los puertos y guarda los cambios.
4. Entra en la máquina, haz los cambios que necesites y guárdala.
5. Exporta la máquina y súbela en https://cyberlandsec.com/cyberland-labs/ dándole al botón de subir máquina.---
## **Errores Comunes y Soluciones**
### **Problema:** Los servicios no inician automáticamente después de crear una máquina.
- **Solución:** Asegúrate de haber configurado correctamente los servicios con `configurar_servicios`.### **Problema:** Docker no está instalado.
- **Solución:** Instala Docker siguiendo las instrucciones de [Docker Docs](https://docs.docker.com/get-docker/).---
## **Contribuciones**
Las contribuciones son bienvenidas. Por favor, realiza un **fork** del repositorio, realiza tus cambios y envía un **pull request**.---
## **Créditos**
- **CEO de CyberLand Labs**: [Adrián Gisbert](https://www.linkedin.com/in/sr-gisbert/)
- **Creador de Máquinas CTF**: [Santiago Guevara](https://www.linkedin.com/in/santiagoguevara-/)🌐 **Más Información**: [CyberLand Labs](https://cyberlandsec.com/cyberland-labs)
---
¡Explora, aprende y conquista en CyberLand Labs!