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 ¿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
- Yahoo
Será contestada por las direcciones IP especificadas en el fichero de configuración.
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