16 sept. 2008

Helix

Helix

Es un Live CD basado en Knoppix. Centrado en la respuesta a incidentes y la informática forense.

Requisitos mínimos

Helix necesita mucha memoria RAM y una arquitectura x86 (Intel, AMD, etc.) Es posible hacerlo funcionar en un sistema con al menos 48MB de RAM, pero no se puede esperar un desempeño óptimo. Se necesita una computadora con procesador tipo Pentium  con al menos 128 MB de RAM.

Instalación Helix

En pocas palabras Helix no se instala en la computadora. El proceso para utilizar Helix es el siguiente:

1) Descargar la imagen de CD desde http://www.e-fense.com/helix/downloads.php

2) Grabar la imagen de CD (Helix.iso) a un CD.

3) Asegúrese de que su máquina puede arrancar desde un CD. (Verificar la BIOS)

4) Reinicie la máquina con el CD en la unidad de CD-ROM.

5) Usar Helix.

 
Herramientas incluidas

Live CD:

2hash (v. 0.2) Una simple herramienta GPL para calcular el md5 y sha1 de un fichero. Si utiliza hashing regularmente este programa le ayudará a ahorrar espacio en disco.

Adepto (v. 2.0) con soporte para AFF. Programa de imágenes de e-fense utilizando dcfldd.

AFF (aimage) (v. 1.6.31) El Advanced Forensic Format (AFF) es un formato abierto para el almacenamiento de imágenes de disco. Proporciona algunas herramientas como compresión, verificación de códigos hash, e información de gestión de meta-datos

AIR (v. 1.2.8) (Automated Image & Restore) es un GUI front-end1 para dd y dcfldd diseñado para crear imágenes forenses. Permite verificar mediante MD5/SHA1, unidades de cinta SCSI, imágenes sobre una red TCP / IP, división de imágenes, así como información detallada de los inicios de sesión

Autopsy (v. 2.08) El Autopsy Forensic Browser es una interfaz gráfica para la línea de comandos del Sleuth Kit. Juntos, le permiten investigar el sistema de archivos y los volúmenes de una computadora.

chkrootkit (v. 0.46) Script del shell para comprobar el sistema de binarios para la modificación de rootkit.

chntpw (v. 0.99.2 040105) Es una utilidad de Linux para (re) establecer la contraseña de cualquier usuario con una cuenta valida (local) en sistemas WinNT o Win2000, modificando el password cifrado en el archivo SAM. No es necesario conocer la contraseña anterior para establecer una nueva. Trabaja off-line (es decir, se debe apagar la computadora y arrancar desde un disco de Linux). El disco de arranque incluye herramientas para acceder a las particiones NTFS. Esta utilidad trabaja con SYSKEY e incluye la opción de apagar la maquina. Se proporciona una imagen de disco de arranque

ClamAV (v. 0.88.4) Programa Anti-Virus

dcfldd (v. 1.3.4) Es una versión mejorada de dd con características útiles para la investigación forense y la seguridad.

endeavour2 File Manager (v. 2.7.1)  Es una suite completa de gestión de archivos cuenta con un administrador de archivos; navegador de imágenes, archivador, papelera de reciclaje, y un conjunto de aplicaciones para administrar archivos y programas Permite montaje de la unidad de disco, una apariencia completamente personalizable, un sistema de tipos MIME, permite el clásico drag & drop, y es compatible con KDE y GNOME

Ethereal (v. 0.10.13) 11] Es utilizado por profesionales de todo el mundo para la solución de problemas, análisis y desarrollo de protocolos, y como software educativo. Tiene todas las características estándar que se pueden esperar en un analizador de protocolos, y varias características que no se habían visto en ningún otro producto

e2recover (v. 1.0) 12] Es una herramientas que ayuda en la recuperación de archivos borrados de los sistemas de ficheros ext2.

e2undel (v. 0.82) 13] Se trata de una consola interactiva que recupera los datos de archivos borrados en un sistema de ficheros ext2.

