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
SecureCodingDojo — Secure Coding Dojo es una plataforma para impartir conocimientos de codificación segura. | Kitploit
Herramientas/GitHubGitHub/owasp/securecodingdojo
Análisis de VulnerabilidadesAnálisis de CódigoSeguridad WebCTFPruebas de PenetraciónDevSecOpsAutenticaciónAprendizaje y EducaciónLabs y Práctica
GitHubowasp/securecodingdojo

SecureCodingDojo

Secure Coding Dojo es una plataforma para impartir conocimientos de codificación segura.

607159hace 8 mesesRevisado 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
Ver Repositorio
Sitio web

Acerca del Secure Coding Dojo

El Secure Coding Dojo es una plataforma para impartir formación en codificación segura. Si bien viene con su propia aplicación de entrenamiento vulnerable (el sitio web Insecure.Inc), el portal de formación puede utilizarse junto con otras aplicaciones de entrenamiento. La fortaleza de la plataforma es su extensibilidad y la integración con la plataforma de colaboración de desarrollo comúnmente utilizada, Slack. El portal de formación se puede configurar fácilmente en la nube y a continuación se ofrecen instrucciones para la configuración de AWS Elastic Beanstalk.

Asegúrate también de revisar la wiki para obtener más detalles sobre la implementación e instalación del Dojo.

Demo

Descarga la demo para hacerte una idea del portal de formación y de la aplicación Insecure.Inc.

También echa un vistazo a /screenshots Texto alternativo

Pruébalo

Los siguientes pasos te proporcionarán la configuración básica del Dojo. Para la configuración avanzada y las integraciones, consulta la wiki

  • Instala la última versión de Docker.

  • Clona el repositorio con Git

  • Cambia al directorio raíz del repositorio

  • Configura una variable de entorno DATA_DIR como punto de montaje para los archivos del dojo. En *nix/mac modifica .bash_profile de la siguiente manera

    export DATA_DIR="/YOUR_DATA_DIR"

  • En Mac debes permitir que Docker acceda a este directorio en Docker > Preferences > File Sharing

  • Reinicia tu terminal

  • Ejecuta con

    docker-compose up

¿Por qué otro sitio de formación en seguridad?

Aunque los sitios de formación de código abierto para enseñar conceptos de seguridad en aplicaciones no son nuevos, el público objetivo de estos sitios han sido los pentesters y los hackers éticos. El Secure Coding Dojo está pensado principalmente como una plataforma de entrega para desarrolladores, y he aquí por qué:

  • Se integra con Slack para la autenticación
  • Permite agrupar a los participantes según sus equipos de desarrollo
  • Permite a los equipos realizar un seguimiento del progreso y competir entre sí
  • Cada lección está construida como un par ataque/defensa. Los desarrolladores pueden observar las debilidades del software realizando el ataque y, después de resolver el desafío, aprenden sobre las defensas de software asociadas (bloques de código)
  • Las lecciones predefinidas se basan en los errores de software más peligrosos de MITRE (también conocidos como SANS 25), por lo que el enfoque está en los errores de software más que en las técnicas de ataque
  • Los desafíos de hacking predefinidos están creados para nivel de entrada y mantienen a los desarrolladores comprometidos
    • En otros sitios de formación o CTFs, los desafíos tienen un aspecto de rompecabezas que es excelente para el público pentester, pero puede hacer que algunos desarrolladores pierdan el interés. En el Secure Coding Dojo el enfoque está en demostrar la vulnerabilidad.
    • Hay consejos que ayudan a los desarrolladores mientras explotan el problema para evitar quedarse atascados

SecureCodingDojo y requisitos de cumplimiento

Si bien no garantizamos el cumplimiento, la formación podría utilizarse para satisfacer requisitos de cumplimiento como PCI 6.5.a. Consulta el documento del plan de estudios de Insecure.Inc sobre el mapeo con SANS 25 / OWASP Top 10 / PCI 6.5

Requisitos previos de desarrollo

Portal de formación

  • Instala VS Code
  • node/npm (desarrollado con v10)
  • OPCIONAL: servidor MySQL + MySQL Workbench (desarrollado con MySQL 5.7)

Insecure.Inc

  • Desarrollado en Java EE
  • Última versión de Eclipse Java EE (desarrollado con Neon) + Java 1.8 + Tomcat 8 para la aplicación de formación Insecure.Inc

