BlogWonderHowTo

Cómo: descubrir subdominios ocultos para revelar servicios internos con CT-Exposer

La mayoría de las empresas tienen servicios como portales de inicio de sesión de empleados, subdominios solo internos y servidores de prueba que preferirían mantener privados. Los equipos rojos y los piratas informáticos de sombrero blanco pueden encontrar estos servicios oscuros y, a menudo, vulnerables mediante una herramienta diseñada para ayudar a proteger a los usuarios de certificados fraudulentos.

¿Qué es un registro de confianza de certificados?

Los certificados son emitidos a empresas que operan servicios en línea por una autoridad de certificación para proteger a los usuarios de ser dirigidos a sitios web fraudulentos. En 2011, las limitaciones en la capacidad de los certificados para proteger a los usuarios se demostraron mediante ataques contra las empresas de autoridad de certificación Comodo y DigiNotar. Debido a que llevó mucho tiempo descubrir los certificados fraudulentos, se crearon registros de confianza de certificados para brindar una mayor transparencia a los usuarios.

Facebook ha utilizado registros de CT para descubrir certificados TLS emitidos incorrectamente y evitar que se utilicen para interceptar el tráfico HTTPS. Este éxito los impulsó a lanzar un Herramienta de registro de CT para el público, con la capacidad de “suscribirse” a un dominio para ver rápidamente los certificados emitidos.

Irónicamente, el lanzamiento de esta herramienta condujo directamente a varios informes de recompensas de errores en los que se descubrieron servidores de prueba de Facebook que no tenían las mismas verificaciones de permisos que los servidores de producción, lo que podría conducir a un acceso gratuito a todo tipo de información. Esto ilustra perfectamente cómo los registros de confianza de CT pueden revelar una cantidad no intencionada de información en la empresa mientras se intenta detectar dominios mediante certificados fraudulentos.

Los subdominios ocultos pueden revelar páginas ocultas como inicios de sesión de empleados, aplicaciones web en uso, dominios solo internos que solo se pueden visitar desde un DNS interno y dominios antiguos o eliminados. Mientras podamos usar Herramienta de monitoreo de CT de Facebook en línea para encontrar subdominios ocultos, usaremos una herramienta local para mayor anonimato. Se llama CT-exposer, un escáner Python OSINT que es fácil de ejecutar en cualquier plataforma. No nos mostrará muchos datos como lo hace la herramienta de Facebook, ni proporcionará tantos resultados, pero la información es mucho más fácil de leer.

Lo que necesitarás

Para comenzar a usar CT-exposer, deberá asegurarse de que Python3 esté instalado en su computadora. Si no lo tiene, puede descargarlo del Python.org sitio web. Una vez que haya instalado Python, puede asegurarse de tener la versión correcta escribiendo python3 en una ventana de terminal. Si la salida es similar a la siguiente, debería estar bien. Puedes escribir renunciar() después de >>> para salir.

python3

Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28)
[GCC 4.2.1 (Apple Inc. build 6996) (dot 3)] on husker
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

Si está ejecutando Kali Linux, asegúrese de actualizar y actualizar su sistema también con los siguientes comandos.

apt update
apt upgrade

Paso 1: Requisitos de descarga e instalación

Con Python instalado y su sistema completamente actualizado, puede comenzar navegando a la Página de GitHub para CT-exposer. Una vez allí, copie la URL debajo del botón de clonación o descarga y ejecute el clon de git comando en una ventana de terminal, como tal:

git clone https://github.com/chris408/ct-exposer.git

Una vez que los archivos terminen de descargarse, cambie los directorios a root, CD hacia ct-exposer carpeta, luego instale los requisitos, así:

cd ct-exposer
sudo pip3 install -r requirements.txt

Una vez instalados los requisitos, ¡debería estar listo para comenzar!

Paso 2: seleccione el dominio y ejecute el análisis

Para comenzar a explorar lo que pueden revelar los registros de CT, tome un dominio de prueba y vea qué información se puede revelar desde la perspectiva de un atacante. Para empezar, pruebe priceline.com.

La URL principal de esta tontería es priceline.com, así que ejecute CT-exposer en la URL para ver qué puede encontrar. Asegúrese de estar en la carpeta ct-exposer. Una vez que esté en la carpeta ct-exposer, puede ejecutar el siguiente comando para escanear los registros de confianza del certificado para el priceline.com dominio.

python3 ct-exposer.py -d priceline.com

Paso 3: Analice e interprete el escaneo

En el resultado a continuación, vemos los resultados del escaneo de priceline.com. ¡Guau! Hay muchos resultados, pero ¿cómo podrían ser útiles?

sudo python3 ct-exposer.py -d priceline.com

[+]: Downloading domain list...
[+]: Download of domain list complete.
[+]: Parsed 33 domain(s) from list.

[+]: Domains found:
23.23.126.26	admin.groupcommerce.com
178.250.2.116	app-install.priceline.com
35.241.46.146	appinstall.priceline.com
64.6.22.95	bomgar.corp.priceline.com
161.47.16.153	careers.priceline.com
209.202.133.98	cruises.priceline.com
64.6.22.95	dealreveal.corp.priceline.com
69.195.35.215	enet.qahotelportal.priceline.com
151.101.196.65	g.ssl.fastly.net
185.28.222.22	h.priceline.com
185.28.222.21	hsecure.priceline.com
64.6.22.100	mail.corp.priceline.com
104.196.14.36	media.priceline.com
64.6.22.95	phantom.corp.priceline.com
104.131.82.197	picme.priceline.com
151.101.196.204	priceline.map.fastly.net
69.195.35.246	qahotelportal.priceline.com
64.6.22.95	splunkes.corp.priceline.com
64.6.22.95	ssh.corp.priceline.com
69.195.35.226	travela.a1.qa.priceline.com
64.6.21.26	travela.priceline.com
69.195.35.166	www.a1.dev.priceline.com
69.195.35.245	www.a1.qa.priceline.com
64.6.23.56	www.a309.corp.priceline.com
69.195.35.167	www.b1.dev.priceline.com
151.101.130.186	www.priceline.com
69.195.35.143	www.qaa.priceline.com

[+]: Domains with no DNS record:
none	enet.hotelportal.priceline.com
none	fs.corp.priceline.com
none	pcln04.corp.priceline.com
none	rsecure.priceline.com
none	secure.priceline.com

Ejemplo 1: subdominios con DNS que no se resuelven

Puede intentar navegar a los distintos subdominios que aparecen. Si no se resuelven, puede tener uno de varios significados.

Vea lo que sucede cuando intenta acceder a un servicio interno, ya que en un servicio debe estar conectado a un servidor DNS interno para acceder. Por ejemplo, si intenta navegar a mail.corp.priceline.com desde su navegador web, se encuentra con lo siguiente.

Esto es diferente de lo que ve cuando la página a la que intenta acceder no existe. Esto existe, simplemente no puede verlo en un servidor público. Para un equipo rojo o un atacante, se acaba de descubrir una pieza de infraestructura interna. Un simple Nmap mostrará un servidor Microsoft-IIS / 8.5 ubicado en esa dirección.

Ejemplo 2: Subdominios con DNS que sí se resuelven (1)

Algunos subdominios se resuelven y no son tan secretos en absoluto. Sin embargo, para un atacante, saber esto puede permitirle hacer un pase temprano para explorar una posible vía de ataque.

Por ejemplo, ve un subdominio de carreras en careers.priceline.com. Como atacante, acabo de aprender qué tipo de currículum necesito copiar y colocar en estas ofertas de trabajo para llamar la atención de un empleado de recursos humanos en Priceline. Tal vez incluso pueda hacer que abran un currículum en PDF con un exploit, pero incluso si usan una empresa de contratación externa, puedo aprender sobre las ubicaciones físicas desde las que operan y el tipo de sistemas que usan leyendo cuidadosamente los requisitos del trabajo.

Ejemplo 3: Subdominios con DNS que sí se resuelven (2)

Al seguir las rutas de exploración del subdominio, puede continuar descubriendo subdominios donde se resuelve el DNS. Otro ejemplo, h.priceline.com, que se resuelve en un sitio web inseguro con una fecha de copyright muy antigua. La página habla de un montón de servicios que ya no ofrecen ni anuncian.

Ejemplo 4: Subdominios con DNS que sí se resuelven (3)

Similar, media.priceline.com realmente se resuelve, esta vez a un sitio web seguro que usa HTTPS para la prensa como yo, pero también se actualizó por última vez en 2014. Estoy seguro de que nada ha cambiado desde entonces.

Ejemplo 5: Subdominios con DNS que sí se resuelven (4)

En algunos casos, la seguridad de la capa de transporte se romperá y recibirá una gran advertencia como la que se muestra a continuación cuando intente resolver picme.priceline.com, por ejemplo.

