Fran 🐝 Brizzolis

hace 7 años · 6 min. de lectura · ~100 ·

Blogging
>
Blog de Fran 🐝
>
DNS HiJacking: Cuando las cosas no son lo que parecen... ¡Y no lo sabemos!

DNS HiJacking: Cuando las cosas no son lo que parecen... ¡Y no lo sabemos!

BIS
HIJACKING



pret 4 12s wren
TURP y—

1.888.823-8381 io rome you is wt ty

Dr

Un problema digno de mención que se está dando últimamente es un extraño tipo de secuestro de DNS (DNS hijacking) que configura el equipo de la víctima para que utilice servidores DNS específicos.


El secuestro DNS consiste en que el proveedor de conexión a Internet (ISP) ofrezca un resultado con publicidad cuando se teclea en la barra de direcciones del navegador una dirección URL con un dominio inexistente.


Esta práctica la inició el proveedor de nombres de dominio Verisign a nivel mundial y tuvo que abandonarla por las presiones de ICANN.


Los DNS (Domain Name System) son servidores necesarios para nuestra forma de navegar. Son los encargados de convertir las direcciones que escribimos (www.google.com) en un número de IP reconocible para el sistema.


Entonces, estos exploit lo que hacen es infectar el router, cambiando los DNS por unos propios. Así, toda comunicación que se hace pasa por ellos, que pueden hacer lo que quieran, y devolver otra info a la computadora,  es algo así como un "man in the middle" pero para nuestros servidores DNS.


DNS Unlocker cambia la configuración de red para utilizar servidores DNS maliciosos.


Aunque pueda parecer poco interesante e incluso fácil de solucionar, ¿qué pasaría si te dijera que el DNS no es visible para el usuario? ¿Y si hubiera una manera de configurar entradas estáticas de DNS para que los servidores DNS primario y secundario no aparecieran en el orden previsto en la interfaz gráfica del usuario?


O peor aún, la configuración mostraría que estabas utilizando DHCP, como era de esperar, cuando no es así. Esto es exactamente lo que hace una reciente aplicación potencialmente no deseada (PUA) llamada DNS Unlocker, entre algunas otras amenazas.


DNS Unlocker cambia la configuración de red de la víctima para utilizar servidores DNS maliciosos. Cuando los navegadores de las víctimas buscan google-analytics.com, el servidor DNS falso apunta a un servidor malicioso que inyecta código JavaScript adicional. El propósito de DNS Unlocker es insertar anuncios publicitarios en las páginas web a través de Google Analytics.


Normalmente, el usuario del equipo afectado por DNS Unlocker verá la siguiente leyenda en la parte inferior de la publicidad: “Anuncios por DNSUnlocker” o algo similar, así como diversas variantes de ventanas emergentes de “estafas de soporte técnico”.


Areas org


Propet



Modificaciones en la configuración DNS


Los DNS hijackers (secuestradores de DNS) no son para nada nuevos, y en general ni siquiera vale la pena comentar estos casos. Lo que hace que estas versiones recientes de DNS Unlocker sean interesantes es la táctica que utilizan para cambiar la configuración DNS del equipo de la víctima sin ser detectados.


Al examinar las propiedades de TCP/IPv4 en Windows, uno esperaría que se muestren algunas entradas de DNS en la parte inferior de la ventana del Panel de control, como se aprecia en la Imagen 3. Si la opción “Usar las siguientes direcciones de servidor DNS” está seleccionada, debe haber siempre una dirección IP en el campo “Servidor DNS preferido” y, opcionalmente, podría haber otra en el campo “Servidor DNS alternativo”.


Sin embargo, si estás utilizando DHCP para obtener tus direcciones DNS (como en la mayoría de entornos domésticos y oficinas en el hogar), aparecerá seleccionada la opción “Obtener la dirección del servidor DNS automáticamente”.

 


Atreeate rt an

 

 
    
 

  

  

 

    

 

Niro SP reer SV

 

 

 

 

 

 

 

 

 

An rar

  
  

    

Ape friar dere oe

   

  

  

Are parent
£3 Ames =i -




La PUA (aplicación potencialmente no deseada), DNS Unlocker modifica las configuraciones DNS estáticas de sus víctimas de tal manera que el panel TCP/IPv4 mostrará que está obteniendo tu DNS automáticamente. De hecho, el comando “ipconfig/all” de la línea de comandos también indicará que se está usando DHCP; sin embargo, verás las direcciones DNS establecidas de forma estática.


Cuando se utiliza “ipconfig”, aunque puedas ver las direcciones DNS estáticas, no hay forma de asegurar si se está utilizando una dirección DNS estática o si se está obteniendo automáticamente; en la interfaz gráfica de usuario, sin embargo, aparece que estás utilizando una asignada automáticamente, cuando en realidad estás utilizando la dirección estática (que no se muestra).


¿Cómo puede ser que la interfaz gráfica del usuario no sea capaz de ver que estás usando un DNS estático? Para entenderlo, primero debemos analizar cómo Windows busca el DNS estático en el registro.