fatback (v. 1.3) 14] Un programa utilizado para recuperar archivos borrados de un sistema de ficheros FAT.

Firefox (v. 1.5.0.1) 15] Navegador de Internet.

foomatic-gui (v. 0.7.4.17) 16] Es un sistema de base de datos para integrar software libre con los controladores de impresora comunes bajo Unix. Soporta CUPS, LPRng, LPD, GNUlpr, Solaris LP, PPR, PDQ, CPS, e impresión directa con el software libre conocido para impresoras y cada impresora que se sabe funciona con estos drivers.

foremost (v. 1.3) 17] Es un programa de consola para recuperar los archivos basándose en sus cabeceras, fin de archivo, y las estructuras de datos internas. Este proceso se conoce comúnmente como data carving. Puede trabajar en los archivos de imagen, como los generados por dd, Safeback, Encase, etc, o directamente en el disco. La configuración de  encabezados y los finales de archivos se pueden especificar de una plantilla o bien se puede utilizar la línea de comandos para especificar una función de los tipos de archivos predeterminados. Estos permiten una más fiable y rápida recuperación.

ftimes (v. 3.4.0) 18] FTimes es un sistema baselining2 y de recopilación de pruebas. El objetivo principal de FTimes es reunir y / o desarrollar la información detallada y los atributos especificados acerca de directorios y archivos de modo que favorezcan el análisis de intrusiones y el análisis forense.

galleta (v. 1.0) 19] galleta analiza la información de un archivo de cookies y permite que el resultado sea importado a su programa de hoja de cálculo favorita. Galleta está construido para trabajar en múltiples plataformas y se ejecutará en Windows (a través de Cygwin), Mac OS X, Linux y plataformas * BSD.

Gcombust - Graphical CD Burner (v. 0.1.55-2) 20] gcombust es un frontend3 GTK+ para mkisofs, mkhybrid, cdrecord y cdlabelgen. Tiene un primitivo soporte para controlar el directorio (root) estructura y el tamaño de una imagen sin copiar archivos / symlinking4 o escribir 10 líneas de argumentos. También puede maximizar el uso de disco de insinuando que directorios / archivos usar.

GHex (v. 2.8.1) 21] GHex es un simple editor binario. Permite a los usuarios ver y editar un archivo binario en hexadecimal y ASCII con un sistema de deshacer / rehacer. Permite buscar y reemplazar funciones, conversión entre binario, octal, decimal y hexadecimal, el concepto MDI permite a los usuarios editar varios documentos con múltiples vistas de cada uno.

GQView (v. 2.0.1) 22] Un navegador de imágenes que permite acceder y ver el árbol de directorios.

Graveman - Graphical CD Burner (v. 0.3.12-4-2.1) 23] es una GUI para herramientas de CD (permite grabar, leer y mkisofs5) Permite grabar archivos en un CD (como Wav, Ogg, Mp3, o FLAC) y datos, ademas de hacer copias de CD

grepmail (v. 5.3032) 24] grepmail realiza búsquedas en un buzón de correo normal o comprimido (gzip, bzip2, o tzip) para una determinada expresión regular y devuelve los mensajes que coincidan con la consulta. También puede realizar búsquedas limitadas por la fecha y el tamaño.  
 

md5deep Suite (v. 1.12) 26] Es un conjunto de programas multiplataforma para calcular MD5, SHA-1, SHA-256, Tigre. Los programas se ejecutan en Windows, Linux, Cygwin, * BSD, OS X, Solaris, y debe correr en la mayoría de las otras plataformas. md5deep es similar a la suma md5 del programa que se encuentra en el paquete GNU Coreutils.

mac_grab (v. 1.0) 27] Programa de e-fense creado para apoderarse de todos los tiempos MAC de un sistema.

