¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
sh00t — Las pruebas de seguridad no son tan simples como hacer clic derecho > Escanear. Es un desastre, un juego difícil. ¿Qué pasa si olvidas probar esa única cosa y luego te arrepientes? Sh00t es una plataforma altamente personalizable e inteligente que comprende la vida de los cazadores de errores (bug hunters) y hace hincapié en las pruebas de seguridad manuales. | Kitploit
Las pruebas de seguridad no son tan simples como hacer clic derecho > Escanear. Es un desastre, un juego difícil. ¿Qué pasa si olvidas probar esa única cosa y luego te arrepientes? Sh00t es una plataforma altamente personalizable e inteligente que comprende la vida de los cazadores de errores (bug hunters) y hace hincapié en las pruebas de seguridad manuales.
Compartir
root@kitploit:~
A Testing Environment for Manual Security Testers
Sh00t
es un gestor de tareas para que te centres en realizar pruebas de seguridad
proporciona listas de verificación Por Hacer de casos de prueba
ayuda a crear informes de errores con plantillas de errores personalizables
Características:
Gestor de tareas dinámico para reemplazar editores simples o herramientas de gestión de tareas que NO están diseñadas para Seguridad
Lista de verificación automatizada y personalizable de casos de prueba de seguridad para reemplazar Evernote, OneNote u otras herramientas que NO están diseñadas para Seguridad
Gestiona plantillas de errores personalizadas para diferentes propósitos y genera automáticamente informes de errores
Soporta múltiples Evaluaciones y Proyectos para separar lógicamente tus diferentes necesidades
Úsalo como papel: todo se guarda automáticamente
Exporta el informe de errores generado automáticamente a Markdown y envíalo ciegamente en HackerOne. (Trabajo en progreso)
Integración con JIRA, ServiceNow - Próximamente
Exporta informe de errores a Markdown - Próximamente
Personaliza todo internamente
Instalación:
Instala Docker si no está disponible. Los usuarios de Windows 10 Home o versiones anteriores, consulten las instrucciones de instalación alternativa a continuación.
Descarga la imagen de Sh00t para Docker: docker pull pavanw3b/sh00t:latest
Crea un volumen para la persistencia de datos entre contenedores Docker: docker volume create --name sh00t
Ejecuta el contenedor: docker run -d -p 8000:8000 --name sh00t -v sh00t:/root/sh00t/db pavanw3b/sh00t:latest
¿Eres un experto en Django y quieres configurar todo por tu cuenta? También te cubrimos: Configuración manual
¿Usas una máquina que no tiene Hyper-V, como Windows Home? Puedes usar Docker Toolbox y Docker Quickstart Terminal. Tu Sh00t se ejecutará en la IP predeterminada de tu Docker: http://YOUR_DOCKER_IP:8000/. La dirección IP se mostrará al inicio de la Quickstart Terminal. También puedes encontrarla con docker-machine ls y docker-machine ip MACHINE_NAME.
Si quieres migrar a la versión Docker de Sh00t desde una configuración anterior sin perder ninguno de tus datos existentes, debes reemplazar manualmente el archivo /root/sh00/db/db.sqlite3 en el contenedor Docker con tu configuración anterior de Sh00t.
Usando Sh00t más tarde:
Inicia el contenedor: docker start sh00t
Inicia sesión en http://YOUR_IP:8000/ en tu navegador favorito
Inicia sesión con sh00t / sh00t si no lo has cambiado
Detén el contenedor si te importa: docker stop sh00t
¡y repite!
Nota: Usa siempre docker start y docker stop. Podrías perder tus datos si eliminas el contenedor o el volumen.
Actualización
Es importante mantener tu Sh00t actualizado para aprovechar las nuevas funciones y correcciones de errores.
Elimina el contenedor existente: docker container rm -f sh00t
No te preocupes, tus datos están seguros a menos que elimines el volumen de Docker.
Descarga la última imagen de Docker: docker pull pavanw3b/sh00t:latest
Inicia un nuevo contenedor con el código más reciente, pero aún con los datos antiguos: docker run -d -p 8000:8000 --name sh00t -v sh00t:/root/sh00t/db pavanw3b/sh00t:latest
Desinstalación
En caso de que quieras eliminar todas las imágenes, contenedores y volúmenes de Sh00t, se pueden ejecutar las siguientes instrucciones. Nota: Esta es una operación destructiva y no se puede deshacer.
Sh00t está escrito en Python y funciona con Django Web Framework. Si te encuentras con algún error, buscar en Google el mensaje de error debería ayudarte la mayoría de las veces. Si no estás seguro, por favor reporta un nuevo problema en GitHub.
Glosario:
Flag: Una Flag es un objetivo al que se dispara (sh00ted). Es un caso de prueba que necesita ser probado. Las Flags se generan automáticamente según la metodología de prueba elegida. El error puede o no ser encontrado, pero el objetivo es apuntar y disparar (sh00t) a él. La Flag contiene pasos detallados para la prueba. Si el error se confirma, se llama Sh0t.
Sh0t: Los Sh0ts son errores. Normalmente un Sh0t contiene una descripción técnica del error, Archivos/URLs afectados, Pasos para Reproducir y Recomendación de Corrección. La mayoría del contenido de un Sh0t se genera con un solo clic y solo el contenido dinámico como Parámetros Afectados, Pasos debe ser cambiado. Los Sh0ts pueden pertenecer a una Evaluación.
Evaluación (Assessment): Una Evaluación es una evaluación de pruebas. Puede ser la evaluación de una aplicación, un programa, según la forma que el usuario desee gestionarla. Es parte de un proyecto.
Proyecto (Project): Un proyecto contiene evaluaciones. Un proyecto puede ser una separación lógica de lo que haces. Puede ser un trabajo diferente, bug bounty, depende de ti decidir.
Plantilla (Template): Las plantillas son tus plantillas de errores. Se usan con Sh0t. Esto reemplaza el trabajo de copiar y pegar cuando reportas un nuevo error. Crea plantillas para todos tus errores, deja las variables que cambiarán en tu informe real de error, como URL, Área Afectada, etc., que serán reemplazadas cuando la plantilla se cargue en tu Sh0t.
Maestro de Casos (Case Master): El Maestro de Casos es un conjunto de Casos de Prueba. Son pruebas individuales que realizarás en tu objetivo. Configurar los Casos de Prueba te ayudará a gestionar tus pruebas y cubrir todas las cosas que necesitarás en tu Evaluación. Cada hacker tendrá sus propios Casos de Prueba. Mantenlos cortos y fáciles de seguir. Mantener una lista completa de Casos de Prueba en tu Sh00t es la parte más importante de usar Sh00t. Los Casos de Prueba se convertirán en Flags que deben ser probadas cuando inicies una nueva Evaluación.
Maestro de Módulos (Module Master): Los Módulos son partes lógicas de las pruebas. Por ejemplo, Gestión de Usuarios y Sesiones es un ejemplo de Módulo. Los Módulos son similares a la categoría de la prueba.
Maestro de Metodología (Methodology Master): La Metodología es tu enfoque para tus pruebas. OWASP Testing Guide V4 y Web Application Hacker Handbook (WAHH) son ejemplos de Metodología y vienen incluidos por defecto con Sh00t. Puedes crear tu propia Metodología, Módulos y Casos de Prueba. Puedes tener diferentes Metodologías para tu trabajo oficial y bug bounty personal. La Metodología te ayudará a separarlos.
¿Cómo funciona?
Comienza creando una nueva Evaluación. Elige qué metodología deseas probar. Hoy hay 330 casos de prueba, agrupados en 86 Flags, pertenecientes a 13 Módulos, creados con referencia a la Metodología de Pruebas del "Web Application Hacker's Handbook". Los Módulos y Flags se pueden seleccionar y personalizar. Una vez que se crean las Evaluaciones con las Flags, el probador debe probarlas manualmente, o semi automatizadas con la ayuda de escáneres, herramientas o como sea necesario, marcándolas como "Hecho" al completarlas. Durante la evaluación, a menudo nos encontramos con casos de prueba personalizados que son específicos de ciertos escenarios en la aplicación. Se puede crear una nueva Flag fácilmente en cualquier momento.
Cada vez que una Flag se confirma como un error válido, se puede crear un Sh0t. Se puede elegir la plantilla de error que mejor se ajuste, y Sh00t llenará automáticamente el informe de error basado en la plantilla elegida.
¿Quién puede usar Sh00t?
Ingenieros de Seguridad de Aplicaciones: Pruebas de Penetración y Evaluaciones de Vulnerabilidades
Cazadores de Bug Bounty
Investigadores de Seguridad Independientes
Equipo azul, desarrolladores que corrigen
Cualquier persona que quiera hackear
Capturas de pantalla:
Dashboard:
Trabajando en una Flag:
Editando en pantalla completa:
Eligiendo Metodología y Casos de Prueba al crear una nueva Evaluación:
Reportando un error pre-rellenado con una plantilla:
Configuraciones:
Detalles de implementación:
Lenguaje: Python 3
Framework: Django Web Framework
Dependencias: Django REST Framework, djnago-tables2: Gestionado por /requirements.txt