CHOMTE.SH es un framework versátil diseñado para automatizar las tareas de reconocimiento en las pruebas de penetración. Es útil para los cazadores de recompensas y los profesionales de pruebas de penetración tanto en entornos de red internos como externos.
Sus características clave incluyen la recopilación de subdominios, la fuerza bruta de subdominios DNS, el escaneo rápido de puertos, la exploración HTTP, la enumeración de servicios y la generación de informes en varios formatos.
Además, realiza descubrimiento de contenido, identifica configuraciones erróneas y vulnerabilidades comunes, realiza un reconocimiento profundo de internet, proporciona transparencia de comandos y se especializa en reconocimiento de JavaScript. Los usuarios pueden personalizar los argumentos de las herramientas modificando el archivo flags.conf.
Características principales
Aquí te presento algunas de las características clave que hacen de CHOMTE.SH una herramienta indispensable para los profesionales de seguridad:
- Descubrimiento de subdominios: Recopila fácilmente subdominios con la ayuda de la robusta herramienta subfinder.
- Fuerza bruta de subdominios DNS: Refuerza la seguridad de tu DNS realizando fuerza bruta de subdominios con la herramienta dmut.
- Escaneo rápido de puertos: Identifica rápidamente posibles vulnerabilidades realizando escaneos de puertos con Naabu.
- Exploración HTTP: Genera informes detallados, incluyendo techdetect y webanalyze, usando projectdiscovery HTTPX.
- Enumeración de servicios: Descubre puertos y servicios abiertos usando Nmap, enfocándose solo en lo que importa.
- Informes: Crea informes completos en formatos XML, NMAP, CSV y HTML, permitiéndote presentar tus hallazgos de manera efectiva.
- Descubrimiento de contenido: Identifica archivos sensibles expuestos en aplicaciones web y corrige posibles fallas de seguridad.
- Escaneo de vulnerabilidades: Descubre configuraciones erróneas y vulnerabilidades comunes en tu infraestructura y aplicaciones web.
- Reconocimiento profundo: Aprovecha Shodan y Certificate Transparency para un reconocimiento exhaustivo en todo internet.
- Transparencia de comandos: Obtén visibilidad completa de los comandos ejecutados, sus ubicaciones y las salidas de los archivos.
- Extracción y validación de URL: Recopila todas las URL, extrae archivos JavaScript y valídalos, incluyendo aquellos con parámetros únicos.
- Escaneo basado en Nuclei: Ejecuta análisis de Nuclei basados en las tecnologías que se encuentran en los subdominios y realiza “fuzzing” de parámetros en las URL.
- Reconocimiento de JavaScript: Descubre credenciales codificadas, claves sensibles y contraseñas en tus aplicaciones.
- Personalización: Adapta el comportamiento de la herramienta a tus necesidades modificando el archivo flags.conf.
CHOMTE.SH es un cambio de juego para los profesionales de ciberseguridad, ofreciendo un conjunto integral de herramientas para asegurar tus activos digitales y fortalecer las defensas de tus aplicaciones web. Mantente por delante de las amenazas, protege tu presencia online y haz de CHOMTE.SH parte de tu arsenal de seguridad.
Instalación
Para instalar CHOMTE.SH, sigue estos pasos:
- Clona el repositorio:
git clone https://github.com/mr-rizwan-syed/chomtesh
- Cambia el directorio:
cd chomtesh
- Cambia a usuario root:
sudo su
- Haz el script ejecutable:
chmod +x *.sh
- Ejecuta el script de instalación:
./install.sh
- Ejecuta Chomte.sh:
./chomte.sh
Uso
Para usar CHOMTE.SH, ejecuta el script con los siguientes parámetros:
└─# ./chomte.sh
██████╗██╗ ██╗ ██████╗ ███╗ ███╗████████╗███████╗ ███████╗██╗ ██╗
██╔════╝██║ ██║██╔═══██╗████╗ ████║╚══██╔══╝██╔════╝ ██╔════╝██║ ██║
██║ ███████║██║ ██║██╔████╔██║ ██║ █████╗ ███████╗███████║
██║ ██╔══██║██║ ██║██║╚██╔╝██║ ██║ ██╔══╝ ╚════██║██╔══██║
╚██████╗██║ ██║╚██████╔╝██║ ╚═╝ ██║ ██║ ███████╗██╗███████║██║ ██║
╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝╚══════╝╚═╝ ╚═╝
U S A G E
Usage: ./chomte.sh -p <ProjectName> -d <domain.com> [option]
Usage: ./chomte.sh -p <ProjectName> -i <127.0.0.1> [option]
Usage: ./chomte.sh -p projectname -d example.com -brt -jsd -sto -n -cd -e -js -ex
Usage: ./chomte.sh -p projectname -d Domains-list.txt
Usage: ./chomte.sh -p projectname -i 127.0.0.1
Usage: ./chomte.sh -p projectname -i IPs-list.txt -n -cd -e -js -ex
Mandatory Flags:
-p | --project <string> : Specify Project Name here
-d | --domain <string> : Specify Root Domain here / Domain List here
OR
-i | --ip <string> : Specify IP / IPlist here - Starts with Naabu
-c | --cidr | --asn <string> : CIDR / ASN - Starts with Nmap Host Discovery
OR
-hpl | --hostportlist <filename>: HTTP Probing on Host:Port List
╔════════════════════════════════════════════════════════════════════════════════╗
Optional Flags - Only applicable with domain -d flag
╚════════════════════════════════════════════════════════════════════════════════╝
-sd | --singledomain : Single Domain for In-Scope Engagement
-pp | --portprobe : Probe HTTP web services in ports other than 80 & 443
-a | --all : Run all required scans
-rr | --rerun : ReRun the scan again
-brt | --dnsbrute : DNS Recon Bruteforce
-ax | --alterx : Subdomain Bruteforcing using DNSx on Alterx Generated Domains
-sto | --takeover : Subdomain Takeover Scan
╔════════════════════════════════════════════════════════════════════════════════╗
Global Flags - Applicable with both -d / -i
╚════════════════════════════════════════════════════════════════════════════════╝
-s | --shodan : Shodan Deep Recon - API Key Required
-n | --nmap : Nmap Scan against open ports
-e | --enum : Active Recon
-cd | --content : Content Discovery Scan
-cd | --content subdomains.txt : Content Discovery Scan
-ru | --reconurl : URL Recon; applicable with enum -e flag
-ex | --enumxnl : XNL JS Recon; applicable with enum -e flag
-nf | --nucleifuzz : Nuclei Fuzz; applicable with enum -e flag
-h | --help : Show this help
Parámetros obligatorios:
-p
o--project
: Especifica el nombre del proyecto.-d
o--domain
: Especifica el dominio raíz o una lista de dominios.-i
o--ip
: Especifica la IP/CIDR/lista de IPs.
Parámetros opcionales:
-n
o--nmap
: Escaneo Nmap contra puertos abiertos.-brt
o--dnsbrute
: Fuerza bruta de reconocimiento DNS.-hpl
o--hostportlist
: Exploración HTTP en la lista Host:Port.-cd
o--content
: Descubrimiento de contenido (la ruta es opcional).-e
o--enum
: Enumeración activa basada en tecnologías.-h
o--help
: Muestra la ayuda.
Ejemplos
Aquí hay algunos comandos de ejemplo:
Modo | Comandos |
---|---|
Recolectar subdominios y realizar exploración HTTP | ./chomte.sh -p nombre_proyecto -d ejemplo.com |
Fuerza bruta de subdominios con dmut | ./chomte.sh -p nombre_proyecto -d ejemplo.com -brt |
Realizar fuerza bruta AlterX usando DNSx | ./chomte.sh -p nombre_proyecto -d ejemplo.com -brt -ax |
Escaneo de toma de control de subdominio usando Subjack y Nuclei | ./chomte.sh -p nombre_proyecto -d ejemplo.com -brt -ax -sto |
Escaneo de puertos y luego exploración HTTP en puertos abiertos | ./chomte.sh -p nombre_proyecto -d ejemplo.com -pp |
Escaneo Nmap en puertos abiertos + informes CSV, HTML | ./chomte.sh -p nombre_proyecto -d ejemplo.com -pp -n |
EnumScan: Escaneo de descubrimiento de contenido en URLs potenciales | ./chomte.sh -p nombre_proyecto -d ejemplo.com -e -cd |
EnumScan: Función de reconocimiento de URL | ./chomte.sh -p nombre_proyecto -d ejemplo.com -e -ru |
EnumScan: Escaneo de plantilla Nuclei Fuzzer en URLs de parámetros potenciales | ./chomte.sh -p nombre_proyecto -d ejemplo.com -e -ru -nf |
EnumScan: Ejecutar todos los módulos Enum | ./chomte.sh -p nombre_proyecto -d ejemplo.com -e -cd -ru -v -nf |
EnumScan: Reconocimiento XNL JS y escaneo de secretos Trufflehog | ./chomte.sh -p nombre_proyecto -d ejemplo.com -e -ex |
Realizar todos los escaneos aplicables | ./chomte.sh -p nombre_proyecto -d ejemplo.com -all |
Escaneo Shodan | ./chomte.sh -p nombre_proyecto -d ejemplo.com -s |
Lista de entrada de dominios en el alcance | ./chomte.sh -p nombre_proyecto -d lista-dominios.txt |
Dominio único para compromisos en el alcance | ./chomte.sh -p nombre_proyecto -d objetivo.com -sd |
Escaneo de IP única | ./chomte.sh -p nombre_proyecto -i 127.0.0.1 |
Escaneo CIDR / Subred | ./chomte.sh -p nombre_proyecto –cidr 192.168.10.0/24 |
Escaneo ASN | ./chomte.sh -p nombre_proyecto –asn AS394363 |
Realizar escaneo Nmap en puertos abiertos | ./chomte.sh -p nombre_proyecto -i lista-IPs.txt -n |
Realizar exploración HTTP host:puerto & enum | ./chomte.sh -p nombre_proyecto -hpl lista-hostpuerto.txt -e -cd |
Configuración después de la instalación
- Configura las claves de API de Subfinder en
~/.config/subfinder/provider-config.yaml
. - Configura las claves de API en el archivo de configuración de Chomtesh
chomtesh/config.yml
. - Puedes personalizar las banderas de la herramienta editando el archivo
flags.conf
.
Ejecutando la imagen Docker
Para ejecutar la imagen de Chomtesh desde Docker Hub, usa el siguiente comando:
docker pull r12w4n/chomtesh
- Ejecutando un contenedor temporal:
docker run --rm -it r12w4n/chomtesh ./chomte.sh -p vulnweb -d vulnweb.com -a
- Mapeando resultados a la máquina local:
docker run --rm -it -v "$(pwd)/Results:/app/chomtesh/Results" r12w4n/chomtesh ./chomte.sh -p vulnweb -d vulnweb.com -brt -ax
- Usando archivos de configuración desde el host:
docker run --rm -it \
-v ~/.config/subfinder/provider-config.yaml:~/.config/subfinder/provider-config.yaml \
-v $(pwd)/config.yml:/app/chomtesh/config.yml \
r12w4n/chomtesh ./chomte.sh -p vulnweb -d vulnweb.com -a