Magicrescue (v. 1.1.4) 28] Escanea un bloque de dispositivos para encontrar los tipos de archivos que sabe recuperar y llama un programa externo para ello. Busca en los “bytes mágicos”, así que puede ser utilizado como una utilidad de recuperación o para recobrar un dispositivo dañado o bien una partición. Mientras los datos del archivo se encuentren allí, los encontrará. Funciona en cualquier sistema de ficheros, pero si el sistema de archivos esta muy fragmentado sólo puede recuperar la primera parte de cada archivo.

NTFS-3G (c. 2006-08-22-BETA) 29] Finalmente Linux tiene total soporte para leer / escribir en particiones NTFS. Pruebas preliminares mostraron que aun con drivers no optimizados algunas veces se logran velocidades que duplican la velocidad de ext3 y que son entre 20 y 50 veces más rápido que el NTFS comercial de Paragon. Es interesante mencionar que Captive NTFS, que usa el driver nativo de Windows, falló todas las pruebas provocando perdida de datos

Outguess (v. 0.2) 30] Versión mejorada del stegdetec. Stegdetect es ahora compatible con el análisis lineal discriminante para detectar cualquier sistema JPEG basado en stego. También ofrece una mejor detección de F5.

Pasco (v. 1.031] Pasco analiza la información en un fichero index.dat y los resultados pueden ser importados a su programa de hoja de cálculo favorito. Pasco está construido para trabajar en múltiples plataformas y se ejecutará en Windows (a través de Cygwin), Mac OS X, Linux y plataformas * BSD.

PyFlag (v. 0.80.1) 32] FLAG (Forensic and Log Analysis GUI) fue diseñado para simplificar el proceso de análisis de archivos de registro y de investigaciones forenses. Con frecuencia, al investigar un caso muy grande, se necesita analizar y correlacionar una gran cantidad de datos. PyFlag utiliza una base de datos backend6 para ayudar en la gestión de grandes volúmenes de datos. Esto permite a PyFlag permanecer receptivo y agilizar las operaciones de manipulación de datos.

qtparted (v. 0.4.5-cvs) 33] QTParted es un clon de Partition Magic escrito en C + + usando el kit de herramientas denominado Qt, permite por tanto crear, modificar y eliminar particiones en un disco duro.

Retriever (v. 2.0) 34] Programa de e-fense creado para dar un vistazo rápido a un sistema e identificar las imágenes, los documentos de texto y otros tipos de archivos.

rkhunter (v. 1.2.7) 35] Rootkit Hunter escanea los archivos y sistemas de rootkits conocidos y desconocidos, back doors y sniffers. El paquete contiene un script para el shell, unas pocas bases de datos basados en texto, y módulos opcionales escritos en Perl. Debe ejecutarse en cualquier clon de Unix.

regviewer (v. 0.1) 36] Basado en la GUI del navegador de registro de Windows. Es independiente de la plataforma permitiendo examinar el registro de Windows desde cualquier otra plataforma. Es particularmente útil cuando se realizan análisis forenses de archivos Windows desde un sistema del tipo *nix

rifiuti (v. 1.0) 37] Rifiuti analizará la información en un archivo INFO2 y  los resultados podrán ser importados a su programa de hoja de cálculo favorita. Rifiuti está construido para trabajar en múltiples plataformas y se ejecutará en Windows (a través de Cygwin), Mac OS X, Linux y plataformas * BSD.

Scalpel (v. 1.54) 38] Una herramienta digital forense utilizada para el modelado7 de datos de archivos de una imagen de disco basándose en el archivo de configuración de requerimientos.

Sleuthkit (v. 2.06) 39] Es una colección de herramientas de línea de comandos basadas en UNIX que permiten investigar un computadora. La orientación actual de las herramientas es el archivo y sistemas de volumen y TSK soporta sistemas de ficheros FAT, Ext2 / 3, NTFS, UFS, ISO 9660.  

