Archivo de la categoría: Ataques

Exfiltración de información usando el protocolo DNS

Uno de los problemas con lo que se encuentra un usuario malintencionado (ya sea interno o un atacante externo) cuando obtiene información deseada es cómo sacarla sin que le descubran. En este artículo veremos algunas opciones para extraer esta información usando el servicio DNS, el cuál casi siempre está operativo en casi cualquier sistema.

Extracción de información mediante peticiones DNS

DNS logo

Fuente imagen: bleepingtech.com

Este sistema de extracción de información parte del supuesto de que un atacante ha conseguido infiltrarse en un sistema y necesita sacar la información obtenida para poder tratarla y utilizarla. Si la información a extraer no es muy grande puede realizar el siguiente montaje:

  1. El atacante monta en Internet un servidor DNS que publica la información sobre el dominio «malintencionado.es«. Es posible crear una web sencilla para dar apariencia de normalidad.
  2. Este servidor DNS responderá a todas la peticiones que reciba de forma normal, pero almacenará todos los subdominios solicitados de forma correlativa.

En este punto el usuario malintencionado ya dispone de un servidor DNS accesible públicamente y preparado para almacenar la información. Cuando un equipo realice una solicitud de resolución de nombre el sistema DNS de la corporación comprobará el dominio pedido «malintencionado.es» y entonces realizará una solicitud normal al servidor DNS malintencionado quien la registrará y contestará para pasar desapercibido.

Supongamos que el atacante se ha hecho con el fichero shadow de nuestro sistema Linux que tiene la siguiente información:

oracle:$6$MvOuttAz$5ZUMuRkx8b2kGJ/jQvTszUQz73R1G9wM78kh1SogNRnSNARUtH9YFbRX/E9iSkcokC4Djyo86DDj39Tq5ebw4/:15057:0:99999:7:::

Así pues a nuestro atacante le interesa enviar al exterior el nombre de usuario y el hash de la contraseña almacenado en este fichero. Una vez tenga esta información en su poder podrá intentar atacar este hash, mediante la técnica que prefiera, para obtener la contraseña válida. Veamos cómo se podría realizar esta extracción:

  1. El servidor infectado solicita las siguientes resoluciones en este mismo orden:
    1. USER.malintenciado.es
    2. oracle.malintenciado.es
    3. HASH.malintenciado.es
    4. $6$MvOuttAz$5ZUMuRkx8b2kGJ.malintencionado.es
    5. /jQvTszUQz73R1G9wM78kh1SogNRnSNARUtH9YFbRX.malintencionado.es
    6. /E9iSkcokC4Djyo86DDj39Tq5ebw4/.malintencionado.es
    7. EOF.malintencionado.es
  2. El servidor recompone la información y obtiene los datos enviados:
    • USERoracleHASH$6$MvOuttAz$5ZUMuRkx8b2kGJ/jQvTszUQz73R1G9wM78kh1SogNRnSNARUtH9YFbRX/E9iSkcokC4Djyo86DDj39Tq5ebw4/EOF

En este ejemplo se utilizan palabras claves para marcar los diferentes campos enviados ya que, aunque sea posible, será muy difícil que estas palabras claves coincidan dentro del resultado de la función resumen enviada. Con este formato se facilita el tratamiento automatizado en destino.

Defensas ante la extracción de información vía DNS

El primer paso para una coporación es obligar a que todos los servicios internos utilicen el sistema DNS corporativo. No hay razón alguna para que un servidor u ordenador de usuario pueda acceder a DNS externos. Toda conexión a un servidor DNS externo, que no provenga de nuestro propio sistema DNS corporativo, debe ser bloqueada a nivel de firewall.

Los sistemas IDS/IPS podrían detectar un repentino aumento de peticiones de resoluciones de un mismo dominio y generar un evento. Aunque lo más probable es que en estos casos el sistema nos informe de un posible escaneo de un dominio concreto y no de una posible exfiltración de información. Ante la aparición de un evento de estas características los administradores deberían revisar el servidor afectado en busca de la causa de ese supuesto escaneo pudiendo detectar la infiltración y cortarla.

Algunos servidores DNS pueden generar eventos cuando detectan que los tiempos de vida de las resoluciones son muy bajos. Generalmente un dominio de Internet se guarda en caché durante horas, por lo que si un servidor responde que sus dominios sólo deben cachearse durante pocos minutos podría considerarse un comportamiento anómalo (aunque sea perfectamente plausible según el protocolo). Este comportamiento (el reducir los tiempos de almacenamiento temporal) suele formar parte de los ataques DoS a los servidores DNS por lo que es algo que suelen tener en cuenta.

Como vemos la detección de este comportamiento depende en gran medida de la pericia del atacante (de la configuración del servidor DNS malicioso y de su prisa en sacar la información) y, además, los eventos suelen asociarse a otros tipos de ataques por lo que la detección real de este comportamiento es muy difícil.

Limitaciones de esta técnica de exfiltración

