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
BreakEscape — Motor Rails montable que proporciona más de 24 escenarios de sala de escape de ciberseguridad con contraseñas aleatorias, diálogo de NPC compilado JIT y API RESTful para la gestión del estado del juego. Diseñado para la formación práctica en seguridad. | Kitploit
Herramientas/GitHubGitHub/cliffe/breakescape
Seguridad WebCTFPruebas de PenetraciónAprendizaje y EducaciónRutas de Aprendizaje y CursosLabs y Práctica
GitHubcliffe/breakescape

BreakEscape

Motor Rails montable que proporciona más de 24 escenarios de sala de escape de ciberseguridad con contraseñas aleatorias, diálogo de NPC compilado JIT y API RESTful para la gestión del estado del juego. Diseñado para la formación práctica en seguridad.

Ver Repositorio
62hace 7 díasAún no revisado

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

BreakEscape: Motor de Rails

Juego de sala de escape de entrenamiento en ciberseguridad como un motor de Rails montable.

Características

  • Más de 24 escenarios de sala de escape de ciberseguridad
  • Seguimiento del progreso del lado del servidor con esquema de 2 tablas
  • Contraseñas aleatorias por instancia de juego mediante ERB
  • Compilación JIT de scripts Ink para diálogos de NPC
  • Soporte de jugador polimórfico (User/DemoUser)
  • Autorización Pundit
  • API RESTful para gestión del estado del juego
  • Persistencia de estado basada en sesiones

Instalación

En tu Gemfile:

root@kitploit:~
gem 'break_escape', path: 'path/to/break_escape'

Luego:

root@kitploit:~
bundle install
rails break_escape:install:migrations
rails db:migrate
rails db:seed  # Opcional: crea misiones a partir de los escenarios

Montaje en la aplicación anfitriona

En tu config/routes.rb:

root@kitploit:~
mount BreakEscape::Engine => "/break_escape"

Uso

Modo independiente (Desarrollo)

root@kitploit:~
export BREAK_ESCAPE_STANDALONE=true
rails server
# Visita http://localhost:3000/break_escape/

Modo montado (Producción)

Monta en Hacktivity u otra aplicación Rails. El motor usará current_user de la aplicación anfitriona a través de Devise.

Configuración

root@kitploit:~
# config/initializers/break_escape.rb
BreakEscape.configure do |config|
  config.standalone_mode = false  # true para desarrollo
  config.demo_user_handle = 'demo_player'
end

Esquema de base de datos

  • break_escape_missions - Metadatos del escenario (name, display_name, published, difficulty)
  • break_escape_games - Estado del jugador + instantánea del escenario (JSONB)
  • break_escape_demo_users - Solo modo independiente (opcional)

Puntos finales de la API

  • GET /games/:id/scenario - JSON del escenario (generado por ERB)
  • GET /games/:id/ink?npc=X - Script de NPC (compilado JIT desde .ink)
  • GET /games/:id/bootstrap - Datos iniciales del juego
  • PUT /games/:id/sync_state - Sincronizar estado del jugador
  • POST /games/:id/unlock - Validar intento de desbloqueo
  • POST /games/:id/inventory - Actualizar inventario

Arquitectura

Generación de escenarios ERB

Los escenarios se almacenan como plantillas .json.erb y se renderizan bajo demanda con valores aleatorios:

  • <%= random_password %> - Genera una contraseña única por juego
  • <%= random_pin %> - Genera un PIN único de 4 dígitos
  • <%= random_code %> - Genera un código hexadecimal único

Compilación JIT de Ink

Los scripts de diálogo de NPC se compilan en la primera solicitud (~300ms):

  1. Verifica si existe un .json y es más reciente que .ink
  2. Si es necesario, ejecuta inklecate para compilar
  3. Almacena en caché el JSON compilado para solicitudes posteriores

Gestión de estado

El estado del jugador se almacena en una columna JSONB:

  • Habitación actual y habitaciones desbloqueadas
  • Inventario y objetos recolectados
  • Encuentros con NPC
  • Variables globales (sincronizadas con el cliente)
  • Salud y estado de minijuegos

Pruebas

CI

Las pruebas se ejecutan automáticamente en GitHub Actions. El archivo Gemfile.lock comprometido fija las versiones exactas de las gemas utilizadas.

Localmente con acceso a red

root@kitploit:~
bundle install
bundle exec rails db:create db:migrate RAILS_ENV=test
bundle exec rails test

Localmente sin acceso a red

El motor incluye un script bin/setup que arranca el bundle desde un checkout hermano de Hacktivity (que ya tiene todas las gemas requeridas empaquetadas):

root@kitploit:~
# Desde la raíz de BreakEscape — Hacktivity debe estar en ../Hacktivity
bin/setup
bundle exec rails test

# Si Hacktivity está en otro lugar, establece HACKTIVITY_DIR:
HACKTIVITY_DIR=/ruta/a/Hacktivity bin/setup

bin/setup copia los archivos .gem resueltos a vendor/cache/ y ejecuta bundle install --local. Los directorios vendor/cache/ y vendor/bundle/ están en gitignore; solo se compromete Gemfile.lock.

Documentación

Consulta HACKTIVITY_INTEGRATION.md para la guía de integración.

Agradecimientos

Muchas gracias a todos los que han contribuido al proyecto. Consulta el historial de GitHub.

  • Este proyecto cuenta con el apoyo de recursos del Cuerpo de Conocimiento en Ciberseguridad (CyBOK) en torno a la subvención CyBOK 1.1 (2023-2024).
  • Este proyecto cuenta con el apoyo de recursos del Cuerpo de Conocimiento en Ciberseguridad (CyBOK) en torno a la subvención CyBOK 1.1 (2024-2025).
  • Este proyecto cuenta con el apoyo de recursos del Cuerpo de Conocimiento en Ciberseguridad (CyBOK) en torno a la subvención de Seguridad Informada por la Seguridad (2025-2026).
Descargar herramienta