Skip to content

lukatinarelli/HTBmachines

Repository files navigation

██╗  ██╗████████╗██████╗ ███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗███████╗
██║  ██║╚══██╔══╝██╔══██╗████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝██╔════╝
███████║   ██║   ██████╔╝██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗  ███████╗
██╔══██║   ██║   ██╔══██╗██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝  ╚════██║
██║  ██║   ██║   ██████╔╝██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗███████║
╚═╝  ╚═╝   ╚═╝   ╚═════╝ ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝╚══════╝

Status GitHub License GitHub Repo stars Shell Script JSON HTB

📚 Índice


📜 Introducción

HTBMachines es un potente script en Bash diseñado para consultar información detallada sobre máquinas de Hack The Box, VulnHub y PortSwigger. Este proyecto se basa en la base de datos y tutoriales proporcionados por el trabajo de @S4vitar.


⚠️ Aviso Importante: Cambio de la Base de Datos (API)

Este proyecto se concibió utilizando la API de infosecmachines.io (de JavierMolines), la cual permitía descargar la base de datos de máquinas sin autenticación.

Caution

CAMBIO RECIENTE. El dominio infosecmachines.io ahora redirige a la nueva plataforma hackingvault.com. La API de la nueva web NO permite la descarga de datos sin sesión iniciada.

Esto implica que:

  • El archivo infosecmachines.json viene incluido en el repositorio con la base de datos más reciente en el momento de la clonación. No necesitas seguir estos pasos para usar el script.
  • La autenticación es obligatoria si deseas actualizar la Base de Datos (-u, --update) para obtener nuevas máquinas, ya que la API de Hacking Vault requiere tu cookie de sesión.

🔑 Instrucciones para Obtener el Token de Sesión

Para que el script funcione, debes proporcionar tu cadena de cookies de sesión. El proceso es el siguiente:

Copiar el comando cURL completo

Esta es la forma más robusta, ya que copia todas las cabeceras necesarias:

  1. Inicia sesión en hackingvault.com.
  2. Abre F12 (Herramientas de Desarrollador) y ve a la pestaña Network.
  3. Filtra por Fetch/XHR.
  4. Busca la petición a tutorials?page=X&limit=12 y haz clic derecho.
  5. Selecciona Copy > Copy as cURL (bash).
  6. Al ejecutar el comando de actualización, el script te pedirá que pegues la cadena cURL en la consola.

🔨 Características

  • Búsqueda de máquinas por nombre (-m, --machine).
  • Actualización del archivo infosecmachines.json (-u, --update).
  • Información del script y ayuda (-h, --help).
  • Versión del script (-v, --version).
  • Autocompletado opcional.

💾 Instalación

Dependencias:

  • curl
  • jq
  • md5sum
  • tput
  • figlet

Instrucciones:

# Clonar el repositorio
git clone https://github.com/lukatinarelli/HTBmachines.git
cd HTBmachines

# Dar permisos de ejecución
chmod +x htbmachines.sh

Tip

Puedes añadir la ruta del repo en tu PATH para ejecutar el script con htbmachines.sh desde cualquier directorio.

Autocompletado (opcional)

Hemos separado la lógica en dos archivos para máxima compatibilidad y evitar bugs raros:

Shell Archivo a Usar
Zsh .htb-autocomplete.zsh
Bash .htb-autocomplete.bash

Para habilitarlo, usa el siguiente comando con el archivo que corresponda a tu shell:

source .htb-autocomplete.<tu_shell>

Ejemplo:

source .htb-autocomplete.zsh

Note

Si quieres que el autocompletado sea permanente, añade la línea source correspondiente a tu archivo de configuración (~/.zshrc o ~/.bashrc).


🚀 Uso

Argumento Corto Argumento Largo Descripción
-m --machine Busca información detallada sobre una máquina de HTB, VulnHub o PortSwigger.
-i --ip Buscar máquinapor dirección IP.
-d --difficulty Filtar máquinas por dificultad.
-u --update Actualiza el archivo de datos principal (infosecmachines.json).
-h --help Muestra el menú de ayuda e información del script.
-v --version Muestra la versión actual del script.

🔧 Cosas por mejorar (Tareas)

Este es el checklist de funcionalidades y mejoras planificadas para las próximas versiones:

  • Filtros: Añadir más filtros como el de -os (sistema operativo), -d (dificultad)...
  • Autocompletado: Solucionar el fallo al usar comillas en los nombres de máquina.
  • Ergonomía: Implementar sugerencias de nombres ("¿Quieres decir: ...") si la máquina no es encontrada.
  • Metadatos: Añadir un nuevo campo resuelta a la base de datos JSON.
  • Documentación: Mostrar la ayuda y el uso correcto para cada flag individual.
  • UX (User Experience): Añadir colores en la salida del comando de búsqueda (-m).
  • Mantenimiento: Implementar un sistema básico de logs.
  • Automatización: Si al filtrar el resultado solo hay una máquina, mostrar la información de esa máquina automáticamente.
  • Interactivo: Desarrollar un modo interactivo con lectura de teclado para navegación.

🌟 Créditos

Este script se creó como parte del curso de Hack4U impartido por @S4vitar. La base de datos y los tutoriales utilizados son propiedad intelectual de S4vitar.

Caution

Nota Importante: Este proyecto está destinado exclusivamente para fines educativos en el contexto del Hacking Ético.


⚖️ Licencia

Este proyecto está bajo la Licencia MIT.

About

Motor de búsqueda local para buscar información de las máquinas de Hack The Box resueltas por @s4vitar

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages