Dentro de las fases de un
Test de Intrusión o
Pentesting sobre una infraestructura, encontramos la
recopilación de información. Esta fase consiste en obtener desde diferentes fuentes información valiosa sobre el objetivo que se va a auditar.
Este punto, aunque mucho los subestiman, es el más importante, ya que toda la información que se obtiene de esta fase va a ser el hilo conductor para los siguientes pasos.
Por otro lado, muchos de los objetivos que se van a auditar tiene una presencia en Internet, tienen servicios asociados, distintos dominios y este es el punto de inicio para comenzar a recopilar información.
 |
Figura 1: DNS, Domain Name Servers |
Si tienen presencia en Internet, cuentan con dominios y allí se pude desprender toda la información de servicios que el objetivo está brindando.
Es sabido que además los servidores de
DNS no tienden a ser bien configurados, permitiendo en varios casos realizar consultas de transferencias de zona sobre determinadas peticiones y obtener más información de lo necesario.
Obtener información con dnsenum
De esta manera es que me recomendaron la herramienta
dnsenum para aprovechar que mucha de la información que se requiere para iniciar una investigación.
dnsenum es una herramienta de línea de comandos escrita en
Perl, con el objetivo de obtener la mayor información posible de los dominios especificados.
Se pude obtener dnsenum desde su repositorio en
GitHub y clonarlo en local de la siguiente manera:
$ git clone https://github.com/fwaeytens/dnsenum.git
Alguna de las opciones que se puede obtener, son las siguientes:
$ perl dnsenum.pl -h
 |
Figura 2: Opciones para la herramienta dnsenum |
Una opción que más me gustó es la posibilidad de otorgar un archivo como diccionario (
-f,
--file ) para realizar Fuerza Bruta y obtener más dominio ocultos o pocos visibles, como es el caso del archivo que incluye llamado
dns.txt.
El resultado de dnsenum es un conjunto de dominios, NS, servidores de correo MX, Servidores de Mensajería, Servidores webs, muchas direcciones IP junto a sus rangos asignados y sin duda lo más importante, un buen punto de inicio para la siguiente fase.
Conclusiones
Es muy importante tener un panorama global de toda la infraestructura, muchas veces se intenta atacar o buscar vulnerabilidades directamente a servidores de Bases de Datos o aplicaciones web, cuando posiblemente la clave esté en "pivotar" dentro de la infraestructura por medio de servidores que no son tan importante pero que pueden llegar a tener los permisos necesarios para acceder a los más críticos.
Para ello, es necesario contar con información previa y una gran capacidad de inferencia para entender como está conformado los esquemas de servidores y otras conexiones.