Sudomy es una herramienta de enumeración de subdominios, creada usando un script bash, para analizar dominios y recopilar subdominios de manera rápida y completa. También genera un informe de salida en formato HTML o CSV.
1. Características de Sudomy
Recientemente, Sudomy tiene estas 15 características:
- Fácil, ligero, rápido y potente. El script Bash está disponible por defecto en casi todas las distribuciones de Linux. Al utilizar la función de multiprocesamiento de script bash, todos los procesadores se utilizarán de manera óptima.
- El proceso de enumeración de subdominios se puede lograr utilizando un método activo o un método pasivo
- Prueba la lista de subdominios recopilados y analiza los servidores http o https que funcionan. Esta característica utiliza una herramienta de terceros, httprobe.
- Prueba de disponibilidad de subdominio basada en Ping Sweep y/o obteniendo el código de estado HTTP.
- La capacidad de detectar virtualhost (varios subdominios que se resuelven en una sola dirección IP). Sudomy resolverá los subdominios recopilados en direcciones IP, luego los clasificará si varios subdominios se resuelven en una sola dirección IP. Esta característica será muy útil para la próxima prueba de penetración / proceso de recompensa de errores. Por ejemplo, en el escaneo de puertos, la dirección IP única no se escaneará repetidamente
- Escaneo de puertos realizado desde subdominios recopilados / direcciones IP de host virtuales
- Prueba de ataque Subdomain Takeover
- Tomar capturas de pantalla de subdominios
- Identificar tecnologías en sitios web.
- Detección de urls, puertos, título, longitud del contenido, código de estado, response-body.
- Un Fallback automático inteligente de https a http como predeterminado.
- Recolección de datos/raspado de puerto abierto de terceras partes (Default::Shodan), Por ahora sólo usando Shodan . Más eficiente y efectivo para recolectar el puerto de la lista ip en el objetivo [[ Subdomain > IP Resolver > Crawling > ASN & Open Port ]]
- Recopilación de parámetros de URL (recurso predeterminado: WebArchive, CommonCrawl, UrlScanIO)
- Define la ruta para el archivo de salida (especifique un archivo de salida cuando se complete)
- Informe de salida en formato HTML y CSV
2. Cómo funciona Sudomy
Sudomy está utilizando la biblioteca cURL para obtener el Cuerpo de respuesta HTTP (HTTP Response Body) de sitios de terceros para luego ejecutar la expresión regular para obtener subdominios. Este proceso aprovecha al máximo los múltiples procesadores, se recopilarán más subdominios con menos consumo de tiempo.
- Sudomy: Information Gathering Tools for Subdomain Enumeration and Analysis – IOP Conference Series: Materials Science and Engineering, Volume 771, 2nd International Conference on Engineering and Applied Sciences (2nd InCEAS) 16 November 2019, Yogyakarta, Indonesia
- Guía del usuario sin conexión: Sudomy – Subdomain Enumeration and Analysis Guía del usuario v1.0
- Guía del usuario en línea: Guía del usuario de análisis y enumeración de subdominios
https://github.com/Screetsec/Sudomy/blob/master/doc/Sudomy%20-%20Subdomain%20Enumeration%20%26%20Analaysis%20User%20Guide%20v1.0.pdf
3. Instalar Sudomy
Sudomy se extiende actualmente con las siguientes herramientas. Las instrucciones sobre cómo instalar y usar la aplicación están vinculadas a continuación.
Herramientas | Licencia | Informacion |
---|---|---|
Gobuster | Licencia Apache 2.0 | no es obligatorio |
httprobe | Tom Hudson – | obligatorio |
nmap | Licencia pública general GNU v2.0 | no es obligatorio |
Para descargar Sudomy de Github, debemos clonar desde el repositorio con el siguiente comando:
git clone --recursive https://github.com/screetsec/Sudomy.git
E instalar las dependencias necesarias con este otro comando:
pip install -r requirements.txt
Sudomy requiere jq para ejecutar y analizar. Se puede acceder a información sobre cómo descargar e instalar jq aquí.
En Linux
apt-get update
apt-get install jq nmap phantomjs golang npm
npm i -g wappalyzer
En Mac
brew cask install phantomjs
brew install jq nmap go npm
npm i -g wappalyzer
Si ya tienes un entorno Go, sigue estas instrucciones:
Agrega las siguientes líneas a ~/.bashrc
(Usuario)
nano ~/.bashrc
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.bashrc
Luego instala las dependencias
go get -u github.com/tomnomnom/httprobe
go get -u github.com/OJ/gobuster
4. Posterior a la instalación
La clave API es necesaria antes de consultar en sitios de terceros, como Shodan, Censys, SecurityTrails, Virustotal,y BinaryEdge.
La configuración de la clave API se puede hacer en el archivo sudomy.api
.
# Shodan
# URL : http://developer.shodan.io
# Example :
# - SHODAN_API="VGhpc1M0bXBsZWwKVGhmcGxlbAo"
SHODAN_API=""
# Censys
# URL : https://censys.io/register
CENSYS_API=""
CENSYS_SECRET=""
# Virustotal
# URL : https://www.virustotal.com/gui/
VIRUSTOTAL=""
# Binaryedge
# URL : https://app.binaryedge.io/login
BINARYEDGE=""
# SecurityTrails
# URL : https://securitytrails.com/
SECURITY_TRAILS=""
5. Utilizar Sudomy
Para ver la lista de parámetros disponibles, podemos ejecutar el comando de ayuda del programa:
sudomy -h
Para usar las 20 fuentes y trabajar con servidores http o https:
sudomy -d [URL]
Para usar una o más fuentes:
sudomy -s shodan,dnsdumpster,webarchive -d [URL]
Para usar uno o más plugins:
sudomy -pS -sC -sS -d [URL]
Para usar todos los plugins: comprobar el estado del host, el código de estado http/https, subdomain takeover y las capturas de pantalla.
sudomy --all -d [URL]
Para crear un informe en formato HTML:
sudomy --all -d [URL] --html
Muestra de un informe HTML:
sudomy -d [URL]
Espero que al utilizar la herramientas anteriormente mencionada, puedas descubrir subdominios objetivos para tu investigación de seguridad. También es posible que desees probar un escáner de puertos abiertos.
Así que esto fue todo por esta publicación. Si ya conocías esta herramienta de enumeración de subdominios o tienes otra en mente entre tus favoritas, escríbelas en la sección de comentarios..