ssdeep (v. 1.1) 40] Calcula un suma de verificación o checksum basados en los archivos que se crearon a partir del piecewise hashes8. Se puede especificar al programa que verifique estas sumas contra un archivo de sumas conocidas y que reporte cualquier coincidencia. La salida es escrita a la “salida normal”, mientras que los errores son enviados a “error estándar”.

Xfprot (v. 1.13) 43] XFPROT es una interfaz gráfica para el Antivirus F-Prot de Linux Small Business Edition. F-Prot Antivirus para Linux ha sido desarrollado por Frisk Software Internacional y es gratuito para uso personal y se puede descargar desde www.f-prot.com.

xhfs (v. 3.2.6) 44] xhfs Es un explorador para la navegación y copia de archivos en volúmenes HFS.

Xine-ui (v. 0.99.3) 45] Es un reproductor multimedia libre. Reproduce CDs, DVDs y VCDs. También decodifica archivos multimedia en formato AVI, MOV, WMV, MP3, locales, y archivos multimedia a través de Internet. Interpreta muchos de los formatos multimedia más comunes.

Xmms (v. 1.2.10) 46] Es un reproductor multimedia basado en el aspecto gráfico de WinAmp. XMMS interpreta MPEG 1/2/3, Ogg Vorbis, WAV, todos los formatos soportados por libmikmod, y CDs de audio.

xpdf (v. 3.01) 47] Es un visor de PDF, incluye también un extractor de texto PDF, un convertidor de PDF-a-PostScript 
 
 
 

Herramientas que corren bajo Windows  
 

Access PassView (v. 1.12) 48] Es una utilidad que permite acceder a la base de datos de contraseñas almacenados en un archivo mdb creados con Microsoft Access 95/97/200/XP o con el motor de base de datos Jet 3.0/4.0 Es muy útil si se olvida la contraseña de acceso

Astrick Logger (v. 1.02) 49] Muchas aplicaciones como CuteFTP, CoffeeCup Free FTP, VNC, IncrediMail, Outlook Express y otros, permite escribir una contraseña general, el texto, al introducir una contraseña se muestra como una secuencia de asteriscos (***). Esta utilidad revela las contraseñas almacenadas.

Drive Manager (v. 3.23) 50] Ha sido escrito para ayudarle a identificar las unidades que son del mismo tipo. Además de la etiqueta de volumen también muestra la información de los proveedores a fin de diferenciar múltiples unidades de CD/DVD y memorias por el nombre del fabricante, versión y fecha de revisión. También permite utilizar el número de serie como un número de identificación exclusivo para cada unidad.

FAU (v. 1035) 51] Herramienta de respuesta a incidentes que puede utilizarse para crear la imagen de un sistema, y de los dispositivos conectados.

FTK Imager (v. 2.5.1) 53] Permite adquirir imágenes de dispositivos físicos y lógicos, ver los datos de sistemas que utilizan FAT, NTFS, EXT 2 y 3, así como HFS y HFS +. Además, permite la creación de imágenes múltiples de una sola fuente y / o múltiples imágenes simultáneamente

galleta (v. 1.0) 54] galleta analiza la información de un archivo de cookies y permite que el resultado sea importado a su programa de hoja de cálculo favorita. Galleta está construido para trabajar en múltiples plataformas y se ejecutará en Windows (a través de Cygwin), Mac OS X, Linux y plataformas * BSD.

HoverSnap (v. 0.8) 55] Es una herramienta libre que permite tomar capturas de pantalla completa, ventana activa o de un área seleccionada.

IECookiesView (v. 1.70) 56] Es una pequeña utilidad que muestra los detalles de todas las cookies que IE almacena en una computadora. Además, permite ordenar los cookies, borrarlos, y ver información detallada acerca de cada uno de ellos e incluso permite guardar los "cookies" en un archivo de texto legible. Si se está conectado a una red, es posible ver las cookies de otros equipos