DNS en el registro de Windows…


En la siguiente ubicación en el registro de Windows:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\


Seguramente verás que hay configuraciones para varias interfaces de red, cada una identificada con un GUID. Los ajustes para cada adaptador de red diferente pueden contener valores DhcpNameServer y NameServer.


Lo que vamos a examinar ahora es el valor NameServer. Normalmente, si quieres utilizar un DNS estático, lo debes configurar en el Panel de control (o mediante el comando netsh) y las direcciones DNS estáticas se almacenarán en el valor de registro NameServer como una lista delimitada por comas, de la siguiente forma:


192.168.1.21,192.168.1.22


¿Qué pasa si, en cambio, se utiliza una lista delimitada por espacios?


192.168.1.21 192.168.1.22


Es un cambio pequeño y Windows aún será capaz de utilizar ambas direcciones de dominios: una como DNS primario y la otra como secundario. Sin embargo, la interfaz gráfica del usuario de Windows no muestra en la mitad inferior del Panel de control que el equipo está usando un DNS estático, como se ve en la Imagen 3. Lo que se muestra es que el equipo está utilizando DHCP para establecer tu DNS, cuando en realidad no es correcto.


Y lo más frustrante de todo es que, si estás trabajando con un cliente que a cada rato visualiza anuncios inyectados en los sitios web o lo redirigen constantemente durante la navegación, cuando decida probar ingresar los servidores DNS conocidos en forma manual en el Panel de control, notará que no soluciona el problema.


Como Windows considera que los servidores DNS primario y secundario ya están configurados (pero no te los muestra), cuando completas los campos “Preferido” y “Alternativo”, Windows simplemente añade estas nuevas direcciones al final de la lista en el registro, de la siguiente manera:


192.168.1.21 192.168.1.22,208.67.222.123,208.67.220.123


Como se puede ver, Windows utiliza la delimitación por comas para la tercera y cuarta entrada del servidor DNS, pero deja el delimitador existente por espacio entre la primera y la segunda dirección, pero ¿por qué se permite que ocurra algo así? Lamentablemente, este hecho se basa en que el valor DhcpNameServer intenta utilizar una lista separada por espacios y Microsoft así lo en TechNet.


Si el valor de NameServer es válido, éste tendrá prioridad sobre el valor de DhcpNameServer. Como a DhcpNameServer se le permite tener delimitación por espacio, a NameServer también. Además, hay evidencia de que el valor NameServer estaba pensado para utilizar listas delimitadas por espacios, documentación de TechNet sugiere que la única delimitación permitida es por espacios.


En realidad, es una propiedad no estándar de Windows y el Panel de control simplemente no sabe cómo manejarla en forma adecuada en su interfaz gráfica del usuario. El Panel de control no te permitirá ingresar una lista delimitada por espacios ni por comas. Por el contrario, crea la lista separada por comas a partir de lo que el usuario escribió en los campos de servidor DNS “Preferidoy “Alternativoen su interfaz gráfica del usuario, pero el resto del código (que lee este valor del registro) acepta la forma delimitada por espacios y simplemente “funciona sin errores” con cualquiera de ambos delimitadores.


Sin embargo, el Panel de control de la interfaz gráfica del usuario no funciona de la misma manera, ya que no muestra las entradas delimitadas por espacios que no estén en la pestaña “Avanzado.



… y DNS en la configuración de red


Peor aún es el hecho de que esta funcionalidad también está siendo utilizada por otras aplicaciones no deseadas con el fin de forzar el uso de sus servidores DNS en los equipos infectados. En resumen, se trata de un secuestro de DNS, que obliga a usar servidores DNS “ocultos”. Los llamo ocultos porque los servidores DNS establecidos de forma estática no se muestran en los campos Primario y Secundario correspondientes, en las Propiedades de TCP/IPv4.


Ahora que ya sabemos cómo se establece el DNS incorrecto en el registro, vamos a analizar un área más de las Propiedades de TCP/IPv4. El área de interés es la ventana “Configuración avanzada de TCP/IPen la pestaña DNS, como se muestra en la Imagen 4. La parte superior de esta pestaña tiene una lista que determina el orden de uso de los servidores DNS y te permite especificar el uso de más de dos direcciones IP como servidores DNS. Cada dirección debe estar en su propia línea. Pero si tu DNS ha sido secuestrado y está oculto, la configuración de TCP/IP se parecerá a la siguiente imagen:


 

3b6bf497.png



Como se puede observar, hay dos direcciones en una única línea separada por un espacio. Si quisieráis intentar usar el botón “Agregar…” para añadir dos direcciones separadas por un espacio, obtendrías un error con la leyenda “Dirección IP no válida” y no te dejaría agregarla. Si quisieras especificar manualmente los servidores DNS en el “Servidor DNS preferido” y “Servidor DNS alternativo” en la página de propiedades de TCP/IPv4, mientras el DNS se encuentra oculto, verás que lo que especificaste aparece debajo de las entradas DNS ocultas.


 

0778085a.png




Desinfección


