Reconocimiento de subdominios de una página principal

14 Apr 2020 Mortal _Poison 0 WebApps

Una de las principales fases de un penetration testing es el reconocimiento. Y es que, sin este, no podremos conocer el panorama que nos espera. En muchos casos, un buen reconocimiento, es que el nos separa en la línea de entregar buenos resultados a entregar unos resultados con los que el cliente no estará satisfecho. Quiero que tengas en mente que el reconocimiento es la base del pentest. ¿Cuál es la diferencia de un pentester que encuentra vulnerabilidades críticas a un pentester que encuentra vulnerabilidades medias? además de la experiencia, es el reconocimiento. Admito que en muchos casos, yo también he encontrado fallas 'a la primera' y que eso puede ser buen indicio para continuar en las demás etapas. Pero ten presente algo, en lo particular, nunca dejo de hacer reconocimiento constante. Si es una aplicación web, reviso varias cosas, entre ellas: los inputs, las peticiones de cada formulario, formularios de subida, archivos basura(sí, aunque no lo creas, puedes encontrar información importante ahí), formularios de login, entre otras cosas.



Y es que, en muchos casos nos encontramos con escenarios un poco complejos. Desde portales que son proporcionados por IBM WebSphere (típicamente los portales wps), aplicaciones que son desplegadas por herramientas de desarrollo multiplataforma, entre otras. Sin embargo, si estamos en un Red Team o estamos haciendo Bug Bounty y el alcance no está limitado, podremos pasar a explorar subdominios que estén mal configurados respecto al servidor, que no hayan 'fixeado' vulnerabilidades conocidas o que bien, encontremos un nuevo vector de ataque. Por favor, ten presente lo del alcance, ya que si te sales del mismo, puedes incurrir en problemas legales y/o disgustos con el cliente.