IEHistoryView (v. 1.32) 57] Permite ver y modificar el historial de las páginas web visitadas en Internet Explorer. También puede exportar elementos seleccionados a un archivo HTML.

IRCR (v. 2.358] Es un script para llamar a una colección de herramientas que recoge y / o analiza los datos de un sistema Microsoft Windows. Se puede ver como una captura del sistema en el pasado. La mayoría de las herramientas están orientadas a la recopilación de datos en lugar de análisis.

Mail PassView (v. 1.36) 59] Es una herramienta para la recuperación de contraseñas que revela las contraseñas y otros detalles de la cuenta para los siguientes clientes de correo electrónico: Outlook Express, Microsoft Outlook 2000, Microsoft Outlook 2002 / 2003, IncrediMail, Eudora, Netscape 6.x/7.x, Mozilla Thunderbird, Grupo Correo gratuito, Yahoo! Correo, Aplicación Messenger, Hotmail / MSN mail y Gmail.

MEMDump (v. 2.0) 60] Está diseñado para arrojar o copiar cualquier parte de 4GB de memoria de direcciones bajo MS-DOS y Windows 9x DOS a una consola de texto o archivo binario.

MessenPass (v. 1.08) 61] Permite recuperar la contraseña de una amplia variedad de programas populares de mensajería instantánea, incluyendo MSN Messenger, Windows Messenger, Yahoo Messenger, ICQ Lite 4.x/2003, AOL Instant Messenger , AOL Instant Messenger / Netscape 7, Trillian, GAIM y Miranda. Simplemente ejecute el programa y, este le mostrará una lista de todas las cuentas que se encuentran almacenadas en su PC, incluido el nombre de usuario y contraseñas

MozillaCookiesView (v. 1.11) 62] Es una alternativa a la “Cookie Manager” proporcionada por los navegadores Netscape y Mozilla. Muestra los detalles de todas las cookies almacenadas en el interior del archivo de cookies (cookies.txt) en una tabla.

Recuperación de contraseña de red (v. 1.03) 63] Puede recuperar todas las contraseñas de red almacenados en su además de las cuentas de. NET Passport que se almacenan localmente.

PC Inspector File Recovery (v. 4.0) 65] Es un programa de recuperación de datos que soporta los sistemas de archivos FAT 12/16/32 y NTFS. Encuentra automáticamente las particiones, incluso si el sector de arranque o FAT ha sido borrado o dañado.

PC On / Off Time (v. 2.0) 66] Esta herramienta de seguimiento muestra las veces que una computadora ha estado activa durante las últimas 3 semanas.

Process Explorer (v. 10.2) 67] Consta de dos ventanas. La ventana superior muestra una lista de los procesos que se encuentran activos, incluyendo los nombres de sus propietarios, mientras que la información que se muestra en la ventana inferior depende del modo en que Process Explorer está.

Storage PassView (v. 1.6368] Es una pequeña utilidad que revela las contraseñas almacenadas en una computadora por Internet Explorer y Outlook Express. Incluyen todo el correo electrónico y las contraseñas de los sitios web para los que se ha elegido la opción de "recordar contraseña", así como la opción auto-completar las contraseñas.

PsTools Suite (v. 2.34) 69] Las herramientas incluidas en la suite PsTools, que se descarga de manera individual o en conjunto, son las siguientes:

 PsExec - ejecutar los procesos de forma remota  

     PsFile - muestra los archivos abiertos remotamente

    PsGetSid - mostrar el SID de un computadora o un usuario

    PsKill - matar procesos por su nombre o ID de proceso

    PsInfo - lista información sobre un sistema

    PsList - lista detallada información sobre los procesos

    PsLoggedOn - ver que el registrado a nivel local ya través de la distribución de los recursos

    PsLogList - volcado de los registros de registro de eventos

    PsPasswd - cambios de contraseñas de cuentas

    PsService - ver y controlar los servicios

    PsShutdown -  apaga y reinicia la pc. 
     

