Saltar a contenido

Automating Recon

Mientras que el reconocimiento manual puede ser efectivo, también puede ser una tarea que consume mucho tiempo y propensa a errores humanos. Automatizar las tareas de reconocimiento web puede mejorar significativamente la eficiencia y la precisión, permitiéndote recopilar información a gran escala e identificar posibles vulnerabilidades más rápidamente.

¿Por Qué Automatizar el Reconocimiento?

La automatización ofrece varias ventajas clave para el reconocimiento web:

  • Efficiency: Las herramientas automatizadas pueden realizar tareas repetitivas mucho más rápido que los humanos, liberando tiempo valioso para el análisis y la toma de decisiones.
  • Scalability: La automatización te permite escalar tus esfuerzos de reconocimiento a un gran número de objetivos o dominios, descubriendo un alcance más amplio de información.
  • Consistency: Las herramientas automatizadas siguen reglas y procedimientos predefinidos, asegurando resultados consistentes y reproducibles y minimizando el riesgo de errores humanos.
  • Comprehensive Coverage: La automatización se puede programar para realizar una amplia gama de tareas de reconocimiento, incluyendo DNS enumeration, subdomain discovery, web crawling, port scanning y más, asegurando una cobertura completa de posibles vectores de ataque.
  • Integration: Muchos frameworks de automatización permiten una fácil integración con otras herramientas y plataformas, creando un flujo de trabajo sin interrupciones desde el reconocimiento hasta la evaluación de vulnerabilidades y la explotación.

Frameworks de Reconocimiento

Estos frameworks están diseñados para proporcionar un conjunto completo de herramientas para el reconocimiento web:

  • FinalRecon: Una herramienta de reconocimiento basada en Python que ofrece una gama de módulos para diferentes tareas como la verificación de certificados SSL, la recopilación de información Whois, el análisis de encabezados y el crawling. Su estructura modular permite una fácil personalización para necesidades específicas.
  • Recon-ng: Un potente framework escrito en Python que ofrece una estructura modular con varios módulos para diferentes tareas de reconocimiento. Puede realizar DNS enumeration, subdomain discovery, port scanning, web crawling, e incluso explotar vulnerabilidades conocidas.
  • theHarvester: Diseñado específicamente para recopilar direcciones de correo electrónico, subdominios, hosts, nombres de empleados, puertos abiertos y banners de diferentes fuentes públicas como motores de búsqueda, servidores de claves PGP y la base de datos SHODAN. Es una herramienta de línea de comandos escrita en Python.
  • SpiderFoot: Una herramienta de inteligencia de código abierto que se integra con varias fuentes de datos para recopilar información sobre un objetivo, incluyendo direcciones IP, nombres de dominio, direcciones de correo electrónico y perfiles de redes sociales. Puede realizar DNS lookups, web crawling, port scanning y más.
  • OSINT Framework: Una colección de diversas herramientas y recursos para la recopilación de inteligencia de código abierto. Cubre una amplia gama de fuentes de información, incluyendo redes sociales, motores de búsqueda, registros públicos y más.

FinalRecon

FinalRecon ofrece una gran cantidad de información de reconocimiento:

  • Header Information: Revela detalles del servidor, tecnologías utilizadas y posibles errores de configuración de seguridad.
  • Whois Lookup: Descubre detalles de registro del dominio, incluyendo información del registrante y detalles de contacto.
  • SSL Certificate Information: Examina el certificado SSL/TLS para verificar su validez, emisor y otros detalles relevantes.
  • Crawler:
    • HTML, CSS, JavaScript: Extrae enlaces, recursos y posibles vulnerabilidades de estos archivos.
    • Internal/External Links: Mapea la estructura del sitio web e identifica conexiones a otros dominios.
    • Images, robots.txt, sitemap.xml: Recopila información sobre rutas de crawling permitidas/prohibidas y la estructura del sitio web.
    • Links in JavaScript, Wayback Machine: Descubre enlaces ocultos y datos históricos del sitio web.
  • DNS Enumeration: Consulta más de 40 tipos de registros DNS, incluyendo registros DMARC para la evaluación de seguridad de correos electrónicos.
  • Subdomain Enumeration: Utiliza múltiples fuentes de datos (crt.sh, AnubisDB, ThreatMiner, CertSpotter, Facebook API, VirusTotal API, Shodan API, BeVigil API) para descubrir subdominios.
  • Directory Enumeration: Soporta listas de palabras personalizadas y extensiones de archivos para descubrir directorios y archivos ocultos.
  • Wayback Machine: Recupera URLs de los últimos cinco años para analizar cambios en el sitio web y posibles vulnerabilidades.

La instalación es rápida y fácil:

git clone https://github.com/thewhiteh4t/FinalRecon.git
cd FinalRecon
pip3 install -r requirements.txt
chmod +x ./finalrecon.py
./finalrecon.py --help

usage: finalrecon.py [-h] [--url URL] [--headers] [--sslinfo] [--whois]
                     [--crawl] [--dns] [--sub] [--dir] [--wayback] [--ps]
                     [--full] [-nb] [-dt DT] [-pt PT] [-T T] [-w W] [-r] [-s]
                     [-sp SP] [-d D] [-e E] [-o O] [-cd CD] [-k K]

FinalRecon - All in One Web Recon | v1.1.6

optional arguments:
  -h, --help  show this help message and exit
  --url URL   Target URL
  --headers   Header Information
  --sslinfo   SSL Certificate Information
  --whois     Whois Lookup
  --crawl     Crawl Target
  --dns       DNS Enumeration
  --sub       Sub-Domain Enumeration
  --dir       Directory Search
  --wayback   Wayback URLs
  --ps        Fast Port Scan
  --full      Full Recon