Ahora bien, ¿qué hace falta para descubrir subdominios de una forma rápida, sencilla y eficaz? usar algunas tools y no reinventar la rueda.

 


  1. DNSDUMPSTER

        

     Por su fácil uso, los creadores de HackerTarget nos proporcionan la herramienta de DNSDUMPSTER. Nos permite encontrar los registros del dns del sitio objetivo para identificar el footprint de Internet de la misma. Esto te permitirá realizar descubrimientos de ataques más profundos y realizar evaluaciones de seguridad con más precisión.
            
        

    Para demostrar su uso, voy a poner "starbucks.com" en el input y posteriormente le daré en el botón de buscar.
       
        

     Y tenemos como opciones "DNS Servers", "MX Records", "TXT Records", "Host (A) Records" y "Domain Map".

     DNS Servers: Servidores DNS que ha podido encontrar. Junto con su localización y su dirección IP. En ciertas ocasiones, esto nos sirve para descubrir una IP real en caso de que queramos realizar otro tipo de ataques y un WAF(as-a-service) se     está anteponiendo como CloudFlare, Incapsula, Imperva, Akamai u otros.

     MX Records: Para los que no sepan, los dominios MX sirven para encontrar por dónde van los correos electrónicos. Les daré otro consejo, verifiquen siempre esto. Existen personas que no le prestan atención, y aunque CloudFlare esté bien configurado para otros dominios/subdominios, un error como estos, les puede dejar expuestos la IP. La razón, es simple. Para el envío de correos electrónicos, tienen que apuntar los registros A, AAA, CNAME, o MX al servidor original. Ahí es donde aprovechamos nosotros y obtenemos la IP real. Si quieren obtener más información, el mismo CloudFlare brinda información de ello aquí.

    TXT Records: 
    Mediante los registros de configuración del SPF (Sender Policy Framework) se pueden encontrar hosts adicionales. Si no conoces para qué sirve el SPF, en una definición rápida, es una protección contra la falsificación de direcciones de correo electrónico. Para eso también se usan protocolos que brindan protección de email spoofing, como DMARC.

    Host (A) Records: Información indexada mes a mes. Hagan de cuenta que indexa los hosts mediante crawling y otras técnicas en sus bases de datos y luego lo proporciona en DNSDUMPSTER. La forma de indexar es similar a la de Waybackmachine.

    Domain Map: Brinda la información de forma gráfica, mediante algunos trazos y los registros por los que pasa el host. 

    Una vez comprendido lo anterior, se pueden fijar en las siguientes capturas de pantalla la información que nos suministró del dominio "starbucks.com":

      
        
      

    Pueden pasar el puntero por cada botón y obtendrán la información para qué sirve. Por ejemplo, pueden obtener los headers del host. En algunos casos, les mostrará que no es posible conectarse al puerto HTTP y esto se debe, a que quizás ese subdominio ya lo eliminó la organización y/o bajó el webserver. En otros casos, sí obtienen los headers de respuesta como se puede evidenciar en la siguiente imagen:
        

        

    Finalmente, podremos descargar la lista en un .xlsx para posteriormente poder hacer filtros en la suite ofimática que más nos guste. Además de eso, nos ofrecen ver los gráficos gráficamente, para una mejor identificación.

        

        
        

    Una gran herramienta en linea, que nos proporciona diversa información de utilidad. Sin embargo, en ocasiones se queda corta y hay que recurrir a procesos manuales como GHDB(Google Hacking Database).

        
  2. SPYSE

    Antiguamente el sitio era "findsubdomains.com", pero resulta también de mucha utilidad. Sobre todo, porque su interfaz gráfica de usuario es muy intuitiva. Recientemente implementaron un contador de vulnerabilidades, algo que no estaba hace algún tiempo en este sitio. Para comenzar a encontrar información de nuestro objetivo, debemos seleccionar de la lista si es por dominio, ip, certificado, CIDR o AS. 

        
        
    En este caso, se volverá a proporcionar "starbucks.com" y se obtiene lo siguiente:

        

        
    Al lado izquierdo, encontramos casi que la misma información que encontrábamos en DNSDUMPSTER. En esta página, sí debemos registrarnos para revisar información como los registros MX,NS, entre otra información.
           
        

        
    El registro es algo rápido y no se tardan más de 3 minutos, al menos por ahora. La información que sí tenemos disponible son los subdominios por ejemplo:

        
           

    También hace crawling de links que podrían ser de nuestro interés, aunque la verdad es muy básico:
       

        

    Spyse posee planes, que actualmente son el Free, Estándar y Pro. Pueden ver más información. Es una herramienta útil, al menos con la información básica que nos brinda, podremos seguir con nuestro reconocimiento, quizás recopilando hosts que DNSDUMPSTER no nos reconoció.
          
  3. SecurityTrails

    Desde SecurityTrails podremos revisar una información histórica y lo han hecho muy bien. Por experiencia, les puedo decir que funciona con bastante rapidez y con bastante precisión. Podría decir, que mucho más que los servicios expuestos anteriormente. Para hacer la búsqueda, basta con poner el dominio o la IP en el campo.
        

        
        
    Nos brindará la información como los anteriores servicios, sin embargo, la opción más interesante es la de "Historical Data":
       

        

        
       
    ¿En qué consiste esta opción? muy sencillo, digamos que tienes el siguiente sitio web: ejemplo.com y la IP del servidor que lo hostea es la 98.00.000.000. Si tú pones en tu navegador ejemplo.com, hará la conversión de dns pero estarás accediendo a la 98.00.000.000. Pasan 2 años y dices:"deseo poner un WAF como CloudFlare, para que no se vea mi dirección IP real y se mitiguen muchos ataques". Adquieres el WAF, lo pones en tu sitio y todo va normal. Sin embargo, sitios como SecurityTrails ya han almacenado en su base de datos la dirección ip 98.00.000.000 que pertenece a ejemplo.com. Claro está, también almacenará la IP que CloudFlare te va a proporcionar. 
    Esa es una forma de extraer direcciones IPs directas o reales, mediante históricos de información.

        

        

    Si puedes observar, al presionar en "Historical Data", nos listará las direcciones IP con una lupa. Si damos click en esa lupa, podremos ver el histórico. En ese caso, nos aparecerán los DNS, haremos un ping en nuestra consola y voilà, obtendremos la dirección ip real. En este caso, en Starbucks no ha funcionado porque han renovado su pool de direcciones ip. 

Podemos realizar enumeración de subdominios de otras formas como lo mencioné anteriormente, mediante Dorks. También podremos verificar mediante herramientas que estaré mostrando en un próximo post, ya que nos automatizan mucho del trabajo que podríamos estar haciendo manual.


 

 

BY: Mortal _Poison

Noticias relacionadas

No hay comentarios todavía, Sé el primero en comentar.