Pst Password Viewer (v. 1.0070] El cifrado de contraseña mediante PST es muy débil, ya que para cada archivo protegido por contraseña PST, existen varias contraseñas que pueden abrirlo. PstPassword ofrece 3 opciones diferentes de contraseñas. Es posible que una de ellas sea la contraseña original, pero también es posible que ninguna de estas contraseñas lo sean, sin embargo, las 3 contraseñas proporcionada por PstPassword se abrirá el archivo PST sin problemas.

reg (v.) 73] Muestra la información del registro y los valores en las entradas del registro, para el usuario local.

RegScanner (v. 1.30) 74] Permite escanear el registro, encontrar los valores de Registro que coincidan con los criterios de búsqueda especificados, y los muestra en una lista.

ReSysInfo (v. 2.1) 75] Es visor de la información de un sistema de Windows. La herramienta cuenta con 25 módulos de información: información BIOS, CMOS, escritorio, DirectX, unidades, fuentes, teclado, APM, Mainboard, MCI, mouse, multimedia, red, OpenGL, contraseñas, puertos, impresoras y fax, los procesos, procesador, sistema de video, información general acerca de Windows y un resumen. ReSysInfo se puede exportar la información a 3 diferentes formatos: TXT, HTML y XML.

rifiuti (v. 1.0) 76] Rifiuti analizará la información en un archivo INFO2 y  los resultados podrán ser importados a su programa de hoja de cálculo favorita. Rifiuti está construido para trabajar en múltiples plataformas y se ejecutará en Windows (a través de Cygwin), Mac OS X, Linux y plataformas * BSD.

Rootkit (v. 1.7) 77] Rootkit es una utilidad avanzada de detección de rootkit. Funciona en Windows NT 4.0.

Secreport (v. 3.27.07) 78] Es una pequeña suite de dos herramientas de línea de comandos utilizadas para recopilar información relacionada con la seguridad de un sistema basado en Windows. Se puede utilizar estas herramientas para evaluar rápidamente el nivel de seguridad de un sistema de Windows y comparar los resultados con la línea de partida.

Windows Forensic Toolchest (v. 2.0) 79] Fue escrito para proporcionar un sistema automatizado de respuesta a incidentes en un sistema Windows y recoger la información de seguridad pertinente al sistema. Una persona con conocimientos de seguridad puede utilizarla para buscar signos de un incidente. Ofrece extensas posibilidades de log de todas sus acciones a lo largo de la operación realizando sumas de comprobación MD5 a lo largo del camino para asegurar que su producción es verificable.

Winaudit (v. 2.15) 80] WinAudit es fácil de usar, no es necesario tener conocimientos especiales para utilizar el programa. Se trata de un archivo self-contained único que no necesita instalación o configuración. Este programa puede ejecutarse desde un disquete o memoria USB. Simplemente se descarga el programa y se da un doble clic en el para utilizarlo. La interfaz de usuario ha sido traducida a varios idiomas gracias a muchas personas. El programa reporta prácticamente cada aspecto del inventario y configuración de la computadora. Los resultados son mostrados en un formato de página web, clasificando en categorías los resultados para facilitar la lectura y la búsqueda  Tanto si se esta interesado en el software instalado, el inventario de hardware, soporte técnico, seguridad o simplemente por curiosidad, WinAudit lo tiene todo. El programa tiene diversas herramientas para diagnostico de fallas del disco duro, mapeo de puertos, velocidad de conexión, así como la configuración del firewall y las actualizaciones de Windows ®

2 sept. 2008

XSS

Bien, pues ahora que estoy haciendo el servicio social como tramite para la titulación de mi carrera eh tenido que hacer algunas investigaciones, que planeo publicar aquí y en Wikipedia, ya que algunos temas no son tan comunes, y otros son muy comunes, pero casi todo esta en ingles, y lo que hay en español esta algo confuso.
Así que empecemos con la mas extensa XSS

