FakeDNS

Vamos a ir publicando aquí en DragonJAR diferentes artículos relacionados con el FakeDNS y es que los usos que se le pueden dar son variados.

FakeDNS

Índice

FakeDNS ¿Qué entendemos por DNS?

Pues entendemos como DNS aquel servicio que utiliza una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet.

Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.

Peticiones de una máquina infectada

Ahora nos ponemos en la situación de que queremos ver que peticiones DNS realiza una máquina infectada.

Sabemos que esta máquina realiza peticiones contra ciertos dominios, lo que queremos hacer es ver que hace la muestra cuando no puede resolver ninguno de sus dominios.

Existen varios scripts y escenarios que nos ayudarán en ello, aquí usaremos un script en python de fakedns, basado en un archivo de configuración.

Bajamos del repositorio de github los archivos necesarios

darkmac:malware marc$ git clone https://github.com/Crypt0s/FakeDns.git
Cloning into 'FakeDns'...
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 18 (delta 3), reused 15 (delta 2)
Unpacking objects: 100% (18/18), done

Para usar dicho script no necesitaremos configurar muchas cosas, miramos el archivo de configuración:

darkmac:FakeDns marc$ cat dns.conf
google.* 127.0.0.1
yahoo.* 9.9.9.9
facebook.* 4.4.4.4

El archivo de configuración ya viene preconfigurado para unos dominios en concreto.

Ejecutamos FakeDNS en nuestro entorno controlado, cualquier petición DNS a los dominios

  • Google
  • Yahoo
  • Facebook

Será contestada por las direcciones IP especificadas en el fichero de configuración.

google_dns

FakeDNS, como podeis comprobar hay solicitudes que si que han hecho match con las del fichero de configuración, pero hay otras solicitudes que no estaban en el fichero de configuración por lo tanto serán tratadas como se tratarían normalmente.

Uso de un Script en python

Para usar este script en python podemos ir al repositorio en GitHub:

https://github.com/Crypt0s/FakeDns

Subir