Esta técnica de exfiltración es muy lenta comparada con otras más habituales (conexión a webs externas, envío de correos electrónicos, subida a servidores SFTP, etc.) por lo que suele utilizarse cuando las anteriores han fallado. Los nombres de subdominios no pueden ser excesivamente largos ni contener caracteres extraños por lo que se limita la información a enviar. Así pues se trata de una técnica lenta, tanto por la cantidad de información enviada cada vez como para pasar desapercibidos antes los sistemas IDS/IPS.

Cabe indicar que si utilizamos el servicio DNS sobre UDP sería posible la pérdida de un paquete con lo que la información enviada no sería útil. El uso de conexiones TCP elimina este fallo pero facilita la detección de múltiples conexiones por parte de los sistemas de seguridad.

Envenenamiento de la memoria temporal del servidor DNS

En esta entrada veremos un tipo de ataque que busca redirigir a las víctimas a un servidor malicioso utilizando un ataque dirigido a sus servidores DNS (y no directamente a la víctima). La traducción al castellano de la expresión inglesa DNS cache poisoning vendría a ser envenenamiento de la memoria temporal del servidor DNS.

DNS logo

Fuente imagen: bleepingtech.com

Así, tal como su nombre indica, el atacante busca redirigir el tráfico de una víctima a servicios maliciosos de forma inadvertida usando para ello el sistema de resolución de nombres. Esta estrategia permite al atacante que los usuarios se conecten a un servicio malicioso que simula ser una web legítima (un banco, servicio de correo electrónico, etc.) de tal forma que cuando el usuario intenta acceder a su servicio en realidad está dando sus contraseñas al atacante.

Este ataque también permitiría a un atacante la gestión de un ataque de denegación de servicio (DoS) al impedir que los clientes que usen un servidor DNS concreto puedan llegar hasta el servicio atacado. Bastaría con proveer direcciones IP falsas de los nombres de dominio del servicio que se quiera atacar. Así el ataque DoS se limitaría a los usuarios que usen un determinado servidor DNS y no a toda la red en general: Si, por algún motivo, queremos que los usuarios de un operador telefónico concreto (Movistar, Vodafone, BritishTelecom, etc.) no accedan a un servicio concreto (Dropbox, PirateBay, Netflix, etc.) podríamos utilizar esta estrategia.

Funcionamiento del DNS cache poisoning

A continuación indicamos los pasos para realizar el ataque y cómo se aprovecha de las debilidades del protocolo DNS:

Funcionamiento del DNS cache poisoning.

Funcionamiento del DNS cache poisoning. Fuente imagen: NetworkWorld

  1. El atacante realiza a nuestro servidor DNS una solicitud recursiva para un dominio que es gestionado por un servidor DNS malicioso (loquesea.sitiomalicioso.com).
  2. Al ser una solicitud recursiva y no estar dentro de la memoria de nuestro servidor, éste busca el servidor propietario y resuelve el dominio solicitado.
  3. El servidor DNS malicioso no sólo le resuelve la solicitud inicial sino que, además, le envía información falseada de diferentes dominios legítimos (p.e. direcciones IP falsas para www.mibanco.com).
  4. Nuestro servidor guarda toda la nueva información en la memoria cache.
  5. Cuando un cliente legítimo quiere acceder a una página web (www.mibanco.com en nuestro ejemplo) realiza una consulta DNS normal.
  6. Nuestro servidor DNS consulta la memoria temporal y al ver que ya tiene almacenado ese dato le remite esa información falseada.
  7. El navegador del cliente se conecta a un sitio falseado, por lo que es posible que el atacante obtenga información del cliente (contraseñas, información privada, etc.).

Defensas frente al envenenamiento de memoria temporal en DNS

Veamos cuáles serían las defensas más prácticas frente a este tipo de ataque:

  • Si concienciamos al cliente (o le forzamos por políticas de empresa) a utilizar siempre que sea posible la navegación segura (https) este tipo de ataque fallaría  en el último punto ya que la página maliciosa no dispondría del certificado SSL de la web que intenta suplantar. Así el usuario se daría cuenta del problema por los avisos del navegador.
  • Aunque desactivar la memoria temporal DNS puede parecer una opción algo drástica, la verdad es que en instituciones pequeñas y medianas sería una estrategia factible.
  • Evitar la aceptación de volcado de información no solicitada por parte de nuestro servidor DNS. si nuestro DNS simplemente descarta la información extra (todo aquello que no estuviera en la consulta inicial – loquesea.sitiomalicioso.com en nuestro caso) no se sobrescribiría la memoria temporal. Esta estrategia puede hacer que nuestro sistema tarde más tiempo del habitual para actualizar los cambios legítimos que haya en los servicios web externos.
  • Configurar nuestro servidor DNS para que haga una consulta propia cada vez que recibe un volcado de información. Con esta estrategia el hecho de recibir un volcado de información haría que nuestro servidor consultase al servidor DNS legítimo la información y se actualizaría de una fuente oficial. Se trata de una solución que, aunque aumentando la carga de trabajo de nuestro servidor, permitiría mejorar los tiempos de actualizaciones legítimos mientras que evita este tipo de envenenamiento.
  • Activar DNSSec en nuestro servidor DNS permitiría detectar que el volcado de información no estaría correctamente firmado y por ello sería descartado. Esta opción requiere que el servidor DNS legítimo tenga también activadas las extensiones de seguridad.

Timo del príncipe nigeriano

Timo del príncipe nigeriano en acción :) Fuente original: Alberto Montt

Timo del príncipe nigeriano en acción 🙂
Fuente original: Alberto Montt

Se conoce como «El timo del príncipe nigeriano» a un intento de estafa que se popularizó a través de correos electrónicos no solicitados donde, se informaba al receptor de la muerte de un príncipe nigeriano, que había dejado parte de su herencia bloqueada en cuentas extranjeras, y se solicitaba al receptor del correo que se pusiera en contacto para gestionar cómo podía desbloquearse dicha cantidad quedándose, en agradecimiento, una comisión.

Procedimiento

El timador intercambia correos electrónicos hasta conseguir una cierta confianza con la víctima (envía fotos, capturas de pantalla, documentación escaneada, etc.) para posteriormente indicarle que hay un problema burocrático previo al envío de la cantidad de dinero acordad que debe resolverlo la víctima. Este problema burocrático implica una cantidad de dinero variable. Si aparece alguna suspicacia el estafador seguirá con la cadena de correos para mantener la confianza hasta que la víctima decida pagar esa cantidad para obtener el beneficio mayor.

Fuente imagen: NoticiasDot

Fuente imagen: NoticiasDot

Resumiendo:

  1. Recepción de un correo electrónico. Estos correos son enviados de forma masiva y, aunque los sistemas antispam bloquean la gran mayoría, llegan a la bandeja de entrada de la víctima.
  2. Recopilación de información. Una vez la víctima contesta al correo empieza la recopilación de información por parte de los estafadores para conocer el estado de la víctima (casado, hijos, capacidad económica, etc.). esta fase puede durar incluso semanas para dar confianza a la víctima.
  3. Primera solicitud de dinero. Los estafadores suelen solicitar un primer cobro de una cantidad no excesiva para probar el nivel de enganche de la víctima.
  4. Segunda petición de dinero. Si la víctima ha llegado a este punto los estafadores siguen complicando su historia para ofrecer una mayor recompensa a cambio de una inversión ya mayor (la cantidad dependerá de lo que estimen que pueden estafar según la información recopilada).
  5. Sucesivas peticiones. Si la víctima sigue enganchada seguirán intentando sacarle más dinero hasta que crean que ya no hay más posibilidades cuando, simplemente, desaparecerán.

Como se puede observar es una estafa laboriosa para los delincuentes (lleva semanas o incluso meses de comunicaciones) por lo que los primeros correos están escritos, de forma deliberada, con gran cantidad de faltas de ortografía, frases sin sentido y ausencia total de sintaxis. La idea es que tan sólo aquellas personas muy confiadas piquen el anzuelo ya que los estafadores no podrían gestionar la gran cantidad de posibles víctimas si estos primeros correos de contacto estuvieran bien elaborados.

Variantes del timo nigeriano

Con el tiempo este tipo de estafa ha ido variando las historias utilizadas para intentar atraer a nuevas víctimas, pero el procedimiento es el mismo: primero, desde un correo spam, se ofrece una oportunidad única (generalmente dinero); posteriormente se intercambian correos para conseguir dar confianza; y finalmente se solicita un adelanto económico.

Durante la segunda Guerra del Golfo la historia del príncipe nigeriano mutó a la de un comando estadounidense que había encontrado una gran cantidad de dinero en efectivo en el sótano de un palacio. Solicitaban ayuda para poder hacer una transferencia electrónica ya que, por motivos obvios, no podían mover el dinero físicamente. Hubo variantes, menos difundidas, de unidades militares de otros países que participaron en la guerra y en la etapa posterior.

¿y si no fuera un timo? Fuente imagen: Seemikdraw.com.au

¿y si no fuera un timo?
Fuente imagen: Seemikdraw.com.au

Otra variante del timo nigeriano, que ha ido en aumento en los últimos años, es la de un supuesto romance por Internet. Los estafadores contactan con la víctima por páginas de citas (usando fotos falsa de personas atractivas) para tras unos primeros chats para dar credibilidad solicitan una ayuda económica (bien sean 30€ para la compra de final de mes, o bien el valor de un supuesto billete para poderse encontrar en persona). La peor posibilidad de este timo es que los estafadores convenzan a la víctima a viajar al país de su supuesto romance (generalmente países del este de Europa o africanos) donde la víctima podría ser incluso secuestrada.


Si os queréis reír un rato en Internet podrás encontrar páginas y foros donde se alguien ha seguido la cadena de correos para ver hasta dónde llegaban 🙂