Los sitios Web de la actualidad son más complejos que nunca, contienen una gran cantidad de contenido dinámico, haciendo que la experiencia del usuario sea más agradable. El contenido dinámico se logra a través del uso de aplicaciones Web que pueden enviar diferentes salidas a sus usuarios dependiendo de su configuración y necesidades. Los sitios dinámicos sufren de una amenaza que no afecta a los sitios estáticos, llamada Cross Site Scripting (XSS)

Este tipo de ataques se hacen cada vez más populares entre los hackers ya que es relativamente sencillo encontrar agujeros que permiten explotar esta vulnerabilidad Cada mes se descubren entre 10 y 25 agujeros XSS en productos comerciales.

Los sitios Web que utilizan SSL (para https) NO tienen mayor protección que aquellos sitios que carecen de esta protección, ya que las aplicaciones Web trabajan de la misma manera que antes, excepto que el ataque se realiza en una conexión cifrada.

Es una vulnerabilidad que muchos desarrolladores dejan pasar por alto, quizás por falta de un planeamiento de análisis de riesgos en el proceso de diseño, desarrollo e implementación de sus aplicativos, o simplemente no lo vean como una falla que les va a presentar problemas en su aplicación, incluso por desconocimiento de esta vulnerabilidad.

Sea cual sea el motivo por el cual no se ejecuten medidas de prevención con respecto a esta vulnerabilidad, es necesario saber, que es un tipo de ataque que se extiende cada día mas, hoy en día es muy común encontrar sitios y usuarios afectados por este tipo de agresión. Sitios como FBU.gov, CNN.com, Time.com, Ebay.com, Yahoo, entre otros han tenido una forma u otra de vulnerabilidades XSS. En los últimos meses, en México, se detecto esta vulnerabilidad en los routers del mayor proveedor de Internet de México, Telmex, que permitió redireccionar a los usuarios de cierto portal bancario.

Para ejecutar este tipo de ataque no es necesario ser un guru en el campo de la programación, ni desarrollar o utilizar herramientas complejas, basta con manejar un poco de las etiquetas de HTML y algún lenguaje de Scripting.

La clave primordial en el campo de la seguridad es no confiar en la entrada de datos de ningún usuario, ya que en algún momento estas entradas se puede convertir en una inserción de código malicioso, es por ello que la aplicación debe de validar cada uno de los campos en donde el usuario pueda o le sea requerido el ingreso de datos y dejar de lado la política de confianza al usuario.

Definición de Cross-Site-Scripting

El Cross-Site-Scripting es una vulnerabilidad que aprovecha la falta de mecanismos de filtrado en los campos de entrada y permiten el ingreso y envió de datos sin validación alguna, aceptando el envió de scripts completos, pudiendo generar secuencias de comandos maliciosas que impacten directamente en el sitio o en el equipo de un usuario. El Cross-Site-Scripting es una vulnerabilidad que puede causar un impacto tanto a una aplicación web como a usuarios que de manera inconsciente activen dicha secuencia de comandos.

Ocurre cuando la aplicación web acepta datos maliciosos de un usuario. Estos datos son por lo general enviados a través de un hipervínculo que contiene el código maligno. El usuario puede hacer clic en un enlace desde otro sitio Web, un mensajero instantáneo o simplemente al leer un tablero de mensajes o un e-mail. Usualmente el atacante cifrara la porción dañina del link en código HEX (o con algún otro método de cifrado) así que la petición se ve menos sospechosa para los usuarios. Después de que la información fue recabada por la aplicación Web, se crea una página de salida para el usuario que envió el código, pero de manera que parece la página válida del sitio. Muchos foros y libros de visitas permiten a los usuarios publicar entradas con html y javascript en él.

