Contactos

¿Qué es la suplantación de identidad de DNS? Estamos escribiendo un complemento para el servidor DNS de Microsoft para protegerlo contra la suplantación de IDN. Clones de IDN: una técnica basada en la similitud externa de la visualización de nombres de dominio

Original: Explicación de los ataques cibernéticos: Invasiones de DNS
Autor: Prashant Phatak
Fecha de publicación: 22 de febrero de 2012
Traducción: A. Panin
Fecha de transferencia: 8 de diciembre de 2012

A menudo vemos sitios que han sido desfigurados, cuyas páginas principales han sido reemplazadas por intrusos. ¿Cómo se las arreglan los atacantes para llevar a cabo tales ataques y cómo podemos proteger nuestra infraestructura de red de ellos? Este artículo analiza cómo los atacantes pueden interferir con el DNS (Sistema de nombres de dominio). Los ataques de DNS son técnicamente complejos y peligrosos para la red y la infraestructura web. Los administradores de red deben saber todo lo posible sobre este tipo de ataque y tomar todas las medidas posibles para garantizar la seguridad de la infraestructura a la que sirven.

Como sabemos, la razón de la existencia de DNS es el hecho de que una persona no puede recordar muchas direcciones IP para acceder a los sitios, mientras que puede recordar fácilmente los nombres de los sitios que consisten en letras y números. El sistema DNS fue diseñado en un momento en que Internet era utilizado por personas de mentalidad amigable, lo que llevó a algunas de las peculiaridades de este sistema en los tiempos modernos.

La figura 1 ilustra los principios fundamentales del servicio de resolución de nombres de red. Cuando una aplicación (como un navegador) desea conectarse a un servicio remoto, consulta al servidor DNS para obtener una dirección IP. Esta solicitud en forma de paquete se envía a través del puerto UDP 53, después de lo cual el servidor devuelve una respuesta en forma de paquete. (Tenga en cuenta que debido a la limitación del datagrama UDP de 512 bytes, la pila de protocolos utiliza automáticamente TCP para realizar solicitudes y recibir respuestas). Cuando un cliente recibe una respuesta, agrega los datos a su caché local para acelerar las llamadas posteriores al mismo. dominio. Los elementos de la caché local se destruyen automáticamente después de su vida útil (parámetro TTL (Time to Live)).

Figura 1: Resolución de nombres de dominio

El sistema DNS utiliza tipos de registros como A, CNAME, SOA, MX y otros. Si bien está más allá del alcance de este artículo describir estos tipos de registros, es importante que los administradores del sistema sepan cuándo y cómo deben usarse, y se debe investigar antes de usarlos para la seguridad futura del sistema. Antes de analizar los ataques al sistema DNS, debemos analizar dos tipos de consultas: iterativas y recursivas.

  • Consultas DNS iterativas: Mientras el cliente envía una solicitud al servidor DNS, deseando obtener información sobre el dominio, el servidor DNS puede o no tener información sobre este dominio. Si el servidor DNS no tiene una respuesta, en lugar de completar la solicitud, envía el nombre del servidor DNS superior, que puede tener la información que necesita, al cliente. Este proceso se conoce comúnmente como referencia de DNS. El cliente envía una solicitud al siguiente servidor (especificado); si no tiene respuesta, envía el nombre del servidor superior al cliente. Este proceso continúa hasta que el cliente recibe una dirección IP o un mensaje de error que indica que la solicitud no se pudo cumplir.
  • Consultas recursivas de DNS: En este caso, el proceso comienza cuando el cliente realiza una solicitud de resolución de nombre de dominio directamente al servidor DNS. Si el servidor DNS no tiene una respuesta, se supone que debe hacer el trabajo de comunicarse con los servidores superiores en lugar de simplemente proporcionar sus nombres al cliente. Nuevamente, si el servidor superior no tiene la información para responder a la solicitud, reenvía la solicitud al servidor superior. Este proceso continúa hasta que la solicitud llega al servidor DNS raíz, que debería tener Información necesaria y se devuelve una respuesta al cliente, y si el nombre solicitado no existe, se devuelve un mensaje de error al cliente a lo largo de la cadena de servidores. A diferencia del método iterativo, la consulta recursiva se considera más agresiva para obtener el resultado.

Las consultas iterativas suelen ser realizadas por servidores DNS, mientras que las consultas recursivas las realizan los clientes, ya que este tipo de consultas evita tener que recurrir a un mecanismo complejo para el manejo de redireccionamientos de DNS. Desde la perspectiva de la seguridad del sistema, los administradores deben conocer los conceptos básicos de cómo funcionan los sistemas DNS porque una organización puede operar varios servidores DNS, sincronizando registros de zona para mantener la coherencia de los datos.

Los datos de DNS se sincronizan periódicamente sin la necesidad de reiniciar los servicios del sistema, y ​​cuando se realizan cambios en el servidor raíz, envía automáticamente los datos de cambio a los servidores posteriores. El tiempo que se tarda en sincronizar los datos lo establece el parámetro de duración de cada registro. En el caso de servidores DNS dispersos geográficamente, el período de sincronización de datos puede durar hasta un día, ya que cada uno de los servidores de la cadena utiliza su propia caché para acelerar el procesamiento de las solicitudes.

Ataques de DNS

Se ha observado que administradores del sistema Pasan mucho tiempo desarrollando sistemas de seguridad para aplicaciones, servidores y otros componentes de infraestructura, pero desafortunadamente tienden a olvidarse de los sistemas de seguridad para servidores DNS. Considere la Figura 2, que muestra las posibles debilidades en los servidores DNS que los hacen vulnerables a los ataques. El DNS está diseñado de tal manera que la mayor parte de la comunicación se realiza a través de UDP, carece de seguridad incorporada y carece de soporte incorporado para la autenticación, todo lo cual lo hace más vulnerable a los ataques que otros servicios de red. Echemos un vistazo a varios tipos de ataques de DNS más comunes.


Figura 2: Posibles debilidades del servidor DNS

Envenenamiento de la caché de DNS

Este ataque le permite interferir con el proceso de resolución de nombres de dos formas. En el primer método, el pirata instala software malicioso (rootkit o virus) que debe ser controlado por el local. Caché de DNS en la máquina del cliente. Los registros en la caché de DNS local se modifican para que apunten a diferentes direcciones IP.

Por ejemplo, si un navegador intenta acceder a un sitio con la dirección http://www.cnn.com/, en lugar de la dirección IP de CNN, recibe una dirección establecida por el software del cracker, que generalmente conduce a un sitio ubicado en un servidor propiedad del pirata informático y que contiene software malintencionado o un mensaje que ofende al usuario.

El segundo método, más peligroso, es que el atacante ataca el servidor DNS y modifica su caché local, de modo que todos los servidores que utilizan este servidor para la resolución de nombres recibirán direcciones IP incorrectas, lo que eventualmente conducirá a su infracción. la pérdida o robo de información.

En casos muy raros, los atacantes pueden obtener acceso al servidor DNS raíz, que almacena los registros maestros de dominios raíz como .com, .net o los registros del sistema de nombres de dominio de países individuales. Los atacantes pueden modificar los registros en este servidor, mientras que otros servidores recibirán los datos modificados automáticamente, lo que puede provocar interrupciones globales de los servicios y sitios de la red comercial. Aunque estas situaciones son muy raras, ocurren; no hace mucho, una gran red social fue interrumpida por un ataque similar.

Sustitución del servidor DNS (secuestro de DNS)

Este ataque también se usa a menudo para cambiar la forma en que funcionan los sistemas DNS. En este caso, no se realizan cambios en la caché de DNS del cliente, pero se realizan cambios en la configuración, después de lo cual todas las solicitudes de resolución de nombres se dirigen al servidor DNS personal del atacante. Por lo general, este ataque no tiene como objetivo robar datos, sino recopilar información estadística de la computadora del cliente. Todas las solicitudes de resolución de nombres enviadas al servidor del atacante funcionan correctamente, pero el atacante recibe información sobre los sitios visitados por el cliente.

Esta información se puede utilizar más tarde para mostrársela al cliente. publicidad contextual... Algunos atacantes utilizan la redirección de usuarios a sus sitios o los motores de búsqueda para recaudar fondos de publicidad o simplemente para robar datos y utilizar técnicas de ingeniería social. En los casos en que Esta característica El funcionamiento del DNS no se puede utilizar para beneficio personal; es utilizado por muchos sitios conocidos y proveedores de Internet para recopilar datos estadísticos sobre los recursos visitados por el usuario.

Suplantación de DNS

Este ataque es un ataque de espionaje asistido por humanos en el que un atacante obtiene el control de la red que ejecuta el servidor DNS y modifica la caché ARP mediante la suplantación de paquetes. Una vez que la red tiene el control del nivel de la dirección MAC, el atacante calcula la dirección IP del servidor DNS y comienza a monitorear y modificar las solicitudes destinadas a ese servidor.

Todas las solicitudes de la red pasan por la computadora del atacante y llegan al servidor DNS real. Este ataque puede tener graves consecuencias, ya que todos los equipos de la red de ninguna manera registrarán el hecho del ataque y enviarán todas las consultas de DNS a la dirección del equipo del atacante.

Existe forma alternativa este ataque, llamado suplantación de identidad de DNS. Cada solicitud y respuesta de DNS tiene identificadores únicos diseñados para separar las solicitudes enviadas al servidor DNS al mismo tiempo. Estos identificadores únicos a menudo se forman a partir de la dirección MAC, la fecha y la hora en que se realizó la solicitud, y la pila de protocolos los genera automáticamente.

El atacante utiliza un rastreador para capturar una o más solicitudes y respuestas con sus identificadores correspondientes, y luego genera una solicitud con el identificador correspondiente y con una dirección IP falsificada. Como resultado de estas acciones, se guarda una dirección IP falsificada en el caché local del sistema atacado. Después de eso, el sistema atacado puede dañarse colocándolo en el servidor con la dirección del código malicioso. software.

Revinculación de DNS

Este ataque también se llama "DNS pinnig" y es un ataque particularmente complejo. En el proceso, el atacante primero registra su propio nombre de dominio, luego establece el valor mínimo para la vida útil de los registros, lo que evita que la información sobre este nombre de dominio ingrese al caché.

Ataques de denegación de servicio de DNS

Como aprendimos en el primer artículo de la serie, bombardear el puerto 53 con paquetes UDP o TCP con solicitudes puede conducir a una denegación de servicio del servidor. Otro método para llevar a cabo este ataque es el ataque con un flujo de paquetes ping o segmentos TCP SYN. La idea principal detrás de estas acciones es maximizar el uso de los recursos del servidor ( unidad Central de procesamiento y memoria de acceso aleatorio) para que el servidor deje de responder. Aunque los servidores DNS están protegidos por cortafuegos, si los puertos UDP de DNS no están bloqueados para acceder a redes que no son de confianza, el sistema de resolución de nombres de dominio estará disponible para de este tipo ataques.

La carga alta se refiere a la carga del servidor DNS con tareas que el servidor no puede realizar. Hay varias formas de iniciar un servidor y, finalmente, inutilizarlo. Para implementar uno de los métodos, se utiliza software malicioso (caballo de Troya) que modifica la caché de DNS local de muchos nodos. Después de estos pasos, todos los nodos con la caché modificada comienzan a enviar solicitudes a un servidor de nombres específico, preseleccionado por los atacantes.

Cada servidor solo puede responder a un número limitado de solicitudes en un período de tiempo limitado (según el rendimiento y la configuración de la CPU) y, finalmente, comienza a agregar solicitudes a la cola. Cuantos más clientes estén sujetos a modificaciones en la caché de DNS local, más solicitudes se pondrán en cola y, finalmente, el servidor se paralizará.

En otro tipo de este ataque, el cracker modifica la caché servidor DNS; en lugar de reemplazar las direcciones IP que coinciden con los registros A o CNAME, se modifican los nombres de dominio. Para complicar las cosas, la longitud de cada nombre de dominio puede tener varios cientos o miles de caracteres. El proceso de sincronización de datos posterior al cambio implica el envío de muchos kilobytes de datos desde el servidor de nombres maestro a los servidores posteriores y, finalmente, a los clientes.

Después de la expiración de la vida útil de los registros, el proceso de sincronización de datos comienza de nuevo y puede provocar la falla de uno o más servidores DNS de la cadena. Estos efectos de caché simulan un ataque distribuido de denegación de servicio que es peligroso y difícil de controlar.

Protección de sistemas basados ​​en software libre

En el mundo de los sistemas libres, existe una implementación del servicio de resolución de nombres de dominio, conocido en todo el mundo por la mayor velocidad de trabajo en comparación con los análogos. Esta solución más utilizada y conocida es el servicio Bind. Sin embargo, dado que la mayoría de los ataques a los servicios DNS aprovechan las fallas del protocolo, la tarea de proteger los sistemas libres con servicios de resolución de nombres de dominio se vuelve más difícil.

El primer paso en el diseño de un sistema de seguridad debe ser bloquear en capa de red... Además de los puertos para el mantenimiento del servidor, solo los puertos para consultas de DNS deben permanecer abiertos, y todos los demás puertos deben bloquearse tanto en el firewall como directamente en el servidor que usa el sistema operativo.

El siguiente paso importante es asegurarse de que no haya ningún software instalado en el servidor que no sea el servicio de resolución de nombres de dominio. Esta precaución debe tomarse especialmente cuando se trabaja con un servidor de resolución de nombres raíz corporativo que admita la resolución de todos los nombres de dominio internos y atienda todas las solicitudes de resolución de nombres a servidores externos para la red local.

A menudo sucede que una vulnerabilidad en programa de terceros le permite penetrar en el servidor de resolución de nombres. Aunque las partes más críticas de la infraestructura de red están protegidas por un firewall, la administración unificada de amenazas y software antivirus, a menudo es necesario reforzar la protección con el sistema de detección de intrusiones. Defiende contra ataques OSI Layer 2 y Layer 3 como ARP spoofing, IP spoofing, rastreadores y otros tipos de ataques.

Además de las precauciones críticas descritas anteriormente, existen varios métodos complejos que también deben aplicarse. Como aprendimos anteriormente, cada solicitud tiene su propio identificador único y se envía en un paquete UDP. Desafortunadamente, debido a las características de diseño de la pila de DNS descritas en los estándares RFC, estos identificadores son fácilmente predecibles, por lo que el uso de números al azar para generar identificadores es una buena idea para ayudar a prevenir ataques de suplantación de identidad. Asimismo, el número de puerto UDP en el que el servidor de resolución de nombres acepta solicitudes y responde también es fácilmente predecible y se puede cambiar a uno aleatorio.

Para estos fines, existen programas con código fuente, pero a la hora de utilizarlos, recuerda que introducen un pequeño retraso en la tramitación de la solicitud. Una tecnología de seguridad relativamente nueva y popular es DNSSEC (DNS Security Extensions). Protege a los clientes y servidores de los ataques que modifican la caché de DNS mediante la firma de registros mediante cifrado con Llave pública... De manera similar a SSL, el solicitante y el respondedor establecen una conexión confiable entre sí y, una vez que se establece, comienza el proceso de resolución de nombres.

Una vez que se completa el proceso de resolución de nombres, la sesión se cancela y, por lo tanto, se mantiene la seguridad de ambas partes. La tecnología DNSSEC está implementada en la mayoría de los servidores de los proveedores de servicios de Internet del mundo.

La manipulación de DNS es un tipo de ataque común. Comienza con la explotación de las fallas del protocolo y lleva al atacante a obtener acceso a la infraestructura de TI o al uso de computadoras para llevar a cabo otro tipo de ataques, como el phishing. Los sistemas de software libre también son susceptibles a estos ataques, por lo que los administradores de sistemas deben comprender y utilizar técnicas para proteger la infraestructura subyacente de la pérdida o el robo de datos.

Este artículo es parte de una serie sobre ciberataques del mismo autor (Prashant Phatak). Vea otros artículos de esta serie.

Suplantación de DNS

Sistema DNS ( sistema de nombres de dominio) convierte un nombre de dominio (por ejemplo, www.test.com) a su dirección IP (por ejemplo, 192.168.0.1) y viceversa. Este ataque utiliza la tecnología de enviar respuestas falsas a las consultas de DNS de la víctima. El ataque se basa en dos métodos principales.

Suplantación de identidad de DNS

El encabezado del paquete del protocolo DNS contiene un campo de identificación para hacer coincidir las solicitudes y las respuestas. El propósito de la suplantación de identidad de DNS es enviar su respuesta a una consulta de DNS antes de que responda un servidor DNS real. Para hacer esto, necesita predecir el ID de la solicitud. A nivel local, esto se hace simplemente escuchando el tráfico de la red. Sin embargo, es mucho más difícil realizar esta tarea de forma remota. Existen varios métodos:

    comprobando todo valores disponibles campo de identificación. No es muy práctico ya que el número total de valores posibles es 65535 (el tamaño del campo es de 16 bits);

    enviando varios cientos de consultas DNS en el orden correcto. Obviamente, este método no es muy confiable;

    Encontrar un servidor que genere identificadores predecibles (por ejemplo, aumentando en 1). Este tipo de vulnerabilidad es inherente a algunas versiones de Bind y Sistemas Windows 9x.

En cualquier caso, debe responder ante el servidor DNS real. Esto se puede lograr, por ejemplo, realizando un ataque de denegación de servicio contra el servidor.

Para un ataque exitoso, un atacante debe controlar el servidor DNS (ns.attaquant.com) autorizado para la zona attaquant.com. Se cree que el servidor DNS de destino (ns.cible.com) genera números de identificación(aumentando en 1 en cada solicitud).

Un ataque requiere cuatro pasos:

Como resultado, la caché del servidor DNS de destino contendrá la coincidencia requerida por el atacante y los próximos clientes que soliciten la dirección www.spoofed.com recibirán la dirección de la máquina del atacante. Puede contener una copia de este sitio, con la ayuda de la cual un atacante puede robar información confidencial.

Cambiar el envenenamiento de la caché de DNS

Los servidores DNS utilizan una caché para almacenar los resultados de consultas anteriores durante algún tiempo. Esto se hace para evitar constantes solicitudes repetidas a los servidores autorizados de los dominios correspondientes. La segunda variante de un ataque de suplantación de DNS es alterar la caché del servidor DNS. He aquí un ejemplo:

Usamos los mismos datos que en el ejemplo anterior. Estos son los puntos clave de esta opción de ataque:

    enviar una solicitud de DNS para resolver el nombre de www.attaquant.com al servidor DNS del dominio cible.com;

    el servidor DNS de destino envía una solicitud para resolver el nombre de www.attaquant.com al servidor DNS del atacante;

La suplantación de DNS es un método simple de suplantación de DNS del sistema, un bloque de resolución de nombres de DNS que utiliza información falsa recibida de un host que no es responsable de esa información. Cada paquete dns tiene un número de identificación de 16 bits, el número de identificación es parte del paquete dns que permite identificar cada paquete dns que pasa por el puerto 53 y además la solicitud puede ser más de una vez. id es la única forma de distinguir entre las diferentes solicitudes relacionadas con dns que utilizan los servidores dns para determinar cuál era la solicitud original. En el caso de BIND, este número se incrementa en 1 nivel por cada solicitud. Se puede realizar un ataque como TCP seq id, aunque es más difícil. Incluso si BIND no puede almacenar en caché la información que envía, enviará la respuesta al host original. En el caso de ircd hará una solicitud PTR en respuesta al host que se conecta a él, el paquete de respuesta se puede formular para contener Información adicional desde el cual ircd hará el almacenamiento en caché interno. Este ataque requiere acceso root "a" en el servidor dns responsable del in-addr. Bloque de información de Arpa dns. Además, el ircd puede almacenar en caché solo un dominio. Hay otro ataque ya que la identificación es de 16 bits. El usuario podría iterar sobre el idspace completo. Para falsificar su dns, digamos en DALNet "e, debe enviar 65000 solicitudes generadas al servidor ns, tan pronto como la computadora reciba una respuesta a la solicitud, deberá leer el paquete y la identificación correcta estará escrita en él. Tan pronto como obtenga la identificación, debe encontrar cualquier "paquete" herramienta de creación"para hacer un paquete dns. Todo lo que queda es falsificar los paquetes dns, enviarlos a ns. dal. net y conseguir falsificar una conexión TCP.

Formulación general del problema En relación con el rápido crecimiento de Internet, el problema de la protección recursos de información se vuelven cada vez más importantes. Si está conectado a Internet, su sistema puede ser atacado. Echemos un vistazo a cómo funciona el DNS. El direccionamiento de segmentos externos se lleva a cabo mediante direcciones IP, pero los servidores normalmente se direccionan mediante nombres de dominio. En este sentido, se creó un sistema para convertir (mapear) nombres de dominio en direcciones IP: servidores DNS (Domain Name System). Este sistema es responsable de encontrar la dirección IP de un host remoto por su nombre. El principio de funcionamiento del sistema DNS es el siguiente: el host remoto envía una solicitud especial a la dirección IP del servidor DNS más cercano, que indica el nombre del servidor cuya dirección IP se va a encontrar. Después de recibir la solicitud, el servidor DNS busca en su base de datos el nombre de dominio solicitado. Si se encuentra el nombre, el servidor DNS devuelve una respuesta que indica la dirección IP buscada. Si el servidor DNS no encontró el nombre especificado en la solicitud en su base de nombres, el servidor DNS envía la solicitud DNS a uno de los servidores DNS raíz y se repite el procedimiento descrito en este párrafo hasta que se encuentra el nombre. Consideremos un esquema generalizado de un servidor DNS falso: esperando una solicitud de DNS; haber recibido una solicitud de DNS, extraer la información necesaria de ella y transmitir una respuesta de DNS falsa a través de la red al host solicitante, en nombre de (desde la dirección IP) del servidor DNS real, que indica la dirección IP del DNS falso servidor; en caso de recibir un paquete de un host, cambiar su dirección IP en el encabezado IP del paquete a la dirección IP del servidor DNS falso y transmitir el paquete al servidor (es decir, el servidor DNS falso trabaja con el servidor en en su propio nombre); en caso de recibir un paquete del servidor, cambiar su dirección IP en el encabezado IP del paquete a la dirección IP del servidor DNS falso y transmitir el paquete al host (para el host, el servidor DNS falso es el servidor real ).

Un requisito previo para este tipo de ataque es la interceptación de la solicitud de DNS. Esto solo es posible si el atacante se encuentra en la ruta del tráfico principal o en el segmento del servidor DNS real. El cumplimiento de una de estas condiciones para la ubicación del atacante en la red hace que un ataque tan remoto sea difícil de implementar en la práctica (lo más probable es que el atacante no pueda entrar en el segmento del servidor DNS, y más aún en el inter. -segmento canal de comunicación). Sin embargo, si se cumplen estas condiciones, es posible llevar a cabo un ataque remoto de segmentos cruzados en Internet. El resultado de este ataque es la introducción de una correspondencia impuesta entre la dirección IP y nombre de dominio a la caché del servidor DNS. Como resultado de la ejecución exitosa de un ataque de este tipo, todos los usuarios del servidor DNS recibirán información incorrecta sobre los nombres de dominio y las direcciones IP. Este ataque se caracteriza por gran cantidad Paquetes DNS con el mismo nombre de dominio. Esto se debe a la necesidad de seleccionar algunos parámetros de intercambio de DNS.

Como muestra el análisis de los métodos de protección existentes, los ataques pueden contrarrestarse con los siguientes métodos. Convirtiendo DNS a TCP El cambio de UDP a TCP ralentizará un poco el sistema. Al usar TCP, es necesario crear una conexión virtual, y también vale la pena considerar que los sistemas operativos de la red final primero envían una solicitud de DNS utilizando el protocolo UDP, y si reciben una respuesta especial del servidor DNS, luego la red. El sistema operativo enviará una solicitud de DNS mediante TCP ... El uso de TCP complicará el ataque de suplantación de paquetes, pero lo ralentizará. Analizando el tráfico de DNS. Puede contrarrestar los ataques analizando el tráfico. Los paquetes falsos con direcciones IP falsas se envían constantemente al servidor DNS. Si el paquete falso recibido coincide con la solicitud, la IP falsa se acepta como verdadera. Si el paquete no es interceptado desde el servidor, entonces el ataque se caracteriza por una gran cantidad de paquetes DNS con el mismo nombre. Esto se debe a la necesidad de seleccionar algunos parámetros de intercambio de DNS. Al analizar el tráfico de DNS, puede ignorar dichos paquetes para evitar falsificar la dirección IP.

Conclusiones Después de examinar el funcionamiento del servidor DNS, se puede ver que la versión actual es bastante subóptima y vulnerable a ataques de varios tipos. Puede contrarrestar los ataques analizando el tráfico de DNS o transfiriendo DNS de UPD a TCP. Ninguno de los métodos proporciona una protección completa contra los ataques; ambos métodos solo hacen que sea más difícil llevar a cabo un ataque. Ambos métodos requieren recursos adicionales del servidor. En el caso de la transferencia del servidor DNS a TCP, el tiempo de intercambio entre servidores también aumenta, ya que el protocolo UDP es más rápido que el protocolo TCP. Sobre el este momento, los modelos de contraataque propuestos son los más efectivos y conviene utilizarlos en combinación para conseguir la máxima seguridad posible.

Las tácticas de hacerse pasar por alguien para obtener acceso a datos confidenciales o cuentas bancarias son utilizadas con éxito no solo por los delincuentes en el mundo real, sino también por sus colegas en el espacio virtual. Esta práctica se denomina suplantación de identidad, una categoría colectiva que incluye los conceptos de suplantación de direcciones IP (envío de mensajes a computadoras utilizando la dirección IP de una fuente confiable), suplantación de correo electrónico (suplantación de la cabecera del correo electrónico para disfrazar al remitente verdadero) y suplantación de DNS (cambio la configuración del servidor DNS para la redirección del nombre de dominio a la dirección IP de los atacantes).

¿Cómo funciona la suplantación de identidad?

La suplantación de identidad es una técnica que se utiliza para hacerse pasar por otra persona con el fin de engañar a una red o un usuario específico para que confíe en la fuente de información. Por ejemplo, los piratas informáticos de suplantación de correo electrónico pueden engañar al usuario sobre la identidad del remitente y obtener acceso a datos confidenciales. O pueden intentar usar técnicas de suplantación de IP y DNS para engañar a la red del usuario y redirigirlos a sitios fraudulentos que se hacen pasar por los reales, lo que provoca que la computadora del usuario se infecte.

¿Cómo reconocer la suplantación de identidad?

La forma más sencilla de reconocer la suplantación de correo electrónico es que el objetivo directo es el propio usuario. Cualquier mensaje de correo electrónico Un correo que requiere información personal del usuario puede ser un intento de suplantación de identidad, especialmente si se le solicitan las credenciales. Recuerde, ninguna agencia gubernamental o privada de confianza solicita información personal de esta manera. Preste atención a la dirección del remitente para asegurarse de que sea legítima. Sin embargo, el usuario casi nunca sabrá que es víctima de suplantación de IP o DNS, aunque el hábito de prestar mucha atención a los detalles y cambios en el comportamiento habitual del sitio puede resultar sumamente beneficioso. Si el sitio o su comportamiento tiene la más mínima duda, es mejor abandonar la operación planificada para mantener sus datos y fondos seguros.

¿Cómo elimino la suplantación de identidad?

La suplantación de identidad consiste en enmascarar la verdadera fuente y, por lo tanto, no es fácil de "eliminar". Solo puede protegerse siguiendo el sentido común y observando reglas básicas Trabajo seguro en la red, por ejemplo, en ningún caso, sin facilitar sus datos personales por correo electrónico. correo, incluso si la reputación del remitente no está en duda.

Cómo prevenir la suplantación de identidad
  • No responda a mensajes que le pidan que envíe su información personal o sus credenciales.
  • Verifique la dirección del remitente cuidadosamente
  • Preste atención a comportamientos extraños o diferencias en los detalles de los sitios a los que está acostumbrado.
Protéjase de la suplantación de identidad

Por un lado, la protección contra la suplantación de identidad puede basarse en el cumplimiento de los principios básicos de navegación segura en Internet. Sin embargo, hay mucho más que puede hacer por su propia seguridad. En primer lugar, puede confiar la protección de su PC y los datos almacenados en él a una potente solución antivirus, por ejemplo, una de las desarrolladas por Avast, que protege de forma fiable contra sitios fraudulentos y bloquea los virus que intentan penetrar en su red.

La suplantación de identidad es un método de ataque interesante que muchos profesionales de la seguridad descuidan. Y en vano, muchísimo en vano. A partir de este artículo, comprenderá lo engañoso que puede ser este mundo diverso. ¡No crea en sus ojos!

ADVERTENCIA

Toda la información se proporciona únicamente con fines informativos. Ni el comité editorial ni el autor son responsables de los posibles daños causados ​​por los materiales de este artículo.

Intro

A menudo escucho de colegas en el taller que la suplantación de identidad como vector de ataque ni siquiera debería considerarse. Sin embargo, puedo asegurarle que si los métodos de suplantación de identidad se piensan cuidadosamente, entonces se pueden usar para mucho, mucho. Además, la escala y los resultados de tales ataques son a veces catastróficos. Después de todo, habiendo engañado a tus ojos una vez, seguiré engañándote. El argumento más importante a favor del hecho de que los ataques de parodia suponen un peligro real es que ni una sola persona es inmune a ellos, incluidos los profesionales. Cabe señalar aquí que la suplantación de identidad en sí misma no hace nada: para llevar a cabo un verdadero ataque de piratas informáticos, debe utilizar la post-explotación. En la mayoría de los casos, los objetivos de la posexplotación son adquisición estándar, escalada de privilegios, distribución masiva malware y, como resultado, el robo de datos personales y claves electrónicas digitales de los sistemas bancarios con mayor blanqueo de capitales. En este artículo, en primer lugar, quiero hablar sobre qué tipo de métodos de suplantación de identidad son en general y, en segundo lugar, contarles en detalle sobre algunos enfoques modernos. Por supuesto, toda la información se le proporciona solo para ayudarlo a defenderse de este tipo de ataques.

Spoofing pasado y presente

Inicialmente, el término "suplantación de identidad" se usó como un término de seguridad de red, lo que implicaba la falsificación exitosa de ciertos datos para obtener acceso no autorizado a un recurso de red en particular. Con el tiempo, este término comenzó a usarse en otras áreas de la seguridad de la información, aunque la mayoría de los llamados especialistas de la vieja escuela hoy en día continúan usando la palabra "spoofing" solo para aclarar el tipo de ataques a la red.

Primeros clones de IDN

El ataque homógrafo de IDN fue descrito por primera vez en 2001 por Evgeny Gabrilovich y Alex Gontmakher del Technion Israel Institute of Technology. Primer ataque exitoso conocido usando este método, se hizo público en 2005 en la conferencia de hackers ShmooCon. Los piratas informáticos lograron registrar un dominio falso pаypal.com (xn--pypal-4ve.com en Punycode), donde la primera letra a es cirílica. Una publicación en Slashdot.org llamó la atención del público sobre el problema, seguida tanto por los navegadores como por muchos administradores de dominio. nivel superior contramedidas desarrolladas e implementadas.

Entonces, cuando la Web estaba en su infancia, la mayor parte de los esfuerzos de los programadores y desarrolladores se dirigieron principalmente a optimizar los algoritmos para el funcionamiento de los protocolos de red. La seguridad no era tan crítica como lo es hoy y, como suele ser el caso, recibió muy poca atención. Como resultado, cometemos errores banales y fundamentales en protocolos de red, que continúan existiendo hoy, a pesar de varios tipos de parches (porque ningún parche puede parchear un error de protocolo lógico). Aquí, se necesitan cambios totales, que la Red en la vista existente simplemente no sobrevivirá. Por ejemplo, en el artículo "Ataques DNS: ayer, hoy, mañana" (] [ #5 2012), hablé sobre las catastróficas vulnerabilidades fundamentales en los sistemas DNS: el uso de UDP (que, a diferencia de TCP / IP, es inseguro porque carece de un mecanismo incorporado para evitar la suplantación de identidad) y la caché local.

Vectores

Dependiendo de las metas y los objetivos, los vectores de suplantación de identidad se pueden dividir en direcciones local (local) y de red (red). Son ellos los que consideraremos en este artículo. Como objeto de ataques en un vector local, el sistema operativo en sí, instalado en la computadora de la víctima, se considera más a menudo directamente, así como ciertos tipos de aplicaciones que a menudo requieren un análisis adicional según la situación. Por otro lado, los objetos de ataque con un vector de red son más abstractos. Los principales son los componentes. sistemas de información representada por redes locales y globales. Echemos un vistazo a los principales tipos de suplantación de identidad.

  1. Suplantación de TCP / IP y UDP: ataques a la capa de transporte. Debido a errores fundamentales en la implementación del transporte de los protocolos TCP y UDP, son posibles los siguientes tipos de ataques:
    • Suplantación de IP: la idea es suplantar la dirección IP cambiando el valor del campo de origen en el cuerpo del paquete IP. Se utiliza con el propósito de falsificar la dirección del atacante, por ejemplo, para llamar a un paquete de respuesta a la dirección deseada;
    • La suplantación de ARP es una técnica de ataque en redes Ethernet que le permite interceptar el tráfico entre hosts. Basado en el uso del protocolo ARP;
    • Caché de DNS Envenenamiento: envenenamiento de la caché de DNS del servidor;
    • Suplantación de NetBIOS / NBNS: basada en las características específicas de la resolución de nombres de máquinas locales dentro de las redes de Microsoft.
  2. Suplantación de referencias: suplantación de referencias.
  3. Envenenamiento de las redes de intercambio de archivos: phishing en redes de intercambio de archivos.
  4. Suplantación de identidad de llamadas: suplantación de un número de teléfono que suena en redes VoIP
  5. Suplantación de la dirección de correo electrónico: suplantación de la dirección de correo electrónico del remitente.
  6. Suplantación de GPS: suplantación de paquetes del satélite para confundir al dispositivo GPS.
  7. Suplantación de mensajes de voz: sustitución de números mensaje de voz con el propósito de suplantar contraseñas de la víctima.
  8. La suplantación de SMS es un método de suplantación de identidad basado en la suplantación de los números del remitente de un mensaje SMS.

Lo último en falsificación

Las técnicas más comunes ya son bastante antiguas y gastadas. Red global literalmente repleto de información sobre posibles variaciones de su funcionamiento y protección contra ellos. Hoy veremos varias de las últimas técnicas de suplantación de identidad que están ganando impulso, desde vectores locales hasta vectores de red. Entonces, todo está en orden.

Flamer y la escandalosa suplantación de certificados de Microsoft

Aviso de seguridad de Microsoft (2718704): los certificados digitales no autorizados pueden permitir la suplantación de identidad. Algo bastante interesante se encontró en copias del notorio bot espía Flamer: según los resultados de la ingeniería inversa de los componentes de este malware, se encontró un fragmento de código responsable de llevar a cabo ataques de suplantación de identidad como el phishing. Simulando la provisión de certificados originales de grandes empresas, el bot llevó a cabo un ataque MITM, cuya finalidad era interceptar los datos personales de los usuarios. red corporativa con posterior envío al servidor del desarrollador. Este incidente de suplantación recibió el aviso de seguridad n. ° 2718704 con una calificación de gravedad alta.

Suplantación de sistema operativo

1. Suplantación de extensiones: suplantación de extensiones de archivo

Una técnica que vio la luz gracias a los logros de un investigador chino en el campo de la seguridad de información Zhitao Zhou. La esencia de esta técnica es utilizar el carácter de control 0x202E (RLO) en el nombre del archivo, lo que le permite cambiar el orden de los caracteres cuando se muestra el nombre del archivo en Explorador de Windows(explorer.exe). A continuación, se muestra un ejemplo del uso de esta sencilla técnica:

Super música subida por 3 pm SCR

El archivo 3 pm.SCR no es más que un archivo ejecutable que implementa determinadas funciones (programa troyano. - Nota del editor). Si al principio del nombre del archivo "3 pm.SRC" inserta el carácter de control 0x202E (ver Fig. 1), entonces el orden de los caracteres se invierte y el nombre del archivo se muestra en el explorador. Windows ya de lo contrario:

Super música subida por RCS.mp3

Para cambiar el icono del archivo, utilice cualquier editor de recursos (Restaurador, Hacker de recursos). Esta técnica está diseñada para un usuario desprevenido que puede confundir este archivo con una canción y abrirlo con un doble clic, iniciando así un programa malicioso. Desafortunadamente, esta técnica no funcionará en programas analógicos de Explorer que sean compatibles con Unicode. A continuación se muestra el código C # que cambia el nombre de archivo anteponiendo el carácter de control 0x202E:

Public Sub U_202E (archivo como cadena, extensión como cadena) Dim d As Integer = file.Length - 4 Dim u As Char = ChrW (823) Dim t As Char () = extension.ToCharArray () Array.Reverse (t) Dim dest As String = file.Substring (0, d) & u & New String (t) & file.Substring (d) System.IO.File.Move (file, dest) End Sub

2. Suplantación de nombre de archivo: clonación del nombre de archivo

Esta técnica fue presentada por el investigador japonés Yosuke Hasegawa en la conferencia Security-Momiji. Se basa en el uso de caracteres de longitud cero (caracteres de ANCHO CERO), que no afectan de ninguna manera la visualización del nombre del archivo (ver Fig. 2). A continuación se muestran todos los símbolos de esta categoría:

U + 200B (ESPACIO DE ANCHO CERO) - U + 200C (ANCHO CERO SIN EMPOTRAR) - U + 200D (EMPALMADOR DE ANCHO CERO) - U + FEFF (ESPACIO SIN ROTURA DE ANCHO CERO) - U + 202A (DE IZQUIERDA A DERECHA EMPOTRAR)

Además, es posible utilizar la codificación UTF para falsificar los nombres de archivos existentes. Esta técnica suele ser utilizada por malware moderno. Encontré muestras de malware que llevaron a cabo este tipo de ataques. Por ejemplo, el malware TrojanDropper: Win32 / Vundo.L (utilizado para phishing en sitios vk.com, vkontakte.ru, * odnoklassniki.ru) utiliza exactamente esta técnica.


El archivo% SystemRoot% \ system32 \ drivers \ etc \ hosts se copió en el archivo de clonación de hosts con el carácter UTF "o" (0x043E), después de lo cual el original el archivo de hosts atribuido archivo oculto y su contenido se sobrescribió con la adición de las siguientes entradas:

92.38.66.111 odnoklassniki.ru 92.38.66.111 vk.com 92.38.66.111 vkontakte.ru


Falsificación de navegadores web

1. Barra de estado / falsificación de enlaces

El principio de este ataque es cambiar dinámicamente la dirección de un enlace de hipertexto ( ). Por ejemplo, la víctima coloca el cursor del mouse sobre un enlace, después de lo cual la dirección a la que conduce este enlace se muestra en la barra de estado del navegador. Después de hacer clic en el enlace, el complicado código JavaScript reemplaza dinámicamente la dirección de referencia. Un investigador amigo mío, conocido con el sobrenombre de iamjuza, estudió y desarrolló PoC para usar esta técnica en la práctica, pero sus desarrollos no fueron universales y operaron solo en navegadores específicos. En un estudio similar, obtuve mejores resultados al poder hacer que esta técnica de spoofer sea universalmente explotable en todos los motores de navegador. La prueba de concepto se publica en 1337day.com. La implementación técnica se ve así:

Método this.href = ":
Método location.replace (""):

Methon location.assign (""):

Método window.location.assign (""):

Método window.location.replace (""):

Método window.location.href = "":

El código HTML proporcionado reemplaza dinámicamente la dirección especificada ( www.google.com) a la dirección del sitio] [() utilizando varios métodos basados ​​en el evento JavaScript onclick = "".

2. Suplantación de la barra de direcciones URL: sustitución de un enlace en la barra de direcciones del navegador.

A primera vista, esto parece imposible, pero créame, esto es solo una tarea para desarrollar el ingenio. Considere la vulnerabilidad CVE-2011-1452, que falsificará la barra de direcciones en el invencible Google Chrome hasta la versión 11.0.696.57:

Haz click en mi

  • se abre una nueva ventana (spoofing.php) con la asignación a la variable "a";
  • después de 4500 microsegundos (4,5 segundos) (función window.setTimeout), se devuelve el historial de transición, por lo que la función a.history.back () asignada a la variable "a" es responsable;
  • después de 5000 microsegundos, la variable "a" se establece en una nueva ubicación para spoofing.php, ubicada en el mismo directorio.

Por lo tanto, la barra de direcciones se reescribe a la nueva URL en el contexto de la primera página del "padre".

La próxima vulnerabilidad CVE-2010-4045 (Opera<= 10.62):

Prueba de concepto: suplantación de la barra de ubicación alta de OPERA




Cuando hace clic en el botón, que está representado por una imagen (), la página se recarga automáticamente (location.reload ()), mientras que es posible reescribir la barra de direcciones en el contexto de la pestaña actual.

Algún sitio web de pago / banco incluido aquí.
  1. iniciar poc haga clic en el botón para ejecutar la poc.


"); myWindow.focus(); return false; }




Al hacer clic en el botón Demostración, tanto la variable como el objeto myWindow reciben el valor de una función que abre el sitio apple.com con dimensiones 200x100, que corresponde al área de extensión del navegador Safari para dispositivos móviles. A continuación, myWindow inyecta código HTML (JavaScript / VB / etc.) adicional mediante la función document.write (). El último paso es llevar el foco del navegador Safari al objeto myWindow.

No hay nada complicado en falsificar la dirección en la barra de direcciones del navegador, lo único es que debes usar tu ingenio correctamente donde se requiere ;-).

3. Suplantación de código fuente: suplantación del contenido de la página y el código fuente

La explotación se realiza gracias al ya conocido carácter de control UTF-8 0x202E (RLO). El método fue descubierto por el estudiante de Virginia Tech, John Kurlak. Para demostrar la técnica, utilizó la función JavaScript History.replaceState (), que le permite cambiar dinámicamente la dirección de la página en la barra de direcciones. Prueba de concepto (source.html):

Fuente

¿Pueden ver mi fuente desde Chrome?



Contenido del archivo source.html [% 20% 2E] Puede, pero no tan fácilmente ...

La esencia de este método es reemplazar el contenido del código fuente de la página usando el truco con el carácter de control RLO al final del archivo (ver Figura 4). Cuando intentamos ver el código fuente de la página source.html, obtenemos el contenido del segundo archivo source.html% 20% 2E. Un método de suplantación bastante interesante y exótico, con un beneficio muy extraño, como se podría pensar a primera vista. Lo más interesante es que este script le permite "ocultar" el código fuente de la página, enmascarando no solo en el contexto de la dirección, sino también en el contexto del nombre de host.


4. Clones de IDN: una técnica basada en la similitud externa de mostrar nombres de dominio.

No hay nada innovador aquí, la técnica se ha practicado desde el inicio del sistema DNS, pero fue el uso de IDN (nombres de dominio internacionalizados) lo que hizo posible crear "clones" de nombres de dominio casi indistinguibles. La implementación técnica del ataque de phishing es la siguiente:

  1. Se registra un nombre de dominio que es lo más similar posible en ortografía al dominio atacado. Por lo general, se utiliza la similitud de letras con números en algunas fuentes (letra ly número 1, letra O y número 0), similitud de combinaciones de letras (rn y m, cl y d).
  2. Se crea una falsificación del sitio original, que se coloca en el "clon" creado.
  3. Los enlaces a un dominio de phishing se difunden (correo no deseado, correo no deseado en las redes sociales, a través de servicios populares como Twitter, uso de iframes, puertas de enlace).
  4. Resulta ser una ganancia :).

La principal diferencia entre este ataque, basado en la similitud de los nombres de dominio, en comparación con otros tipos de phishing que utilizan páginas web ficticias, es que no requiere interferencia con los protocolos de red: desde un punto de vista técnico, un dominio ficticio es legítimo.

Los métodos para protegerse contra los ataques de IDN comenzaron a implementarse a mediados de 2005, cuando los registradores de nombres de dominio adoptaron acuerdos para restringir la capacidad de registrar cualquier dominio de IDN. Por ejemplo, el dominio .org internacional limita el número de caracteres permitidos a uno u otro subconjunto del alfabeto latino extendido. Pero gracias a algunos registradores sin escrúpulos y al ingenio, incluso hoy en día existen todas las oportunidades para registrar un dominio de phishing.

La defensa más radical contra la amenaza homográfica sería eliminar por completo la decodificación de IDN en exhibición. Entonces, el nombre ficticio siempre comenzaría con "xn" y terminaría con una secuencia ilegible de caracteres, que lo distinguiría claramente del original. Desafortunadamente, esta opción niega casi todos los beneficios de los IDN.

La principal protección contra la suplantación de IDN en el lado del cliente es la barra de estado del navegador. Cuando pasas el cursor sobre el enlace en la barra de estado, se muestra el equivalente en código punyco del dominio IDN, lo que sugiere inmediatamente una posible suplantación de identidad (phishing). Pero esto no es una panacea, puedes cometer un error si usas tu ingenio ;-). Vea mi exploit universal para todos los motores de navegador.

Conclusión

La suplantación de identidad siempre ha sido y siempre estará en demanda, porque es la base y garantía para ataques exitosos en muchas direcciones. Espero que hayas sacado las conclusiones correctas. Esté atento a la inmensidad de la Web.





¿Te gustó el artículo? Compártelo