3.2.1. Consultas WHOIS: ASN, IP, Domain Lookup
Consultas WHOIS
WHOIS es un sistema público y gratuito implementado por la ICANN y sus órganos dependientes (IANA y sus organismos regionales continentales y los operadores NIC para registros de dominios) cuyo objetivo es mantener una base de datos internacional sobre la propiedad de los dominios registrados y direcciones IP. El objetivo principal es garantizar el orden y evitar disputas acerca de la propiedad de estos elementos, así como también disponer de información de los propietarios y registradores para diferentes fines (controlar el mal uso, etc.).
En este sistema intervienen diferentes elementos y sujetos que se van a resumir a continuación sin entrar en detalles. WHOIS a nivel técnico es un servicio a través del cual un host proporciona la información de los dominios e IP contenida en unas tablas. Este servicio se habilita de forma estándar en el puerto 43. Para acceder a esta información, es necesario disponer de un software cliente, aunque en la actualidad existen una infinidad de aplicaciones web que también realizan este servicio (se verán más abajo).
Antes de proporcionar más datos sobre la información que proporciona este servicio, hay que comentar que en la actualidad, a pesar de las indicaciones de la ICANN sobre este sistema (https://whois.icann.org/es/acerca-de-whois), este puede parecer algo caótico y la información mostrada por terceros puede variar según el territorio y servidor por los siguientes motivos:
- Sistema no centralizado:
- Los datos WHOIS se almacenan en diferentes servidores. Aunque los organismos de registros regionales (NIC) han de tener la información actualizada y completa en sus servidores para su zona geográfica, existen otros tantos servidores de compañías que almacenan esta información. Es por ello que en función del sitio en donde vaya a realizarse la consulta, la información resultante podría variar.
- Periódicamente se elaboran listas de los servidores WHOIS principales por ámbito nacional y geográfico. Sin entrar en detalles, la organización del sistema WHOIS resulta similar al sistema DNS en cuanto al registro para los dominios de nivel superior (TLD). Además, los servidores WHOIS también almacenan información sobre otros servidores WHOIS para cuando no disponen información para una IP o dominio, teniendo que consultar a estos de forma secundaria.
- Privacidad:
- En los referente a registros de nombres de dominio, la normativa WHOIS de la ICANN indica claramente que deben contener información que podría considerarse sensible como son nombres completos e información de contacto (mail, teléfono) del propietario y administrador del dominio. No obstante, existen diferentes sistemas de privacidad a través del cual el propietario puede indicar que no se revelen estos datos (aparecerán en blanco) o bien se usan los datos del vendedor del dominio a través de un sistema de representación (para ser exacto, el proveedor registra el nombre de dominio a su nombre y otorga una licencia de uso a su cliente).
- Hay que considerar la legislación de cada país en cuanto a la privacidad de datos. En España, el Reglamento General de Protección de Datos (RGPD) es taxativo en cuanto a la no publicación de datos personales, sobre todo en lo referente a personas físicas.
- Comercialización de dominios e IP:
- Como en otros tantos elementos de Internet, el componente comercial es un lugar común a la hora de adquirir nombres de dominios específicos para obtener una determinada visibilidad, o bien la venta de rangos de IP públicas entre operadores debido a la escasez de estas.
- Existen actores que actúan como mediadores y de compraventa y arrendamiento de dominios e IP, y aunque estas prácticas representa que están reguladas por la normativa de la ICANN, en ocasiones la información resultante puede resultar confusa por la acción de estos agentes.
A la hora de realizar consultas WHOIS hay que tener claro que los registros de nombres de dominio e IP funcionan de forma completamente independiente y que la información mostrada es también diferente. Mientras que los nombres de dominio son registrados por entidades habilitadas (Registradores) que deben cumplir una serie de normas, los bloques CIDR de IP se asignan por la IANA y los Organismos Regionales de Internet a los operadores e IPS y estos a su vez a Sistemas Autónomos debidamente identificados. Un esquema de esta información:
Excepto si el servicio utilizado para hacer una consulta WHOIS incorpora mecanismos de APIs para hacer traducciones de dominios a IP y viceversa (usual en aplicaciones web), esta información de traducción no debería servir de referencia, además puede resultar confusa (una consulta sobre un dominio que devuelve la IP de un servidor intermedio o de un router, de acuerdo a la configuración DNS y los registros de alias del fichero de zona, etc.). Así pues, a la hora de realizar peticiones se recomienda usar solo la IP de un host o router y para los nombres de dominio el dominio de nivel superior y el secundario inmediato (midominio.tld, no el del servidor web por ejemplo: www.midominio.tld). Para tener una información completa, es recomendable efectuar también operaciones de DNS Lookup sobre los servidores DNS y trazados de ruta.
A continuación, dos ejemplos de consulta WHOIS para el dominio youtube.com y la IP asociada al servidor web www.youtube.com:
3.2.1.1. Consultas WHOIS web
Existen diferentes aplicaciones web que proporcionan acceso a consultas WHOIS. Muchas de ellas pertenecen a empresas de hosting y venta de dominios para que sus clientes puedan consultar información sobre la disponibilidad de un dominio.
En todo caso, a continuación se ofrece un listado de aplicaciones web para WHOIS. La forma en que presentan y requieren la información puede variar en función del diseño, además hay que tener en cuenta que algunas presentas servicios adicionales que van más allá de WHOIS:
3.2.1.2. Consultas WHOIS Kali Linux
En este epígrafe se va a profundizar sobre el concepto de las consultas WHOIS a través del software cliente que incorporan los sistemas basados en Linux como Kali Linux. En caso de no estar incorporado, puede obtenerse a través de los repositorios de Debian con el siguiente comando de instalación:
sudo apt-get update && apt-get install whois
Para ver las opciones en línea de comandos (parámetros) de este software se ejecuta la siguiente secuencia:
whois --help
El comando más simple permite realizar una consulta WHOIS a un determinado servidor (en función de si dominio o IP-ASN) con el siguiente comando (los parámetros no son obligatorios):
whois
Este software es especialmente potente para hacer Lookup de IP y Sistemas Autónomos y personalizar los resultados obtenidos (más que en los datos de una aplicación web, donde la información mostrada ya viene predefinida). En la ilustración anterior se han señalizado algunas de las opciones de ajustes a través de parámetros que permiten lo siguiente (se verán ejemplos en los siguientes epígrafes):
Parámetro | Descripción |
-h <HOST> | Permite conectarse a un servidor WHOIS específico (whois.dominioempresa.tld) para realizar una consulta. Algunas entidades mantienen servidores con sus bases de datos con funciones específicas para establecer búsquedas de información muy determinada. |
-I | Añade una cabecera con la información de las tablas WHOIS de la IANA. Para consultas de IP-ASN permite obtener información del bloque AS al que pertenece un Número de Sistema Autónomo. |
-i <atributo> <valor> | Permite realizar consultas inversas sobre determinados campos de la base de datos WHOIS que mantiene el organismo regional de internet RIPE (Europa). |
3.2.1.2.1. Consultas WHOIS sobre dominios
La información proporcionada por una consulta WHOIS sobre un dominio puede ser interesante para obtener datos de contacto de un propietario y los servidores DNS primarios del dominio, aunque no resulta tan interesante en cuanto a no poder obtener una imagen aproximada de la estructura de la red y sus nodos de acceso público, algo que sí proporciona el Lookup de IP-ASN.
El sistema de consultas WHOIS sobre dominios está descentralizado y está sustentando por los organismos nacionales y regionales encargados de administrador las zonas de dominio de nivel superior (TLD, del inglés Top Level Domain), es decir, los NIC e InterNIC. Cada uno de estos organismos NIC (suele ser una empresa pública cuando son dominios asociados a un país) se encarga de mantener la base de datos WHOIS para la cual tienen potestad a través de la información que proporcionan los registradores de dominios.
Hay que añadir a esta infraestructura la información WHOIS de nivel superior (servidores DNS raiz y responsable de NIC) que proporciona el organismo supranacional de la IANA y los servidores WHOIS de acceso público que tienen algunas corporaciones, que tienen información propia o suelen recurrir a la información que contienen los servidores WHOIS TLD regionales.
Con el software cliente de Kali Linux, al realizar la consulta whois <domain> proporcionará información del servidor WHOIS potestativo del TLD. En este ejemplo que se muestra, se ha usado el dominio youtube.it:
Entre la información principal se encuentra datos del registrador, el registrante (podría ser una empresa de compra-venta de dominios o una persona física o jurídica propietaria) y los servidores DNS primarios. No obstante, como ya se ha mencionado, el sistema WHOIS para dominios está descentralizado y cada organismo NIC encargado de la gestión sobre sus dominios proporcionará información de acuerdo a su normativa interna. Aunque la IANA en principio define unas pautas para la publicación de la información, normalmente los sistemas legislativos de cada país o región son más o menos restrictivos en cuanto a la publicación de información sensible.
En la web de la IANA se pueden consultar cuáles son los organismos gestores para cada zona de dominio superior y la información acerca de los servidores raiz que redirigen a esta zona de dominio y el servidor WHOIS (https://www.iana.org/domains/root/db). Para el TLD de Italia (.it):
La IANA proporciona información sobre la organización NIC de Italia, en este caso The Registro .it (empresa pública). Una consulta WHOIS en la página principal de este organismo arroja la misma información que la consulta con el cliente de Kali Linux (como es de esperar):
Cada organización TLD tiene su propia normativa en cuanto a privacidad de datos, así que la información disponible en cada servidor WHOIS de los TLD puede variar significativamente o incluso directamente no tener servicio público, como en el caso de España, que es enormemente restrictiva. Una consulta de un dominio español proporciona esta información:
3.2.1.2.2. Consultas WHOIS sobre IP-ASN
Las consultas WHOIS sobre IP y Sistemas Autónomos (AS o ASN cuando se refiere a su número) proporcionan información sobre la infraestructura lógica de la red de un operador de Internet y sus clientes y lo que es más importante, permite obtener un rango de IP Públicas que pueden pertenecer a un determinado host o router y por lo tanto ser objeto de escaneo de puertos y vulnerabilidades y posterior explotación.
La información WHOIS sobre IP-ASN la proporcionan la IANA y los Registros Regionales de Internet (RIR), pues tienen el negocio de la organización y asignación de IP Públicas a nivel mundial. Los RIRs se encargan de añadir información en detalle sobre los ASN y los bloques de IP asociados que ceden a una Organización. Cada RIR maneja una extensa base de datos para WHOIS bajo las directrices de la IANA.
El siguiente diagrama resume el sistema:
- La IANA tiene en posesión bloques de Sistemas Autónomos (ASNNNN – ASXXXX). Cada Sistema autónomo posee un rango de IP Públicos y detalle para uso del protocolo EGP. Existen rangos de números de AS que están reservados.
- La IANA transfiere los AS a un RIR. El RIR (p. ej.: RIPE que es de ámbito europeo-asiático) asigna los AS a una Organización (operador, IPS…) después de unos trámites. Esta Organización dispondrá de varios bloques IP que podrá administrar creando diferentes subredes y destinando las IP a los servicios que considere. RIPE incluirá toda esta información en su base de datos WHOIS.
La información de una sola IP o ASN no proporciona demasiada información. No obstante, el cliente Kali Linux permite realizar consultas inversas sobre el servidor WHOIS de RIPE, permitiendo recopilar mucha información. La base de datos de RIPE se organiza a través de objetos que son principalmente rangos de IP, bloques IP (CIDR) y ASN. Cada uno de estos objetos tiene información relevante (atributos) como el nombre del bloque o del sistema autónomo, y lo que es más importante, quien es la Organización Responsable, que está identificada de forma unívoca en estos objetos mediante un atributo (org o mnt-by). Puede consultarse la información sobre la distribución de la base de datos de RIPE en: https://www.ripe.net/manage-ips-and-asns/db
La secuencia para línea de comandos básico del cliente Kali Linux es la siguiente (se añade el parámetro -I para obtener información del servidor WHOIS de IANA, aunque es opcional):
whois -I < 'IP' | 'AS[number]' >
En el siguiente ejemplo se realiza una consulta sobre una IP obtenida de un servidor web con el objetivo de conseguir algún dato relevante sobre el AS y la Organización que hay detrás. Después de la información que proporciona la IANA (ALLOCATED: En uso), existen dos bloques de información que se corresponden a objetos. El rango de red IP (inetnum: 31.3.144.0 – 31.3.144.0) y el bloque CIRD de IP (route: 31.3.144.0/22). Se observa que para cada objeto hay diferente información descriptiva como el nombre de red y bloque (netname y descr respectivamente) y que para el bloque CIDR también hay información del sistema autónomo al que pertenece la IP (origin). También en ambos bloques está información sobre direcciones, responsable, fechas, etc., teniendo en común el atributo mnt-by, que identifica con un código el mantenedor de esta información (es decir, la Organización).
A partir del dato origin, que identifica el AS al que pertenece la IP, se puede realizar una consulta WHOIS sobre este para obtener más información. En este caso, se obtiene información sobre el bloque AS (as-block) al que pertenece el AS, el número y nombre del AS (aut-num y as-name respectivamente), el código de la Organización (org) y hasta las conexiones peers entrantes y salientes con otros AS (import y export). De nuevo, vuelve a mostrarse el mantenedor (mnt-by).
Con esta información, es el momento de sacar todo el rendimiento a esta aplicación cliente a partir de las consultas inversas a la BBDD WHOIS de RIPE. Las consultas inversas se realizan con el parámetro -i seguido de un atributo. No todos los atributos permiten realizar consultas inversas, aunque para obtener la información sustanciosa es suficiente con el dato del Mantenedor (mnt-by) u Organización (org), siendo el primero un atributo común a los objetos principales. La secuencia sería:
whois –I < mnt-by | org >
La información que suele obtenerse puede resultar abrumadora si la organización es responsable de más de un sistema autónomo. El resultado obtenido proporciona toda la información de la información de los tres objetos principales ya mencionados:
No obstante, a la línea de comando principal de consulta inversa, se le pueden añadir filtros de los campos más interesantes de los objetos (inetnum, netname, aut-num, as-name…) y efectuar funciones de agrupación y sacar las descripciones incluyendo los siguientes parámetros:
whois -i < mnt-by | org > valor | grep valor_filtro | sort -u | awk -F\: '{ print $2 }'
A continuación algunos ejemplos con diferentes filtros y usando mnt-by para la consulta inversa:
whois -i mnt-by | grep aut-num | sort -u | awk -F\: '{ print $2 }'
whois -i mnt-by | grep as-name | awk -F\: '{ print $2 }'
whois -i mnt-by | grep inetnum | awk -F\: '{ print $2 }'
whois -i mnt-by | grep netname | sort -u | awk -F\: '{ print $2 }'
whois -i mnt-by | grep route | awk -F\: '{ print $2 }'
La información a usar para realizar el escaneo de puertos y vulnerabilidades es obvio que vendrá dada por los rangos y bloques IP, la demás información es útil para contextualizar la red lógica de la organización:
Esta información a través de la consola resulta útil porqué se puede guardar en un formato TXT y emplear de forma directa con las aplicaciones de escaneo, no teniéndose que centrar en una sola IP a la hora de realizar el análisis. No obstante, existen servicios proporcionados por aplicaciones web que a través de APIs permiten obtener la información de forma gráfica y amigable. Además, estas aplicaciones tienen módulos que permiten rastrear información de dominios asociados a la IP, AS relacionados, etc.
Se había comentado también que este cliente permite conectarse a servidores WHOIS públicos mediante el parámetro –h. A continuación una muestra con el WHOIS de la organización Team Cymru (https://team-cymru.com/community-services/ip-asn-mapping/ para más instrucciones e información):
whois -h "-v < IP | ASN >"