You are on page 1of 26

Web Attacks Web Attacks

Mauren Alies Mauren Alies


Maria Isabel Serrano Maria Isabel Serrano
Sergio Garcia Sergio Garcia
Fabian Molina Fabian Molina
Juan Felipe Montoya Juan Felipe Montoya
Agenda Agenda
Introduccin Introduccin
Cross Site Scripting Cross Site Scripting
Unicode Hack Unicode Hack
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Introduccin Introduccin
Qu son? Qu son?
Ataques a Aplicaciones, Clientes y Servidores Web Ataques a Aplicaciones, Clientes y Servidores Web
Puertos Web: Puertos Web:
80, 81, 443, 8000, 8001, 8010, 8080 80, 81, 443, 8000, 8001, 8010, 8080
Tipos de Ataques Tipos de Ataques
Usan Cdigo Malvolo: vulneran usuarios Usan Cdigo Malvolo: vulneran usuarios
domsticos domsticos
Canonizacin: atacan errores en el proceso de Canonizacin: atacan errores en el proceso de
conversin (URL, direcciones IP, etc.) conversin (URL, direcciones IP, etc.)
Agenda Agenda
Introduccin Introduccin
Cross Site Scripting Cross Site Scripting
Unicode Hack Unicode Hack
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Cross Site Scripting Cross Site Scripting
Se aprovecha de la insercin de caracteres especiales en la Se aprovecha de la insercin de caracteres especiales en la
comunicacin cliente comunicacin cliente servidor, de forma que introduce servidor, de forma que introduce
Scripts maliciosos Scripts maliciosos
El Script se ejecuta en el contexto de seguridad del cliente, no El Script se ejecuta en el contexto de seguridad del cliente, no
del atacante del atacante
Ocurren en pginas dinmicamente generadas, cuando se Ocurren en pginas dinmicamente generadas, cuando se
confa en la validez de la fuente (cliente) confa en la validez de la fuente (cliente)
Utiliza programas Utiliza programas applet applet de Java, ActiveX, JavaScript y VbScript de Java, ActiveX, JavaScript y VbScript
que permiten crear pginas Web interactivas que permiten crear pginas Web interactivas
Cross Site Scripting Cross Site Scripting
Comprometimiento de cookie de sesin Comprometimiento de cookie de sesin
Cross Site Scripting Cross Site Scripting
Cmo se realiza? Cmo se realiza?
Seleccin del sitio Web
por el atacante;
usualmente un sitio de
e-commerce.
Anlisis del sitio Web;
desarrollo del Script
malicioso y su mtodo de
insercin.
Desarrollo de
componentes
receptores.
Paso necesario si se
esta interesado en recibir
informacin (por ejemplo
nmeros de tarjetas de
crdito).
Atraccin de la victima
para que interacte con
el atacante, haciendo
uso de contenido
interesante.
Redireccin de la
solicitud del Browser e
insercin del Script
malicioso.
Puerta Abierta para
el atacante.
Cross Site Scripting Cross Site Scripting
Impacto Impacto
Exposicin de Conexiones SSL Exposicin de Conexiones SSL- -encriptadas encriptadas
Ataques persistentes con Cookies envenenadas Ataques persistentes con Cookies envenenadas
Acceso a sitios Web restringidos Acceso a sitios Web restringidos
Violacin de polticas de seguridad basadas en dominio Violacin de polticas de seguridad basadas en dominio
Riesgos adicionales, por uso de caracteres poco comunes Riesgos adicionales, por uso de caracteres poco comunes
Alteracin del comportamiento de un Formulario Alteracin del comportamiento de un Formulario
Cross Site Scripting Cross Site Scripting
Contramedidas Contramedidas
USUARIO USUARIO SERVIDOR SERVIDOR
Deshabilitar los lenguajes de Deshabilitar los lenguajes de
Script en el Browser: mayor Script en el Browser: mayor
proteccin, pero deshabilita proteccin, pero deshabilita
funcionalidades funcionalidades
Seleccin explcita de la Seleccin explcita de la
codificacin de caracteres codificacin de caracteres
Identificacin de caracteres Identificacin de caracteres
especiales especiales
Ser selectivos al visitar sitios Ser selectivos al visitar sitios
Web Web
Codificacin dinmica de los Codificacin dinmica de los
elementos de salida elementos de salida
Filtrado de caracteres Filtrado de caracteres
Examen de Cookies Examen de Cookies
Agenda Agenda
Introduccin Introduccin
Cross Site Scriting Cross Site Scriting
Unicode Hack Unicode Hack
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Unicode Hack Unicode Hack
Nace en a finales del ao 2000 a partir del descubrimiento de Nace en a finales del ao 2000 a partir del descubrimiento de
un bug en IIS 4.0 publicado en un foro del sitio un bug en IIS 4.0 publicado en un foro del sitio
www.packetstorm.org www.packetstorm.org
Aprovecha debilidades durante el proceso de interpretacin y Aprovecha debilidades durante el proceso de interpretacin y
ejecucin de URLs que efecta un servidor Web por cada ejecucin de URLs que efecta un servidor Web por cada
peticin peticin
Es llamado UNICODE debido a que es sta la codificacin de Es llamado UNICODE debido a que es sta la codificacin de
caracteres empleada para efectuar accesos ilegales sobre el caracteres empleada para efectuar accesos ilegales sobre el
servidor Web servidor Web
Unicode Hack Unicode Hack
Funcionamiento Funcionamiento
El servidor Web efecta una verificacin de seguridad sobre El servidor Web efecta una verificacin de seguridad sobre
cada URL ejecutado para asegurar que el requerimiento no use cada URL ejecutado para asegurar que el requerimiento no use
ninguna secuencia ./ o ninguna secuencia ./ o \\. .
Una vez que el IIS efecta la verificacin, pasa el URL a travs Una vez que el IIS efecta la verificacin, pasa el URL a travs
de una rutina de decodificacin para transformar cualquier de una rutina de decodificacin para transformar cualquier
caracter Unicode extendido y luego ser ejecutado caracter Unicode extendido y luego ser ejecutado
Reemplazando los caracteres / y Reemplazando los caracteres / y \\ por su representacin por su representacin
Unicode %2f y %5c, el URL sobrepasa la verificacin de Unicode %2f y %5c, el URL sobrepasa la verificacin de
seguridad (parsing) seguridad (parsing)
Unicode Hack Unicode Hack
Funcionamiento Funcionamiento
A raz de la publicacin del primer parche que incluyo un proceso A raz de la publicacin del primer parche que incluyo un proceso
adicional de parsing despus de la transformacin, naci una adicional de parsing despus de la transformacin, naci una
variante en la cual se efecta una codificacin doble de caracteres variante en la cual se efecta una codificacin doble de caracteres
El El caracter caracter ' '\\' ' es es codificado codificado como como ""%%55c, c, el el correspondiente correspondiente cdigo cdigo
de de estos estos tres tres caracteres caractereses es: :
' '%%' ' = = %%25 25 ' '55' ' = = %%35 35 'c' 'c' = =%%63 63
Codificando Codificando estos estos tres tres caracteres caracteres nuevamente, nuevamente, se se obtiene obtiene: :
%%255 255cc %%35 35cc %% %%35 35%%63 63 %%25 25%%35 35%%63 63
Ejemplo Ejemplo: :
Http Http: ://TARGET/Scripts/ //TARGET/Scripts/..//../winnt /winnt/system /system32 32/cmd /cmd..exe?/c+dir+c exe?/c+dir+c: :\\ pp
Http Http: ://TARGET/Scripts/ //TARGET/Scripts/.. ..%%255 255cc.. ..%%255 255cwinnt/system cwinnt/system32 32/cmd /cmd..exe?/c+ exe?/c+
dir+c dir+c: :\\
Unicode Hack Unicode Hack
Ejemplo Ejemplo
Unicode Hack Unicode Hack
Impacto Impacto
Permite a usuarios externos obtener altos niveles de acceso a Permite a usuarios externos obtener altos niveles de acceso a
mquinas ejecutando IIS 4.0 o IIS 5.0 a travs de URLs mquinas ejecutando IIS 4.0 o IIS 5.0 a travs de URLs
especiales o malformadas especiales o malformadas
El atacante puede ganar privilegios que le permiten efectuar El atacante puede ganar privilegios que le permiten efectuar
acciones como acceder, cambiar o borrar datos; ejecutar acciones como acceder, cambiar o borrar datos; ejecutar
comandos o cdigo existente en el servidor y/o cargar nuevos comandos o cdigo existente en el servidor y/o cargar nuevos
cdigos o programas en el servidor y ejecutarlos cdigos o programas en el servidor y ejecutarlos
Utiliza los permisos de la cuenta annima Utiliza los permisos de la cuenta annima
IUSR_<NOMBREMAQUINA> que utiliza el servidor para los IUSR_<NOMBREMAQUINA> que utiliza el servidor para los
accesos desde Internet accesos desde Internet
Unicode Hack Unicode Hack
Contramedidas Contramedidas
Deshabilitar los privilegios de la cuenta Deshabilitar los privilegios de la cuenta
IUSR_<NOMBREMAQUINA> IUSR_<NOMBREMAQUINA>sobre el cmd.exe, command.com, sobre el cmd.exe, command.com,
tftp.exe o attrib.exe tftp.exe o attrib.exe
Instalar los directorios Web en un drive lgico distinto a donde Instalar los directorios Web en un drive lgico distinto a donde
se encuentra la carpeta Winnt se encuentra la carpeta Winnt
Configurar adecuadamente IIS (no por defecto) habilitando Configurar adecuadamente IIS (no por defecto) habilitando
slo los directorios Web necesarios slo los directorios Web necesarios
Asegurar el servidor IIS aplicando los parches de Microsoft Asegurar el servidor IIS aplicando los parches de Microsoft
para corregir esta vulnerabilidad para corregir esta vulnerabilidad
Agenda Agenda
Introduccin Introduccin
Cross Site Scriting Cross Site Scriting
Unicode Hack Unicode Hack
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Ataques CGI Ataques CGI
Common Gateway Interface (CGI) Common Gateway Interface (CGI)
CGI es un estndar que permite comunicar programas del lado CGI es un estndar que permite comunicar programas del lado
del cliente con servidores de informacin, como servidores del cliente con servidores de informacin, como servidores
Web o HTTP Web o HTTP
Los programas en CGI proporcionan interactividad a las Los programas en CGI proporcionan interactividad a las
pginas Web en el servidor pginas Web en el servidor
Formularios, Formularios,
Consultas a Bases de Datos, Consultas a Bases de Datos,
Permite ejecutar lneas de comandos Permite ejecutar lneas de comandos,,
Etc. Etc.
Ampliamente utilizado en el desarrollo de las aplicaciones Ampliamente utilizado en el desarrollo de las aplicaciones
Web Web
Pueden generar problemas de seguridad Pueden generar problemas de seguridad
Ataques CGI Ataques CGI
Modelo de Comunicacin CGI Modelo de Comunicacin CGI
Browser Desktop Web Server
Internet
CGI
Process
on the
Web
Server
2 3
1. HTTP Request
2. CGI Started, Input passed to CGI process
3. CGI hands back output
4. Output Returns to the browser
1
4
1. !11fvd TTl
?. l!=m=d= =! T. d=f d ufv=d=
r==d r=v= rv=v
`. Rrvf= d! T
4. Rrvf= d! T vfvu=d= =!
vv=v1 rv ! vv
Ataques CGI Ataques CGI
Vulnerabilidades Vulnerabilidades
Llamada de CGIs directamente desde Llamada de CGIs directamente desde la lnea de URL en el la lnea de URL en el
browser browser
Programas CGI mal diseados: Programas CGI mal diseados:
Entrada de datos del usuario no validadas. Evitar caracteres Entrada de datos del usuario no validadas. Evitar caracteres
como: como:
`, $, |, ;, >, *,<, &, [, ', `, $, |, ;, >, *,<, &, [, ', \ \, ], ", (, ~, ?, ), , ], ", (, ~, ?, ), \ \n, n, \ \r r,, entre entre
otros. otros.
Revelar informacin de la configuracin del sistema y del Revelar informacin de la configuracin del sistema y del
servidor servidor
Permitir acceso parcial o total al servidor Permitir acceso parcial o total al servidor
Serve Serve- -Side Includes, pueden ejecutar cualquier comando: Side Includes, pueden ejecutar cualquier comando:
<! <!-- --#exec #exec cmd="rm cmd="rm rf rf / /; ;cat cat /etc/passwd" /etc/passwd" -- --> >
<! <!-- --#include #include file="archivo_secreto" file="archivo_secreto" -- --> >
Llamadas a otros programas a travs del uso de funciones que Llamadas a otros programas a travs del uso de funciones que
abren shells abren shells
Ataques CGI Ataques CGI
Contramedidas Contramedidas
Los programas solamente deben ejecutar aquellas acciones Los programas solamente deben ejecutar aquellas acciones
para las que ha sido concebido para las que ha sido concebido
Suministrar slo la informacin necesaria al cliente y evitar Suministrar slo la informacin necesaria al cliente y evitar
revelar informacin del sistema y del servidor revelar informacin del sistema y del servidor
Verificar la configuracin del Servidor: Verificar la configuracin del Servidor:
Actualizaciones Actualizaciones
Usuarios y Permisos Usuarios y Permisos
Ubicacin de CGIs Ubicacin de CGIs
Validar los datos introducidos por el cliente. NUNCA confiar en Validar los datos introducidos por el cliente. NUNCA confiar en
el usuario el usuario
Ataques CGI Ataques CGI
Contramedidas Contramedidas
Evitar o deshabilitar el uso de funciones que abren un shell en Evitar o deshabilitar el uso de funciones que abren un shell en
la mquina la mquina (exec, eval, system, eval, etc) (exec, eval, system, eval, etc)
Preferir los lenguajes compilados (Lenguaje C) a los Preferir los lenguajes compilados (Lenguaje C) a los
interpretados (Perl, AppleScript, TCL ) interpretados (Perl, AppleScript, TCL )
Eliminar o mover ejemplos instalados por defecto con el Eliminar o mover ejemplos instalados por defecto con el
servidor Web servidor Web
Deshabilitar Server Side Include o tener el debido cuidado Deshabilitar Server Side Include o tener el debido cuidado
Prever posibles ataques y tomar medidas que minimicen los Prever posibles ataques y tomar medidas que minimicen los
daos en el sistema en caso de un ataque exitoso daos en el sistema en caso de un ataque exitoso
Agenda Agenda
Introduccin Introduccin
Cross Site Scriting Cross Site Scriting
Unicode Hack Unicode Hack
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Conclusiones Conclusiones
Usar frecuentemente herramientas que permitan evaluar las Usar frecuentemente herramientas que permitan evaluar las
vulnerabilidades de los servidores Web vulnerabilidades de los servidores Web
Aplicar los correctivos necesarios como configuraciones Aplicar los correctivos necesarios como configuraciones
adicionales o parches de seguridad para minimizar las adicionales o parches de seguridad para minimizar las
vulnerabilidades de los servidores vulnerabilidades de los servidores
Deshabilitar todos los servicios, aplicaciones y accesos a Deshabilitar todos los servicios, aplicaciones y accesos a
directorios no utilizados directorios no utilizados
Analizar frecuentemente los Analizar frecuentemente los logs logs para detectar y prevenir para detectar y prevenir
ataques ataques
Al navegar por Internet se debe ser cuidadoso y verificar la Al navegar por Internet se debe ser cuidadoso y verificar la
posible ejecucin de cdigo malicioso. Se pueden usar firmas posible ejecucin de cdigo malicioso. Se pueden usar firmas
digitales para validar cdigo escrito por otros digitales para validar cdigo escrito por otros
Efectuar constantemente procesos de verificacin y monitoreo Efectuar constantemente procesos de verificacin y monitoreo
de las aplicaciones Web de las aplicaciones Web
Agenda Agenda
Introduccin Introduccin
Cross Site Scripting Cross Site Scripting
Ataques Unicode Ataques Unicode
Ataques CGI Ataques CGI
Conclusiones Conclusiones
Referencias Referencias
Referencias Referencias
Microsoft TechNet, Cross Microsoft TechNet, Cross- -Site Security Exposure Executive Summary Site Security Exposure Executive Summary
Http://www.microsoft.com/technet/treeview/default.asp?url=/technet/secu Http://www.microsoft.com/technet/treeview/default.asp?url=/technet/secu
rity/topics/exsumcs.asp rity/topics/exsumcs.asp (Febrero de 2000) (Febrero de 2000)
CERT Coordination Center, Frequently Asked Questions About Malicious Web CERT Coordination Center, Frequently Asked Questions About Malicious Web
Scripts Redirected by Web Sites Scripts Redirected by Web Sites
Http://www.cert.org/tech_tips/malicious_code_FAQ.html Http://www.cert.org/tech_tips/malicious_code_FAQ.html (Febrero de 2000) (Febrero de 2000)
CERT Coordination Center, CERT Advisory CA CERT Coordination Center, CERT Advisory CA- -2000 2000- -02 Malicious HTML Tags 02 Malicious HTML Tags
Embedded in Client Web Requests Embedded in Client Web Requests Http://www.cert.org/advisories/CA Http://www.cert.org/advisories/CA- -2000 2000- -
02.html 02.html (Febrero de 2000) (Febrero de 2000)
William E. Weinman El Libro de CGI. William E. Weinman El Libro de CGI. Prentice Hall, 1996, pags. 13 Prentice Hall, 1996, pags. 13- -70. 70.
Joel Scambray, Stuart McClure, George Kurtz. Hackers 2. Osborne Mc Joel Scambray, Stuart McClure, George Kurtz. Hackers 2. Osborne Mc- -Graw Graw
Hill, 2001, pags. 669 Hill, 2001, pags. 669- -692. 692.
Antonio Caravantes, Cdigo Malicioso en los mensajes HTML Antonio Caravantes, Cdigo Malicioso en los mensajes HTML
Http://www.caravantes.com/libre/malicioso.htm Http://www.caravantes.com/libre/malicioso.htm(Enero de 2001) (Enero de 2001)
SANS Institute, Unicode Vulnerability SANS Institute, Unicode Vulnerability How & Why How & Why
Http://rr.sans.org/threats/Unicode.php Http://rr.sans.org/threats/Unicode.php (Agosto de 2001) (Agosto de 2001)
NSFOCUS, Microsoft IIS CGI Filename Decode Error Vulnerability (SA2001 NSFOCUS, Microsoft IIS CGI Filename Decode Error Vulnerability (SA2001- -02), 02),
Http://www.nsfocus.com/english/homepage/sa01 Http://www.nsfocus.com/english/homepage/sa01- -02.htm 02.htm(Mayo de 2001) (Mayo de 2001)

You might also like