Raccoon es una herramienta hecha para el Reconnaissance y la recopilación de información con un énfasis en la simplicidad.
Lo hará todo, desde la búsqueda de registros DNS, la recuperación de la información WHOIS, la obtención de datos TLS, la detección de la presencia de WAF y hasta la búsqueda de hilos y la enumeración de subdominios. Cada escaneo se traduce en un archivo correspondiente.
Como la mayoría de las exploraciones de Raccoon son independientes y no dependen de los resultados de las demás, utiliza asyncio de Python para ejecutar la mayoría de las exploraciones de forma asíncrona.
Raccoon soporta Tor/proxy para el enrutamiento anónimo. Utiliza listas de palabras por defecto (para el fuzzing de URL y el descubrimiento de subdominios) del increíble repositorio SecLists, pero se pueden pasar diferentes listas como argumentos.
Para más opciones – ver “Uso”.
Características
- Detalles del DNS
- Mapeo visual de DNS mediante el DNS Dumpster
- Información de WHOIS
- Datos de TLS: cifrados admitidos, versiones de TLS, detalles del certificado y SANs
- Escaneo de puertos
- Escaneo de servicios y scripts
- Fuzzing de URLs y detección de directorios/archivos
- Enumeración de subdominios: utiliza el dorking de Google, las consultas DNS dumpster, el descubrimiento de SAN y la fuerza bruta
- Recuperación de datos de aplicaciones web:
- Detección de CMS
- Información del servidor web y X-Powered-By
- extracción del mapa del sitio y robots.txt
- Inspección de Cookie
- Extrae todas las URLs fuzzables
- Descubre los formularios HTML
- Recupera todas las direcciones de correo electrónico
- Analiza el objetivo en busca de S3 buckets vulnerables y los enumera en busca de archivos sensibles
- Detecta los WAFs conocidos
- Admite el enrutamiento anónimo a través de Tor/Proxies
- Utiliza asyncio para mejorar el rendimiento
- Guarda la salida en archivos – separa los objetivos por carpetas y los módulos por archivos
Instalación
Para la última versión estable:
pip install raccoon-scanner
# To run:
raccoon [OPTIONS]
Por favor, ten en cuenta que Raccoon requiere Python3.5+, por lo que puedes necesitar usar
pip3 install raccoon-scanner
También puedes clonar el repositorio de GitHub para conocer las últimas características y cambios:
git clone https://github.com/evyatarmeged/Raccoon.git
cd Raccoon
python setup.py install
#Los cambios posteriores en el código fuente no se reflejarán en las llamadas a raccoon cuando se utilice esta opción
# O
python setup.py develop # Changes to code will be reflected in calls to raccoon. This can be undone by using python setup.py develop --uninstall
# Finalmente
raccoon [OPTIONS] [TARGET]
Para soportar Raccoon en macOS necesitas tener gtimeout en tu máquina.
gtimeout se puede instalar ejecutando brew install coreutils
.
# Construir la imagen docker
docker build -t evyatarmeged/raccoon .
# Ejecuta un escaneo, como este es un contenedor no-root necesitamos guardar la salida bajo el home del usuario que es /home/raccoon
docker run --name raccoon evyatarmeged/raccoon:latest example.com -o /home/raccoon
Raccoon utiliza Nmap para escanear puertos así como utiliza algunos otros scripts y características de Nmap. Es obligatorio tenerlo instalado antes de ejecutar Raccoon.
OpenSSL también se utiliza para los escaneos TLS/SSL y también debería instalarse.
Uso
Usage: raccoon [OPTIONS] TARGET
Options:
--version Show the version and exit.
-d, --dns-records TEXT Comma separated DNS records to query.
Defaults to: A,MX,NS,CNAME,SOA,TXT
--tor-routing Route HTTP traffic through Tor (uses port
9050). Slows total runtime significantly
--proxy-list TEXT Path to proxy list file that would be used
for routing HTTP traffic. A proxy from the
list will be chosen at random for each
request. Slows total runtime
-c, --cookies TEXT Comma separated cookies to add to the
requests. Should be in the form of key:value
Example: PHPSESSID:12345,isMobile:false
--proxy TEXT Proxy address to route HTTP traffic through.
Slows total runtime
-w, --wordlist TEXT Path to wordlist that would be used for URL
fuzzing
-T, --threads INTEGER Number of threads to use for URL
Fuzzing/Subdomain enumeration. Default: 25
--ignored-response-codes TEXT Comma separated list of HTTP status code to
ignore for fuzzing. Defaults to:
302,400,401,402,403,404,503,504
--subdomain-list TEXT Path to subdomain list file that would be
used for enumeration
-sc, --scripts Run Nmap scan with -sC flag
-sv, --services Run Nmap scan with -sV flag
-f, --full-scan Run Nmap scan with both -sV and -sC
-p, --port TEXT Use this port range for Nmap scan instead of
the default
--vulners-nmap-scan Perform an NmapVulners scan. Runs instead of
the regular Nmap scan and is longer.
--vulners-path TEXT Path to the custom nmap_vulners.nse script.If
not used, Raccoon uses the built-in script it
ships with.
-fr, --follow-redirects Follow redirects when fuzzing. Default: False
(will not follow redirects)
--tls-port INTEGER Use this port for TLS queries. Default: 443
--skip-health-check Do not test for target host availability
--no-url-fuzzing Do not fuzz URLs
--no-sub-enum Do not bruteforce subdomains
--skip-nmap-scan Do not perform an Nmap scan
-q, --quiet Do not output to stdout
-o, --outdir TEXT Directory destination for scan output
--help Show this message and exit.
Capturas de Pantalla
Datos de la aplicación web, incluyendo el S3 bucket vulnerable:
Ejemplo de escaneo del desafío HTB:
Resultados del escaneo de vulnerabilidades NMAP:
Árbol de carpetas de resultados después de un escaneo:
Raccoon (este enlace se abre en una nueva ventana) por evyatarmeged (este enlace se abre en una nueva ventana)
A high performance offensive security tool for reconnaissance and vulnerability scanning