Por suerte, se pueden eliminar las entradas DNS maliciosas de la pestaña de DNS en la página Configuración avanzada de TCP/IP. Sólo debes acordarte de fijarte allí.



Comunicación al responsable


Este error fue comunicado al Centro de Respuesta de Seguridad de Microsoft (MSRC) el 10 de mayo de 2016. Un representante del MSRC reconoció el problema, pero dijo que no fue clasificado como una vulnerabilidad de seguridad, ya que la modificación del Registro requiere siempre permisos de “administrador”, por lo que no se ajustaba los estándares de seguridad de MSRC.



Resumiendo


Para resumir, dado que Windows leerá y usará una lista delimitada por espacios de direcciones de servidores DNS en el valor “NameServer“, en lugar de exigir que las direcciones únicamente estén separadas por comas, las aplicaciones no deseadas pueden aprovechar este método para ocultar su configuración DNS en el sistema.



Indicadores de sistemas comprometidos


La versión de DNS Unlocker descrita en este documento es detectada por los antivirus como la aplicación MSIL/Adware.CloudGuard.C. Utiliza las siguientes direcciones IP para secuestrar DNS:


  • 203131145
  • 203.131.150 a 199.203.131.152
  • 163.142.2 a 82.163.142.7
  • 163.142.66 a 82.163.142.70
  • 163.142.130 a 82.163.142.189
  • 163.143.131 a 82.163.143.190
  • 211.158.129 a 95.211.158.135
  • 211.158.145 a 95.211.158.151









Referencias:


https://www.incibe.es/extfrontinteco/img/File/intecocert/ManualesGuias/guia_de_seguridad_en_servicios_dns.pdf

https://thevpn.guru/dns-hijacking-exposed-explained/

https://en.wikipedia.org/wiki/DNS_hijacking

https://www.icann.org/resources/unthemed-pages/twomey-to-lewis-2003-10-03-en

http://www.malavida.com/es/guias-trucos/han-secuestrado-mi-servidor-de-dns-005056

https://www.redeszone.net/2015/03/08/dnstest-un-script-que-nos-notifica-ante-un-secuestro-dns/

http://aprenderinternet.about.com/od/seguridad/fl/router-secuestrado.htm

https://campaigns.f-secure.com/router-checker/en_global/

https://bandaancha.eu/articulos/jazztel-intercepta-dominios-inexistentes-7037

http://www.opensecurity.es/hijacking-dns-y-sus-consecuencias/

http://www.dragonjar.org/bloquear-el-dns-hijacking-por-parte-del-isp.xhtml

http://www.elladodelmal.com/2011/10/proteccion-contra-dns-hijacking-en.html

https://howtoremove.guide/dns-unlocker-removal/

https://developers.google.com/speed/public-dns/?csw=1









"""""""
Comentarios

Fran 🐝 Brizzolis

hace 7 años #2

Gracias por compartir Fernando \ud83d\udc1d Santa Isabel Llanos. Un abrazo.

Fran 🐝 Brizzolis

hace 7 años #1

#1
No es para tanto... Pero muchas gracias Jos\u00e9 Ram\u00f3n \ud83d\udc1d L\u00f3pez y gracias por el share.

Artículos de Fran 🐝 Brizzolis

Ver blog
hace 5 años · 1 min. de lectura

A medida que evoluciona la tecnología, también lo hace el delito informático. El centro de atención ...

hace 5 años · 5 min. de lectura

¡Hola abejas! Este año 2018 está siendo algo complicado para mí, supongo que como para algunos de vo ...

hace 5 años · 7 min. de lectura

¡Hola abejas!... Después de un final e inicio de año un tanto accidentado, ( 2 averías casi consecut ...

Puede que te interesen estos puestos de trabajo

  • Marlex

    Programador ABAP, presencial

    Encontrado en: Jobgoal ES C2 - hace 2 días


    Marlex Madrid, España

    Programador ABAP en presencial.Desde Marlex estamos colaborando con importante empresa internacional del sector automoción que se encuentra en búsqueda de un / a Programador / a ABAP para su sede en Madrid. · Cuál será tu misión en la empresa?- Gestión de incidencias en SAP- Desa ...


  • Cronoshare La Muela (Zaragoza), España

    Necesito un servicio de Construcción de casa con las siguientes características:Superficie útil de la vivienda a construir · Más de 100 m2 · No de plantas · 1 planta · ¿No de habitaciones? · 4 · ¿No de baños? · 2 · ¿Qué estilos de construcción te interesan? · No sabemos aun · ¿Ti ...

  • Digital Talent Agency

    Project Manager Junior

    Encontrado en: Buscojobs ES C2 - hace 5 días


    Digital Talent Agency Granada, España

    Project Manager Junior (Sistemas) en Granada.En Zemsania nos encontramos en la búsqueda de un Project Manager Junior (Servicedesk) inglés para unirse a nuestro equipo de trabajo. Si cuentas con al menos 1 año de experiencia y dispones de habilidades en ITIL 365 SCRUM Agile y Serv ...