Un atacante puede usar XSS para enviar scripts maliciosos a un usuario ingenuo. El navegador del usuario no tiene forma de saber que no debe confiar en un determinado script y lo ejecutará. Ya que piensa que viene de una fuente confiable, pudiendo acceder a los cookies, tokens de sesión o cualquier información retenida por el navegador y que es usada por el sitio. Los scripts pueden incluso reescribir el contenido de la página.

Los ataques XSS son divididos por lo general en dos categorías: almacenados y reflejados. Los ataques almacenados son aquellos donde el código inyectado se almacena permanentemente en el servidor, como en una base de datos, en un foro de mensajes, libros de visita, etc. Los ataques reflejados se refiere a aquellos donde el código inyectado es reflejado por el servidor Web, como en un mensaje de error, o en los resultados de una búsqueda. Estos ataques son enviados a la victima usando otras vías como un e-mail, o algún otro servidor Web. Cuando un usuario cae en la trampa el código inyectado viaja al servidor Web vulnerable, que a su vez refleja el ataque hacia el navegador del usuario. El navegador ejecuta el script, ya que viene de un servidor “confiable”.

¿A quien Afecta?

El Cross-Site-Scripting es una vulnerabilidad que puede causar un impacto tanto a una aplicación web como a usuarios que de manera inconsciente activen dicha secuencia de comandos. Dicho código malicioso se compone de cadenas de datos cuyo contenido son scripts completos contenidos en enlaces o ejecutados desde formularios.

En caso de que sea ejecutado el script se ejecutara en el equipo del usuario con todos los privilegios permitidos por las políticas de seguridad configuradas en el navegador del usuario o del sitio visitado, pudiendo realizar acciones diversas como la captura de cookies de usuario o la activación de servicios y componentes del sistema operativo del usuario victima.

La mayor problemática es que estas cadenas de código se encuentran ocultas a la sombra de vínculos, de los cuales, el usuario normalmente no revisa el código y lo ejecuta con una política de confianza total, dicha ejecución se realiza de una manera indirecta, ya sea por una activación vía hipervínculo o por la ejecución al momento de la carga de un sitio afectado por este tipo de ataque, el atacante no realiza su acción pensando en un usuario en especifico si no que actúa de manera de que afectan a cualquier usuario que inocentemente caiga en dicha trampa, las formas mas comunes de realizar dicha agresión es por medio de correos electrónicos, vínculos falsos o ataques directos a sitios no preparados para este tipo de ataque.

Podemos encontrar una clasificación simple:

1. Ataque al usuario.

2. Ataque al Aplicativo.

Ataque al Usuario

Este es el ataque mas frecuente, debido al potencial de la información que se puede obtener mediante este tipo de agresión, ya que dependiendo del nivel de ingenio del atacante puede obtener información importante de un usuario victima extrayendo sus cookies y consiguiendo información almacenada en ellas o robando su sesión de usuario en un sitio web especifico.

Dentro de las diversas formas de ataque veremos dos de las más comunes.

Ataque vía correo electrónico:

Se basa en el envió de un correo electrónico a un usuario con un script oculto en un link a una dirección web, el atacante buscando motivar a su victima a seguir el enlace le ofrece un premio, regalo u oferta si visita dicho vinculo, al verse atraído por la información en el correo electrónico el usuario hace clic en el vinculo sin darse cuenta de que esta activando una secuencia de comandos que se ejecutaran en su equipo local, que podrían extraer sus cookies, eliminar archivos y en el caso mas fatal formatear su disco duro, mediante la invocación de programas con parámetros aleatorios.

Ataque vía publicación en Sitios Vulnerables:

Esta segunda forma se basa en la publicación de datos en blogs, foros, libros de visitas o sitios que permiten reflejar información enviada por un usuario y que no es validada por el servidor, donde podremos esconder secuencias de comandos detrás de un vinculo o imagen, este ataque tiene la misma finalidad que el anterior, pero con un mayor alcance de usuarios afectados.

Esta vulnerabilidad puede estar de forma directa (foros, mensajes de error, etc) o indirecta (redirecciones, frame sets, etc)