Instrucciones de configuración del entorno de desarrollo

Portal de formación

  • Más detalles en la wiki

Insecure.inc

  • Más detalles en la wiki

Compilación

Portal de formación

  • Ejecuta el script ./buildTrainingPortal.sh. Creará una imagen de Docker y un paquete de AWS Elastic Beanstalk

Insecure.Inc

  • Haz clic derecho en el proyecto para exportarlo como un archivo .war y colócalo en la carpeta /webapps de tu instalación de Tomcat 8.

Alojando Insecure.Inc

Consulta la wiki.

Implementando el portal de formación

Más información en la wiki.

Instrucciones de configuración de Slack

Necesitarás crear una aplicación de Slack para la autenticación.

  • Ve a https://api.slack.com/
  • Pulsa Start Building y sigue las indicaciones para crear una aplicación de Slack en tu equipo de desarrollo de Slack
  • Una vez creada tu aplicación, podrás obtener tus credenciales de la aplicación para configurar tu config.json
  • Configura las URL de redirección en OAuth & Permissions. Por ejemplo, para una configuración de localhost, la URL de redirección sería: http://localhost:8081/public/slack/callback

Instrucciones de configuración de Google

La autenticación de Google también se puede configurar en config.json. Necesitarás una cuenta de desarrollador de Google y obtener las credenciales OAuth desde la consola de Google API: https://console.developers.google.com

En el mismo lugar configurarás tu dominio y las URI de redirección autorizadas. Por ejemplo, para una configuración de localhost, la URL de redirección sería: http://localhost:8081/public/google/callback

Instrucciones de configuración de autenticación local

Para equipos pequeños o imágenes preconfiguradas, la autenticación de Slack o Google puede no ser una opción. Para este escenario, puedes configurar la autenticación utilizando un archivo plano local.

Consulta la wiki para obtener más información.

  • Copia localUsers.json.sample a localUsers.json
  • Agrega la línea en config.json que especifica localUsersPath
  • Hay varias advertencias con la autenticación local, como la ausencia de bloqueo de cuenta, caducidad de contraseña, etc.

Instrucciones de configuración de la base de datos

Si no configuras una base de datos, el portal de formación simplemente utilizará una base de datos SQLite local

También puedes instalar MySQL y crear una base de datos y credenciales para esa base de datos. Anota tu nombre de usuario y contraseña; los necesitarás más adelante.

Semillas de claves de cifrado y variables de entorno

Tendrás que configurar las claves de cifrado como variables de entorno del sistema operativo. En *nix/mac modifica .bash_profile de la siguiente manera

root@kitploit:~
export ENC_KEY="put something random here"
export ENC_KEY_IV="put something random here"

Lo siguiente es para evitar que los participantes generen sus propios códigos de desafío.

root@kitploit:~
export CHALLENGE_MASTER_SALT="put something random here"

Extendiendo el Secure Coding Dojo

Puedes agregar nuevas lecciones siguiendo el modelo de las existentes.

Desafíos

Los desafíos se definen en ./trainingportal/static/lessons El archivo definitions.json apunta a la descripción html del desafío correspondiente, al enlace de juego y a los bloques de código correspondientes mediante el id del bloque de código. Sigue los ejemplos ya definidos para crear uno nuevo.

root@kitploit:~
.
+-- /trainingportal/static/lessons
|   +-- modules.json //configuration file where lesson modules are defined
|   +-- /attack-grams //visual representations of attacks included in challenge descriptions
|   +-- /blackBelt //lesson module
|       +--definitions.json //individual lesson definitions
|       +--cwe494.md // html or markdown file including the lesson description
|       +--cwe494.sol.md //solution for the lesson
|       ....
|       +--quiz.html 
|   +-- /secondDegreeBlackBelt

Bloques de código

Los bloques de código se definen en ./trainingportal/static/codeBlocks. Esta carpeta tiene una estructura similar con un json de definición y un conjunto de archivos html para cada desafío.

root@kitploit:~
.
+-- /trainingportal/static/codeBlocks
|   +-- codeBlocksDefinitions.json //configuration file where code blocks are defined
|   +-- authenticationByDefault.html //code block description html
|   ...
|   +-- useStrongDataEncryption.html
Descargar herramienta