Press "Enter" to skip to content

Hacking de Infraestructura: Protocolo WHOIS

¿Alguna vez has utilizado el comando whois? En este post te hablaré sobre como utilizar este comando para obtener información, además de darte detalles sobre el protocolo whois y comentarte alguna vulnerabilidad que he encontrado en este protocolo. 

Este comando te proporciona información sobre un dominio en concreto. Antes de explicar nada, veamos un ejemplo sencillo con mi propia web:

Como puedes comprobar, aparece informaci´on sobre mi dominio, así como sobre el servidor de hosting que utilizo, dinahosting. Si lo pruebas tu mismo, comprobarás que no hay mucha información. A pesar de que anteriormente en este protocolo se podía encontrar información muy interesante a la hora de recopilar información sobre un objetivo, actualmente la información es mucho más escasa debido a que la mayoría de dominios están protegidos por la ley de protección de datos.

No obstante, aún es posible utilizar este protocolo para obtener información. Además, la cantidad de información que se puede obtener depende mucho de cómo se configure en el servidor:

 Pero veamos un poco más sobre este protocolo.

Este protocolo almacena y provee contenido de una base de datos en un formato legible. Puede contener información de usuarios registrados, o de recursos asignados de internet como el nombre de dominio o la dirección ip

El protocolo whois corre en el puerto 43.

Nmap

Veamos como se muestra este protocolo cuando lo encontramos con nmap:

Nos está dando información del nombre de dominio, supersechosting.htb, y nos indica que está corriendo MariaDB, una base de datos SQL, versión 10.1.37 

En este caso en el que un servidor tiene un puerto abierto con el protocolo whois corriendo, el primer paso es conectarnos con netcat o telnet.

Conexión con Netcat

 

Podemos preguntar en primer lugar por el nombre de dominio que hemos descubierto:

Como podemos observar, nos da la información del servidor que obtendríamos con el comando whois.

SQL Injection en protocolo whois

Si introducimos cualquier cosa, la query devuelve 0 objetos, o sea que efectivamente está realizando queries a una base de datos

Al saber que está ejecutandose la base de datos MariaDB (que es una version de MySQL), vamos a intentar efectuar una SQL Injection poniendo una sola comilla:

Efectivamente, es vulnerable a SQL Injection, con lo que podemos proceder a realizar un ataque SQLi. A continuación te muestro los resultados finales del ataque. Si quieres saber más sobre como ejecutar con éxito un ataque de inyección SQL, te recomiendo que mires este post.

Como puedes ver en la imagen, gracias a este ataque hemos descubierto los distintos nombres de dominio que podemos encontrar en ese host: supersechosting.htb, justanotherblog.htb, pwnhats.htb y rentahacker.htb.

Como he comentado ya describí en otro blog como ejecutar queries manuales, por lo que esta vez me centraré en mostrarte cómo automatizar esta inyección.

Si quiseramos emplear SQLMap para automatizar esta inyección no podríamos. Sin embargo, sí que podemos crear un pequeño script en php que nos sirva de intermediario entre SQLMap y el puerto 43:

El script simplemente recibe como parámetros una ip y un puerto y redirige al protocolo whois de la máquina víctima toda la información que escribamos en el parámetro “PleaseSuscribe” de la petición que queramos mandar

Ejecutamos el script pasando el puerto 80 de localhost:

Ahora mismo todo lo que mandemos por el puerto 80 de nuesro localhost se redirigirá al puerto 43 de la máquina vulnerble. Por lo que finalmente solo tenemos que ejecutar SQLMap indicando como url el puerto 80 del localhost y en la url indicamos como parámetro vulnerable el parámetro PleaseSuscribe. En la siguiente imagen puedes ver en la parte de abajo la ejecución de SQLMap y en la parte de arriba las peticiones que SQLMap va haciendo para encontrar la SQL Injection:

Y de esta forma podemos automatizar una SQL Injection al protocolo whois. Cabe destacar que con este mismo script podemos automatizar la inyección no solo a este protocolo sino a cualquier otro protocolo de infraestructura.

Espero que este post te haya gustado, te espero la semana que viene con otro protocolo realmente interesante: DNS.

Lethani.

Be First to Comment

    Deja una respuesta

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