Extra Options:
  -nb         Hide Banner
  -dt DT      Number of threads for directory enum [ Default : 30 ]
  -pt PT      Number of threads for port scan [ Default : 50 ]
  -T T        Request Timeout [ Default : 30.0 ]
  -w W        Path to Wordlist [ Default : wordlists/dirb_common.txt ]
  -r          Allow Redirect [ Default : False ]
  -s          Toggle SSL Verification [ Default : True ]
  -sp SP      Specify SSL Port [ Default : 443 ]
  -d D        Custom DNS Servers [ Default : 1.1.1.1 ]
  -e E        File Extensions [ Example : txt, xml, php ]
  -o O        Export Format [ Default : txt ]
  -cd CD      Change export directory [ Default : ~/.local/share/finalrecon ]
  -k K        Add API key [ Example : shodan@key ]

Para comenzar, primero clona el repositorio de FinalRecon desde GitHub usando git clone https://github.com/thewhiteh4t/FinalRecon.git. Esto creará un nuevo directorio llamado "FinalRecon" que contiene todos los archivos necesarios.

Luego, navega al directorio recién creado con cd FinalRecon. Una vez dentro, instala las dependencias de Python necesarias usando pip3 install -r requirements.txt. Esto asegura que FinalRecon tenga todas las bibliotecas y módulos que necesita para funcionar correctamente.

Para asegurarte de que el script principal sea ejecutable, cambia los permisos del archivo usando chmod +x ./finalrecon.py. Esto te permitirá ejecutar el script directamente desde tu terminal.

Finalmente, puedes verificar que FinalRecon esté instalado correctamente y obtener una visión general de sus opciones disponibles ejecutando ./finalrecon.py --help. Esto mostrará un mensaje de ayuda con detalles sobre cómo usar la herramienta, incluyendo los diversos módulos y sus respectivas opciones:

Opción Argumento Descripción
-h, --help Muestra el mensaje de ayuda y sale.
--url URL Especifica la URL objetivo.
--headers Recupera la información del encabezado para la URL objetivo.
--sslinfo Obtiene información del certificado SSL para la URL objetivo.
--whois Realiza una búsqueda Whois para el dominio objetivo.
--crawl Hace crawling del sitio web objetivo.
--dns Realiza DNS enumeration en el dominio objetivo.
--sub Enumera subdominios para el dominio objetivo.
--dir Busca directorios en el sitio web objetivo.
--wayback Recupera URLs de la Wayback Machine para el objetivo.
--ps Realiza un escaneo rápido de puertos en el objetivo.
--full Realiza un reconocimiento completo en el objetivo.

Por ejemplo, si queremos que FinalRecon recopile información de encabezados y realice una búsqueda Whois para inlanefreight.com, usaríamos las flags correspondientes (--headers y --whois), por lo que el comando sería:

./finalrecon.py --headers --whois --url http://inlanefreight.com

 ______  __   __   __   ______   __
/\  ___\/\ \ /\ "-.\ \ /\  __ \ /\ \
\ \  __\\ \ \\ \ \-.  \\ \  __ \\ \ \____
 \ \_\   \ \_\\ \_\\"\_\\ \_\ \_\\ \_____\
  \/_/    \/_/ \/_/ \/_/ \/_/

\/_/ \/_____/
 ______   ______   ______   ______   __   __
/\  == \ /\  ___\ /\  ___\ /\  __ \ /\ "-.\ \
\ \  __< \ \  __\ \ \ \____\ \ \/\ \\ \ \-.  \
 \ \_\ \_\\ \_____\\ \_____\\ \_____\\ \_\\"\_\
  \/_/ /_/ \/_____/ \/_____/ \/_____/ \/_/ \/_/

[>] Created By   : thewhiteh4t
 |---> Twitter   : https://twitter.com/thewhiteh4t
 |---> Community : https://twc1rcle.com/
[>] Version      : 1.1.6

[+] Target : http://inlanefreight.com

[+] IP Address : 134.209.24.248

[!] Headers :

Date : Tue, 11 Jun 2024 10:08:00 GMT
Server : Apache/2.4.41 (Ubuntu)
Link : <https://www.inlanefreight.com/index.php/wp-json/>; rel="https://api.w.org/", <https://www.inlanefreight.com/index.php/wp-json/wp/v2/pages/7>; rel="alternate"; type="application/json", <https://www.inlanefreight.com/>; rel=shortlink
Vary : Accept-Encoding
Content-Encoding : gzip
Content-Length : 5483
Keep-Alive : timeout=5, max=100
Connection : Keep-Alive
Content-Type : text/html; charset=UTF-8

[!] Whois Lookup : 

   Domain Name: INLANEFREIGHT.COM
   Registry Domain ID: 2420436757_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.registrar.amazon.com
   Registrar URL: http://registrar.amazon.com
   Updated Date: 2023-07-03T01:11:15Z
   Creation Date: 2019-08-05T22:43:09Z
   Registry Expiry Date: 2024-08-05T22:43:09Z
   Registrar: Amazon Registrar, Inc.
   Registrar IANA ID: 468
   Registrar Abuse Contact Email: abuse@amazonaws.com
   Registrar Abuse Contact Phone: +1.2024422253
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Name Server: NS-1303.AWSDNS-34.ORG
   Name Server: NS-1580.AWSDNS-05.CO.UK
   Name Server: NS-161.AWSDNS-20.COM
   Name Server: NS-671.AWSDNS-19.NET
   DNSSEC: unsigned
   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/


[+] Completed in 0:00:00.257780

[+] Exported : /home/htb-ac-643601/.local/share/finalrecon/dumps/fr_inlanefreight.com_11-06-2024_11:07:59