Si lo ignora y continúa, puede ver que todo el servidor está roto, dando un mensaje de error con más información al respecto. (Vaya, gracias por la información innecesaria).

Como puede ver, hay un servidor Apache 2.4.18 en un Ubuntu en el puerto 443. Hmm, eso parece un poco viejo. Continúe y busque en Google eso exactamente para ver si podría haber algo mal. Seguramente la fortaleza de la información que es priceline.com no podría estar exponiendo un servidor antiguo y vulnerable a Internet.

Ay Dios mío. Hay 16 vulnerabilidades diferentes. En este caso, podría seguir adelante, asumiendo que esto está tan plagado de problemas que probablemente sea un honeypot. ¿No te sentirías mal pateando a esta pobre criatura?

Ejemplo 6: Subdominios con DNS que sí se resuelven (5)

Por último, está la joya de la corona del descubrimiento: el inicio de sesión de los empleados y los puntos finales de la aplicación. Estos abrevaderos son donde puede aprender sobre la seguridad de sus objetivos e intentar obtener contraseñas. Por ejemplo, cuando intenta resolver phantom.corp.priceline.com, se le da la bienvenida con la siguiente página desafiante para iniciar sesión.

Entonces, ¿esto significa que Priceline está ejecutando una corporación fantasma? Puede parecerlo, pero, de hecho, estos son solo puntos finales para cosas como el correo electrónico, los inicios de sesión del hotel y otros servicios a los que los empleados acceden desde fuera de la red de Priceline.

Aquí, las dos cosas importantes que puede aprender son que Priceline usa okta.com para la autenticación y requiere autenticación de dos factores a través de la seguridad “Duo”.

Si yo fuera un atacante, ahora sé que los empleados reciben una notificación automática cada vez que inician sesión en un recurso de la empresa en un dispositivo nuevo. Esto significa que capturar nombres de usuario y contraseñas es inútil sin capturar también esta capa de autenticación.

Ejemplo 7: subdominios sin registro DNS

También es probable que tenga varios dominios que no tengan registro DNS. Esto significa que no puede navegar hasta ellos porque no existe una ruta conocida en la Internet pública. Entonces, ¿qué significa esto?

[+]: Domains with no DNS record:
none	enet.hotelportal.priceline.com
none	fs.corp.priceline.com
none	pcln04.corp.priceline.com
none	rsecure.priceline.com
none	secure.priceline.com

Esto significa que son atendidos por un servidor DNS interno o requieren que inicie sesión en una VPN para acceder. Esto hace que estos subdominios sean algunos de los más interesantes de todos, ya que representan superficies de ataque internas a las que aún no tiene acceso. También actúan como información de orientación para sus ataques iniciales y una forma potencial de engañar a los empleados para que piensen que están en una red privada cuando en realidad están en una pública.

Si fuera un atacante o un equipo rojo, comenzaría a comprar dominios de phishing que fueran similares a los que se ven aquí, como secure.pricleine.com para intentar engañar a los empleados haciéndoles pensar que estaban iniciando sesión en un servicio interno.

El abuso de los registros de confianza de certificados puede revelar información oculta

Con un comando breve, un atacante puede echar un vistazo a las superficies objetivo disponibles y determinar el mejor método de ataque. En nuestro ejemplo, pudo evaluar las superficies objetivo internas y externas, evaluar la seguridad a nivel de empleado individual en la empresa e identificar diferentes departamentos internos, como la contratación, que pueden tener estándares de seguridad más laxos. También pudo encontrar dominios antiguos, internos y completamente vulnerables simplemente navegando a las URL para las que encontró los registros de CT.

Lo que un hacker podría aprender de esto es que el reconocimiento es una habilidad crítica que no tiene por qué ser un esfuerzo que consuma mucho tiempo. Si bien CT-exposer debe ser solo una herramienta en su arsenal, puede aprender sobre la estructura de la presencia en línea de una empresa con relativa facilidad antes de elegir el objetivo perfecto.

¡Espero que haya disfrutado de esta guía sobre el uso de CT-exposer para recopilar datos OSINT en un dominio de destino! Si tiene alguna pregunta sobre este tutorial sobre CT-exposer o tiene un comentario, no dude en comunicarse conmigo en los comentarios a continuación o en Twitter @KodyKinzie.

Foto de portada y capturas de pantalla de Kody / Null Byte

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar