domingo, 4 de mayo de 2008

Variables del Phishing - Vulnerabilidades de los clientes

El uso de sofisticados clientes Web para navegar, como cualquier software comercial, son a menudo vulnerables a ataques. Cuantas más funcionalidades incorpore el navegador, es más probable que exista un bug que pueda ser explotado por un atacante para acceder, u observar, información confidencial de la victima.
Mientras que los vendedores del software hacen grandes esfuerzos para parchear las vulnerabilidades, los usuarios particulares aplican rara vez dichas medidas. Aunado a la capacidad de instalar agregaciones (tales como flash, RealPlayer y otros medios embebidos) implican nuevas oportunidades de ataque.
Similar a las amenazas de los virus y gusanos, estas vulnerabilidades se pueden explotar de diversas maneras. Muchos de los ataques no se pueden bloquear por los antivirus pues son a menudo mucho más duros de detectar y por lo tanto de prevenir (P.e. la etapa en la cual funcionaría el antivirus, sería después del ataque y solamente si el atacante intenta instalar un troyano o un Keylogger conocido).
Ejemplo: URL del Microsoft Internet Explorer que funciona mal por la inserción de un carácter (en este caso 0x01 - representado como la secuencia escape %01) dentro de la sección del Username del Friendly Login URL, redirigiría a un usuario al servidor de los atacantes, pero los caracteres después de %01 no se exhibirían en el campo de direcciones del navegador. Por lo tanto este ataque se podía utilizar para ofuscar el URL de los atacantes.

Variables del Phishing - Esnifando los datos de la victima



Un viejo favorito entre la comunidad hacker y cada vez más popular entre los Phishers, es el uso de Key-loggers y screen-grabbers para observar datos confidenciales de clientes que se introducen en aplicaciones Web.



Esta información se recoge localmente y es recuperada por el atacante por los métodos siguientes:



• Flujo continuo de datos (p.e. se envían los datos tan pronto como se generen) usando un previo par de envió/recepción de datos. Para hacer esto, el atacante debe a menudo mantener una conexión abierta a la computadora de la victima.



• Recolección y procesamiento por lotes de la información para la subida al servidor del atacante. Esto se puede hacer con protocolos tales como ftp, HTTP, Smtp, etc.


• Recolección por puerta trasera por el atacante. El software malicioso permite que el atacante conecte remotamente con la máquina del cliente y coja los datos a medida que los precise.


1- Key-loggers: El propósito de los Keyloggers es observar y registrar toda tecla presionada por la victima, especialmente, cuando den datos de autentificación a las entidades objetivo. Con esta información en poder del Phisher puede, más adelante, utilizarla en su beneficio. Los Keyloggers pueden ser objetos pre-compilados que observan todas las teclas presionadas, sin importar el uso o el contexto (p.e. podrían ser utilizados para observar al cliente que usaba un procesador de texto para redactar un documento), o pueden ser escritos en código scripting del navegador para observar las teclas pulsadas según el contexto del navegador Web.

2- Screen-grabbers: Algunos ataques sofisticados de Phishing hacen uso de código diseñado para tomar un “pantallazo” del navegador para visualizar los datos suministrados a la aplicación Web. Esta funcionalidad se utiliza para superar algunas de las medidas seguras que están incorporando las entidades bancarias para prevenir el uso de Keyloggers. En muchos casos, solamente se requiere una ventana relevante y el software del Phisher capturará solamente estos datos, así las transferencias de subidas serán más pequeñas y rápidas.




Variables del Phishing - Ataque oculto

Más allá de las técnicas de la ofuscación ya mostradas, un phisher puede hacer uso del HTML, DHTML y de otros códigos programables que pueden interpretar los navegadores de Internet de los clientes y manipular la información visible en ellos. En muchos casos el atacante utilizará estas técnicas para falsear el contenido (particularmente la fuente del contenido de la página) simulando ser del sitio verdadero

Los vectores más comunes incluyen:
1. Marcos ocultos: Los marcos es un método popular de ocultar el ataque debido a la uniformidad de los navegadores y su fácil codificación. Por ejemplo, se definen dos marcos. El primer marco contiene la información legítima del sitio URL, mientras que el segundo marco - ocupando el 0% del interfaz del browser - referencia el contenido elegido por los Phishers. La página enlazada dentro del marco oculto se puede utilizar para llevar el contenido adicional (p.e. contenido de eliminación de la página o substitución gráfica), recibiendo la información confidencial tal como SessionID o algo más nefasto; por ejemplo ejecutar código de grabación de la pantalla y grabación de pulsaciones de teclado de los códigos secretos. Este ataque se apoya:

· Ocultar el origen del atacante. Solamente la URL del marco principal será visible desde el interfaz del navegador a menos que el usuario siga un enlace con el atributo destino a “_top”.

· Proporcionan una falsa seguridad HTTPS (que fuerza el browser a exhibir un candado o una llave similar a sitio seguro) para el contenido de los sitios, mientras que todavía se usa el HTTP inseguro para el de la página oculta y sus operaciones.

· Ocultando código HTML a la victima. Los clientes no podrán ver el código oculto de las páginas con las funciones estándares ver origen de la fuente.

· Carga imágenes y contenido HTML en segundo plano para su uso maliciosa más tarde.
· Las propiedades de la página solo mostraran en la mayoría de navegadores los datos del marco visible.

· Almacenar e implementar operaciones en segundo plano que informarán al atacante de los movimientos de la victima en el sitio real.

· Combinado con programación del navegador, es posible variar la barra de herramientas del mismo; incluyendo la información de URL y cabeceras de página.

2. Anulando contenido de páginas: Existen varios métodos para eliminar el contenido de una página. Uno de los métodos más populares es insertar contenido falso dentro de una página es utilizar la función de DHTML - DIV. La función del DIV permite que un atacante ponga el contenido en un “contenedor virtual”, dando una posición y un tamaño absolutos con el método del STYLE, puede ser colocado para ocultar o reemplazar (posicionándolo encima) el contenido subyacente. Este contenido malévolo se puede enviar con una URL larga o refiriéndose a un script almacenado. Este método permite que un atacante construya una página completa (incluyendo gráficos y los elementos de auxiliares de código script) encima de la página verdadera.

3. Substitución gráfica: Mientras que es posible sobreescribir el contenido de la página fácilmente con múltiples métodos, un problema para los Phishers es el de las pistas visuales específicas del navegador a un ataque. Estas pistas incluyen la URL presentado dentro del campo de direcciones, el candado seguro que representaba un HTTPS de conexión cifrada, y el origen de la página. Un método común usado para vencer estas pistas visuales está con el uso de los scripting del navegador (tales como Javascript, VBScript y Java) para posicionar gráficos especialmente creados con la información falsa. Un ejemplo: el atacante utiliza una barra de direcciones y un candado seguro falsos cuidadosamente colocados en la zona para ocultar la información verdadera. Mientras que el Phisher debe utilizar gráficos adecuados al software del navegador, es trivial para realizar esta falsedad de Web que los atacantes determinen el tipo del navegador y la versión exacta con simples consultas de código. Así el atacante puede preparar las imágenes para una gama de navegadores usuales y preparar su página para que se utilicen las imágenes apropiadas.
Es importante observar que los ataques de Phishing en el pasado han combinado la substitución gráfica con código scripting adicional para falsificar otra funcionalidad del browser. Los ejemplos incluyen:
· Implementando funcionalidad click-derecho y menú acceso.

· Presentando falsos pop-ups igual que lo haría el verdadero navegador o la Aplicación de la Web

· Exhibiendo falsos certificados SSL cuando visualizamos las propiedades de seguridad, a través del uso de imágenes

· Usando simples comandos embebidos de HTML, un atacante puede secuestrar el escritorio del cliente entero y construir un interfaz falso para capturar y para manipular lo que ve el cliente. Se hace esto usando los comandos window.createPopup() y popup.show().

Variables del Phishing - Preset Session

Dado que los protocolos HTTP y HTTPS son protocolos desautenticados, las aplicaciones Web deben utilizar métodos de seguimiento de los usuarios a través de sus páginas y controlar también el acceso a recursos que requieran la autenticación. La manera más común de control es utilizar identificadores de Sesión (SessionID). Estos SessionID se pueden aplicar a través de cookies, campos ocultos o de los campos que figuran dentro de las URL de la página
Muchas aplicaciones Web implementan sistemas débiles de control de identificación de Sesión y permitirán a los clientes de conexión definir la SessionID. La aplicación de Web chequeara al usuario que utiliza SessionID, pero le requerirá generalmente al usuario a identificarse (por ejemplo. información de identificación por un formulario de entrada) antes de conseguir acceso al contenido "restringido" de la página.
En esta clase de ataque el mensaje de phishing contiene una conexión Web al servidor verdadero de la aplicación, pero contiene también un campo predefinido de SessionID. El sistema de atacadores sondea constantemente al servidor de la aplicación para una página restringida (por ejemplo. una página de banca electrónica que permita las transferencias de fondos) utilizando el SessionID. Hasta que un usuario válido autentique contra esta SessionID, el atacador recibirá los errores del servidor Web (por ejemplo. 404 file not found, 302 server redirect, etc.).
El phisher debe esperar hasta que un receptor del mensaje siga el enlace y se autentifique la SessionID. Una vez autentificado, el servidor de la aplicación permitirá cualquier conexión que utiliza el SessionID autorizado a conseguir el acceso al contenido restringido. Por lo tanto, el atacador puede utilizar una SessionID fija para conseguir el acceso a una página restringida para llevar su ataque.
Web Statistics