Ethical Hacker Security Training – Web Hacking
Web Hacking
Agenda
Hacking Web Servers
Web Servers: Tipos de Vulnerabilidades
Ataques contra Web Servers
Vulnerabilidades en IIS
Técnicas de Gestión de Parches
Web Servers: Métodos de Hardening
Ataques a Web Servers: Contramedidas
Vulnerabilidades en Aplicaciones Web
Comprendiendo Como Funcionan las Aplicaciones Web
Objetivos de los Ataques a las Aplicaciones Web
Anatomía de un Ataque
Amenazas a las Aplicaciones Web
Google Hacking
Ethical Hacker Security Training – Web Hacking 2
Copyright © 2008 SIClabs
Agenda (Cont.)
Tecnicas de Password Cracking Basadas en Web
Tipos de Autenticación
Que es un Password Cracker?
Clasificación de los Ataques a las Passwords
Principio de Funcionamiento de un Password Cracker
Password Crackers: Contramedidas
Ethical Hacker Security Training – Web Hacking 3
Copyright © 2008 SIClabs
1
Ethical Hacker Security Training – Web Hacking
Generalidades
Los servidores y aplicaciones web poseen un alto riesgo de ser
vulnerados.
Cuando el servidor web es comprometido, esto puede ser
aprovechado por el atacante para ingresar dentro de la red.
Además del web server, las aplicaciones que corren sobre él
también pueden ser atacadas.
Un servidor web está disponible desde Internet las 24 horas, los 7
días de la semana, los 365 días del año, lo que lo hace un eslabón
sencillo para atacar en la red de la organización.
Ethical Hacker Security Training – Web Hacking 4
Copyright © 2008 SIClabs
Web Servers: Vulnerabilidades
Las siguientes vulnerabilidades son algunas de las más
comúnmente explotadas en servidores web:
Errores en la configuración del webserver.
Bugs en el Sistema Operativo o en las aplicaciones.
Instalaciones por default del sistema operativo o del servidor
que presenten vulnerabilidades.
Fallas en la política de gestión de parches y actualizaciones del
Sistema Operativo o del web server.
No existencia o falta de cumplimiento de políticas de seguridad y
procedimientos.
Ethical Hacker Security Training – Web Hacking 5
Copyright © 2008 SIClabs
Web Servers: Vulnerabilidades (Cont.)
Estas vulnerabilidades son aprovechadas por los atacantes para
obtener acceso al servidor web.
Al estar los servidores web ubicados en la DMZ, si estos son
comprometidos, el atacante tiene mayor facilidad para acceder a los
sistemas internos o bases de datos de la organización.
Ethical Hacker Security Training – Web Hacking 6
Copyright © 2008 SIClabs
2
Ethical Hacker Security Training – Web Hacking
Ataques Contra Web Servers
El tipo de ataque visible más común contra servidores web es el
Defacement.
Los atacantes realizan defacement de sitios por diversión y para
mejorar su reputación en el ambiente underground.
El defacing de un sitio web implica explotar una vulnerabilidad en el
sistema operativo o en el servidor web y luego alterar el sitio para
mostrar que el mismo fue comprometido.
Usualmente el atacante muestra su nickname o el de su equipo en
el index del servidor comprometido.
A continuación se verán algunos ejemplos de DefacementH
Ethical Hacker Security Training – Web Hacking 7
Copyright © 2008 SIClabs
Ataques Contra Web Servers (Cont.)
Ethical Hacker Security Training – Web Hacking 8
Copyright © 2008 SIClabs
Ataques Contra Web Servers (Cont.)
Ethical Hacker Security Training – Web Hacking 9
Copyright © 2008 SIClabs
3
Ethical Hacker Security Training – Web Hacking
Ataques Contra Web Servers (Cont.)
Ethical Hacker Security Training – Web Hacking 10
Copyright © 2008 SIClabs
Ataques Contra Web Servers (Cont.)
Algunos de los ataques más utilizados para comprometer
websites son:
Credenciales obtenidas mediante ataques Man-in-the-middle.
Fuerza bruta de contraseñas a la cuenta administrador.
Ataques al DNS mediante cache poisoning.
Cambio de ruteo después de un ataque al firewall.
Cambio de reglas de ruteo después de un ataque al router.
Permisos mal Asignados.
Intrusión en una extensión del servidor web.
Intrusión al servidor de correo.
Intrusión al servidor FTP. Intrusión en SSH.
Bugs en aplicaciones Web. Intrusión en Telnet.
Configuraciones Erróneas. URL Poisoning.
SQL Injection. Intrusión en un servicio remoto.
Ethical Hacker Security Training – Web Hacking 11
Copyright © 2008 SIClabs
Vulnerabilidades en IIS
IIS es el servidor web de la plataforma Microsoft
Componentes de IIS
IIS se basa en gran medida en una colección de DLLs que trabajan
conjuntamente con el servidor principal de procesos (inetinfo.exe) para
proporcionar funcionalidades extras.
Por ejemplo: Server side scripting, indexación de contenido, impresión
basada en la web y más.
Esta arquitectura proporciona a los atacantes diferentes funciones para
explotar, a través de entradas maliciosas.
Ethical Hacker Security Training – Web Hacking 12
Copyright © 2008 SIClabs
4
Ethical Hacker Security Training – Web Hacking
Vulnerabilidades en IIS (Cont.)
Ataques contra IIS
IIS es uno de los servidores Web mas utilizados en Internet.
El servidor Web de Microsoft ha sido un blanco frecuente a lo
largo de los años.
Diversas vulnerabilidades han sido explotadas:
Vulnerabilidad ::$DATA
Vulnerabilidad showcode.asp
Vulnerabilidad Piggy Backing
Ejecucion Privilegiada de Comandos
Exploits de Buffer Overflow (IIShack.exe)
Exploits WebDav/RPC
NOTA: Vulnerabilidades como las mencionadas son antiguas y solo se
presentan como prueba de concepto.
Ethical Hacker Security Training – Web Hacking 13
Copyright © 2008 SIClabs
Vulnerabilidades en IIS (Cont.)
Exploits Unicode
Los caracteres ASCII de los puntos son reemplazados por su
equivalente Unicode (%2E).
Los caracteres ASCII de las barras slash son reemplazados por
su equivalente Unicode (%c0%af).
Unicode 2.0 permite múltiples códigos posibles para cada
caracter.
Unicode para "/": 2f, c0af, e080af, f08080af, f8808080af, .....
Unicode se puede utilizar con fines maliciosos para pasar los
filtros que solo verifican Unicode corto.
Ethical Hacker Security Training – Web Hacking 14
Copyright © 2008 SIClabs
Vulnerabilidades en IIS (Cont.)
Ataque IIS Directory Traversal
La vulnerabilidad reside en Windows 2000, debido a un error de
canonicalización que afecta los scripts CGI y las extensiones
ISAPI.
Canonicalización es el proceso mediante el cual las diversas
formas equivalentes de un nombre pueden ser resueltas por un
solo nombre normal.
Por ejemplo: "%c0%af" y "%c1%9c" son la misma representación
para “/” y “\”.
Al enviar una solicitud HTTP (como es mostrada abajo) a IIS,
pueden ser ejecutados en el servidor comandos arbitrarios:
GET/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir=c:\ HTTP/1.0
Ethical Hacker Security Training – Web Hacking 15
Copyright © 2008 SIClabs
5
Ethical Hacker Security Training – Web Hacking
Vulnerabilidades en IIS (Cont.)
Vulnerabilidad RPC DCOM
Existe en un subsistema de Windows Component Object Model
(COM), el cual es un servicio crítico utilizado por muchas
aplicaciones de Windows.
Un servicio DCOM permite que los objetos COM se comuniquen
a través de la red y está activado por defecto en Windows NT,
2000, XP, y 2003.
Los atacantes pueden llegar a la vulnerabilidad en COM a través
de cualquiera de los siguientes puertos:
Puerto 135 TCP y UDP (Remote Procedure Call).
Puertos 139 y 445 TCP (NetBIOS).
Puerto 593 TCP (RPC-over-HTTP).
Cualquier puerto IIS HTTP/HTTPS si COM Internet Services esta
habilitado.
Ethical Hacker Security Training – Web Hacking 16
Copyright © 2008 SIClabs
Vulnerabilidades en IIS (Cont.)
Herramientas requeridas por CEH
N-Stalker
Metasploit
CORE IMPACT
SAINT Vulnerability
Otros Vulnerability Scanners
Scanners Open Source: Snort, Nessus Security Scanner y Nmap.
Scanners para Linux propietarios: SANE (Scanner Access Now Easy),
XVScan.
Scanners comerciales.
Ethical Hacker Security Training – Web Hacking 17
Copyright © 2008 SIClabs
Vulnerabilidades en IIS (Cont.)
Ethical Hacker Security Training – Web Hacking 18
Copyright © 2008 SIClabs
6
Ethical Hacker Security Training – Web Hacking
Vulnerabilidades en IIS (Cont.)
Ethical Hacker Security Training – Web Hacking 19
Copyright © 2008 SIClabs
Vulnerabilidades en IIS (Cont.)
Ethical Hacker Security Training – Web Hacking 20
Copyright © 2008 SIClabs
Técnicas de Gestión de Parches
Un parche es considerado como un trabajo de reparación en una
parte del programa.
Es la solución inmediata que se presta a los usuarios.
Un Hotfix es un código que arregla un bug en un determinado
producto.
Cuando es liberado se notifica al usuario a través de un correo o del
sitio web del fabricante.
A menudo, varios Hotfixes son empaquetados juntos en lo que se
conoce como Service Pack.
Ethical Hacker Security Training – Web Hacking 21
Copyright © 2008 SIClabs
7
Ethical Hacker Security Training – Web Hacking
Técnicas de Gestión de Parches (Cont.)
La gestión de parches es un proceso utilizado para asegurarse de
que estos están instalados y actualizados correctamente en un
sistema.
Esto implica:
Escoger, verificar, testear y aplicar los parches.
Actualizar los parches aplicados previamente con nuevos parches.
Listar los parches que fueron previamente instalados en un software
específico.
Asignar y desplegar los parches aplicados.
Ethical Hacker Security Training – Web Hacking 22
Copyright © 2008 SIClabs
Técnicas de Gestión de Parches (Cont.)
Microsoft
Baseline Security
Analyzer (MBSA)
determina el
estado de
seguridad de uno
o varios equipos,
basándose en las
recomendacione
s de seguridad
de Microsoft.
Ethical Hacker Security Training – Web Hacking 23
Copyright © 2008 SIClabs
Web Servers: Métodos de Hardening
1. Parches y actualizaciones
Ejecutar la utilidad MBSA en un intervalo regular para verificar el
estado de las últimas actualizaciones.
2. Auditorías y Logs
Habilitar para que se guarden en los logs los intentos de login
fallidos.
Relocalizar y asegurar los archivos de logs del servidor web.
3. IISLockdown
Ejecutar IISLockdown y URLScan para asegurar los servidores
web.
Sitios y Directorios Virtuales.
Ethical Hacker Security Training – Web Hacking 24
Copyright © 2008 SIClabs
8
Ethical Hacker Security Training – Web Hacking
Web Servers: Métodos de Hardening (Cont.)
4. Servicios
Deshabilitar servicios del sistema innecesarios.
Correr los servicios esenciales con el menor privilegio.
5. Mapeo de Scripts
En el caso del IIS, las extensiones que no son utilizadas por
las aplicaciones deben ser mapeadas a 404.dll (.idq, .htw, .ida,
.shtml, .shtm, .stm, idc, .htr, .printer).
6. Protocolos
Deshabilitar WebDAV.
Deshabilitar NetBIOS y SMB (Bloquear los puertos 137, 138,
139, y 445).
Ethical Hacker Security Training – Web Hacking 25
Copyright © 2008 SIClabs
Web Servers: Métodos de Hardening (Cont.)
7. Filtros ISAPI
Eliminar los filtros ISAPI que no se utilizan.
8. Cuentas
Eliminar las cuentas que no se utilizan.
Deshabilitar el usuario guest.
Renombrar la cuenta de Administrador.
Deshabilitar las conexiones de usuarios null.
Habilitar el administrador para que haga el login de manera
local.
Ethical Hacker Security Training – Web Hacking 26
Copyright © 2008 SIClabs
Web Servers: Métodos de Hardening (Cont.)
9. Metabase de IIS
El acceso a la metabase debe ser restringido mediante permisos
NTFS.
10. Archivos y directorios
Verificar que los archivos y directorios estén en volúmenes
NTFS (o análogo en sistemas *NIX).
Verificar que el contenido del sitio Web esté en un volumen
NTFS diferente al del sistema.
El directoria raíz del sitio Web no debe permitir la escritura a
IUSR_COMPUTERNAME.
11. Shares (IIS)
Los Shares administrativos deben ser eliminados (C$ y Admin$).
Ethical Hacker Security Training – Web Hacking 27
Copyright © 2008 SIClabs
9
Ethical Hacker Security Training – Web Hacking
Web Servers: Métodos de Hardening (Cont.)
12. Machine.config (IIS)
Los módulos HttpModules que no se utilizan deben ser
eliminados.
Tracing debe ser deshabilitado <trace enable="false"/>.
13. Puertos
Restringir las aplicaciones Web para que solo utilicen el puerto
80 y el 443.
Ethical Hacker Security Training – Web Hacking 28
Copyright © 2008 SIClabs
Contramedidas
Hardenizar los servidores Web.
Utilizar Firewalls, IDS/IPS.
Renombrar la cuenta de Administrador.
Deshabilitar el sitio web default.
Remover el mapeo de aplicaciones no utilizadas.
Deshabilitar el listado de directorios.
Utilizar un aviso legal.
Instalar Service Packs, Parches y Templates.
Chequear entradas maliciosas en los formularios y las consultas.
Deshabilitar la administración remota.
Utilizar Website Cloaking (mostrar distintas páginas según el
contexto)
Ethical Hacker Security Training – Web Hacking 29
Copyright © 2008 SIClabs
Contramedidas (Cont.)
IISLockdown:
IISLockdown restringe el acceso anónimo a las herramientas del
sistema, así como la capacidad de escribir los directorios vía Web.
Deshabilitar WebDAV.
Instalar el filtro ISAPI URLScan.
URLScan:
Es una herramienta de seguridad que recibe todas las solicitudes hacia
el servidor y las filtra basándose en las reglas que estén fijadas por el
administrador.
Ethical Hacker Security Training – Web Hacking 30
Copyright © 2008 SIClabs
10
Ethical Hacker Security Training – Web Hacking
Como Funcionan las Aplicaciones Web?
Una Aplicación Web es una aplicación cliente/servidor que
interactúa con los usuarios o con otros sistemas utilizando el
protocolo HTTP.
Utiliza un navegador web como cliente.
Las aplicaciones modernas son escritas en java o lenguajes
similares y corren en servidores de aplicaciones distribuidos,
conectando múltiples orígenes de datos.
Algunos ejemplos de aplicaciones web son las consultas a bases de
datos, webmails, foros de discusión, redes sociales online y blogs.
Ethical Hacker Security Training – Web Hacking 31
Copyright © 2008 SIClabs
Como Funcionan las Aplicaciones Web? (Cont.)
Controles
Perimetrales
FTP
RPC
HTTP(S)
VNC
Web Server Database
31337 Firewall Server
Ethical Hacker Security Training – Web Hacking 32
Copyright © 2008 SIClabs
Como Funcionan las Aplicaciones Web? (Cont.)
Ethical Hacker Security Training – Web Hacking 33
Copyright © 2008 SIClabs
11
Ethical Hacker Security Training – Web Hacking
Objetivo de los Ataques a las Aplicaciones Web
El objetivo principal de atacar una aplicación web es obtener acceso
a información confidencial.
La criticidad de las aplicaciones web radica en el tipo de
información que correlacionan junto con la base de datos. Por
ejemplo, identidades de personas con passwords, información
financiera, etc.
Las vulnerabilidades en aplicaciones web aumentan la probabilidad
de que un atacante pueda obtener acceso al sistema operativo y al
web server.
Por lo tanto, son otro vector de ataque que puede ser utilizado para
explotar y comprometer un sistema.
Ethical Hacker Security Training – Web Hacking 34
Copyright © 2008 SIClabs
Anatomía de un Ataque
Los ataques a las aplicaciones web son similares a los ataques a
otros sistemas.
El atacante sigue una serie de cinco pasos:
1. Escanear la red (Scanning)
2. Recopilar información (Information Gathering)
3. Realizar pruebas de distintos posibles escenarios de ataque (Testing)
4. Planificar el ataque (Planning The Attack)
5. Finalmente lanzarlo hacia el objetivo (Launching The Attack)
Ethical Hacker Security Training – Web Hacking 35
Copyright © 2008 SIClabs
Amenazas a las Aplicaciones Web
Cross-site scripting.
SQL injection.
Command injection.
Manipulación de parámetros/formularios.
Cookie/session poisoning.
Buffer overflow.
Directory traversal.
Cookie snooping.
Secuestro de credenciales de autenticación.
Cryptographic interception.
Manipulación de Logs.
Interceptación de mensaje de error.
Ethical Hacker Security Training – Web Hacking 36
Copyright © 2008 SIClabs
12
Ethical Hacker Security Training – Web Hacking
Cross Site Scripting (XSS)
Ataque del lado del cliente
Busca forzar a un sitio web a repetir código ejecutable
suministrado por un atacante, de modo tal que el mismo sea
cargado en el navegador del usuario y por ende ejecutado en
dicho contexto.
Stored
Aplicaciones Web que almacenan contenido provisto por un usuario, el
cual luego es enviado a otros usuarios.
Reflected
Aplicaciones Web que no almacenan el ataque, sencillamente lo envían a
aquellos que hayan “generado” un requerimiento.
Objetivos Vulnerables: Cualquier aplicación que refleje el input del
usuario sin validar su contenido.
Ethical Hacker Security Training – Web Hacking 37
Copyright © 2008 SIClabs
Cross Site Scripting (XSS) (Cont.)
Contramedidas
Validación de todos los encabezados, cookies, cadenas de consulta,
campos de los formularios y campos ocultos (todos los parámetros)
contra especificaciones rigurosas.
Implementar una estricta política de seguridad.
Filtrar la salida de los scripts puede mitigar las vulnerabilidades XSS
evitando que estas sean transmitidas a los usuarios.
Ethical Hacker Security Training – Web Hacking 38
Copyright © 2008 SIClabs
SQL Injection
Se utiliza SQL para manipular directamente los datos de la base de
datos.
Un atacante puede utilizar una aplicación web vulnerable para saltar
las medidas de seguridad y obtener acceso directo a datos valiosos.
Un ataque de SQL Injection puede ser ejecutado desde la barra de
direcciones, desde los campos de una aplicación, o mediante
búsquedas o consultas.
Ethical Hacker Security Training – Web Hacking 39
Copyright © 2008 SIClabs
13
Ethical Hacker Security Training – Web Hacking
SQL Injection (Cont.)
Contramedidas
Verificar las entradas de los usuarios cuando realizan consultas a la
base de datos.
Validar todas las variables que son enviadas a la base de datos.
Ethical Hacker Security Training – Web Hacking 40
Copyright © 2008 SIClabs
Command Injection
Enviar código malicioso a un sistema a través de una aplicación.
Este ataque incluye llamadas al sistema operativo vía system calls,
el uso de programas externos mediante comandos shell, como así
también llamadas a las base de datos backend vía SQL (por
ejemplo SQL injection)
Scripts escritos en Perl, Python y otros lenguajes pueden ser
inyectados en aplicaciones web mal diseñadas.
Ethical Hacker Security Training – Web Hacking 41
Copyright © 2008 SIClabs
Command Injection (Cont.)
Contramedidas
Utilizar librerías específicas del lenguaje para evitar problemas como
comandos shell.
Validar los datos para prevenir contenido malicioso.
Estructurar los request para que todos los parámetros sean tratados
como datos, en lugar de potenciales ejecutables.
Los entornos J2EE permiten el uso de “sandbox” , que previenen la
ejecución de comandos del sistema.
Ethical Hacker Security Training – Web Hacking 42
Copyright © 2008 SIClabs
14
Ethical Hacker Security Training – Web Hacking
Cookie/Session Poisoning
Los cookies son utilizados para mantener el estado de una sesión
supliendo las falencias del protocolo HTTP.
Poisoning permite que un atacante inyecte contenido malicioso y
obtenga información de forma no autorizada.
Un proxy puede ser utilizado para reescribir los datos de una
sesión, mostrar los datos de una cookie y/o especificar un nuevo ID
de usuario u otro identificador de una sesión.
Ethical Hacker Security Training – Web Hacking 43
Copyright © 2008 SIClabs
Cookie/Session Poisoning (Cont.)
Contramedidas
No almacenar en una cookie contraseñas en texto plano o pobremente
encriptadas.
Implementar un timeout para las cookies.
Las credenciales de autenticación de una cookie deben estar
asociadas a una dirección IP.
Proporcionar funciones de salida.
Ethical Hacker Security Training – Web Hacking 44
Copyright © 2008 SIClabs
Manipulación de Parámetros/Formularios
Toma ventaja de los campos ocultos que están en algunas
aplicaciones como única medida de seguridad.
Modificar el valor de este campo oculto puede causar que la
aplicación web cambie de acuerdo al nuevo dato incorporado.
Puede causar el robo de servicios, escalamiento de acceso y robo
sesión.
Contramedidas
Comprobar la validez de los campos.
Ethical Hacker Security Training – Web Hacking 45
Copyright © 2008 SIClabs
15
Ethical Hacker Security Training – Web Hacking
Buffer Overflow
Corromper el stack de ejecución de una aplicación web.
Los Buffer Overflow en aplicaciones tienen menos probabilidades
de ser detectados
La mayoría de los servidores web, servidores de aplicaciones y
entornos de aplicaciones web son susceptibles a ataques (no así
los entornos Java y J2EE excepto por algunos overflows en JVM).
Ethical Hacker Security Training – Web Hacking 46
Copyright © 2008 SIClabs
Buffer Overflow (Cont.)
Contramedidas
Validar la longitud de los datos ingresados en los formularios.
Mantener un cuidado especial cuando se utilizan los bucles for y while
para copiar datos.
StackGuard y StackShield para Linux son herramientas para defender
programas y sistemas contra estos ataques.
Ethical Hacker Security Training – Web Hacking 47
Copyright © 2008 SIClabs
Directory Traversal
Este ataque ocurre cuando un atacante es capaz de navegar
directorios y archivos fuera del acceso normal de la aplicación.
Expone la estructura del directorio de la aplicación y en algunos
casos la de servidores web y sistemas operativos.
El atacante puede enumerar contenido, acceder a paginas seguras
o restrictas, obtener información confidencial, localizar código fuente
y mas.
Ethical Hacker Security Training – Web Hacking 48
Copyright © 2008 SIClabs
16
Ethical Hacker Security Training – Web Hacking
Directory Traversal (Cont.)
Contramedidas
Definir permisos de acceso para proteger las diferentes áreas del sitio
web.
Aplicar parches/actualizaciones para prevenir la explotación
vulnerabilidades como Unicode, afectadas por directory traversal.
Los servidores web deben ser constantemente actualizados.
Ethical Hacker Security Training – Web Hacking 49
Copyright © 2008 SIClabs
Cookie Snooping/Poisoning
En un intento para proteger las cookies, los desarrolladores utilizan
cookies codificadas.
Métodos de codificación fácilmente reversibles como Base64 y
ROT13 (rotar las letras del alfabeto 13 caracteres) dan a muchos
una falsa sensación de seguridad en relación con el uso de
"cookies“.
Las técnicas de cookie snooping utilizan un proxy local para
enumerar los cookies.
Ethical Hacker Security Training – Web Hacking 50
Copyright © 2008 SIClabs
Cookie Snooping/Poisoning (Cont.)
Contramedidas
Deben ser utilizados cookies encriptados.
Embeber la dirección IP de origen en la cookie.
El mecanismo de cookie puede ser integrado con SSL para asegurar el
acceso remoto a aplicaciones web.
Ethical Hacker Security Training – Web Hacking 51
Copyright © 2008 SIClabs
17
Ethical Hacker Security Training – Web Hacking
Secuestro de Credenciales de Autenticación
La autenticación impulsa al usuario a suministrar sus credenciales
para permitirle el acceso a la aplicación.
Se puede lograr a través de:
Autenticación básica.
Métodos de autenticación mas robustos.
Las aplicaciones web realizan la autenticación implementando una
variedad de métodos.
Forzar un política de autenticación coherente entre las múltiples y
dispares aplicaciones puede ser todo un reto.
Un problema de seguridad puede conducir al robo del servicio,
secuestro de sesiones, y a la suplantación del usuario.
Ethical Hacker Security Training – Web Hacking 52
Copyright © 2008 SIClabs
Secuestro de Credenciales de Autenticación (Cont.)
Contramedidas
Siempre que sea posible implementar métodos de autenticación que
utilicen canales seguros.
SSL puede ser configurado de manera simple para encriptar todo el
tráfico entre el cliente y la aplicación.
Utilizar cookies de manera segura cuando sea posible.
Ethical Hacker Security Training – Web Hacking 53
Copyright © 2008 SIClabs
Herramientas Propuestas por CEH
Herramientas propuestas por CEH:
Wget
WebSleuth
BlackWidow
SiteScope
WSDigger
Burp
Nikto
Paros Proxy
Acunetix
Ethical Hacker Security Training – Web Hacking 54
Copyright © 2008 SIClabs
18
Ethical Hacker Security Training – Web Hacking
Google Hacking
Es un término utilizado por un atacante cuando este busca
encontrar objetivos explotables y datos sensitivos ingresando
consultas en Google u otro motor de búsqueda.
La Google Hacking Database (GHDB) contiene consultas que
identifican datos sensitivos como la página de login de un portal,
archivos de logs, archivos de backup y más.
Visitar http://johnny.ihackstuff.com
Ethical Hacker Security Training – Web Hacking 55
Copyright © 2008 SIClabs
Aplicaciones Web: Tipos de Autenticación
Los servidores y aplicaciones web permiten varios modos de
autenticación, siendo uno de los más comunes el método por HTTP.
Hay dos tipos de autenticación HTTP: básico y por digest o
resumen.
La autenticación básica envía el usuario y contraseña en texto plano.
La autenticación por digest calcula la función hash de la contraseña y
utiliza un modelo de desafío-respuesta para concluir la autenticación.
Hoy en día, los servidores y aplicaciones web permiten entre otras,
la autenticación basada en NTLM, certificados, tokens y
biométricas.
Ethical Hacker Security Training – Web Hacking 56
Copyright © 2008 SIClabs
Aplicaciones Web: Tipos de Autenticación (Cont.)
La autenticación NTLM utilizada en Internet Explorer e IIS hacen a
NTLM más apropiado para autenticaciones dentro de una intranet
que funcione bajo entornos Microsoft.
Windows 2000 y 2003 brindan además la opción de autenticar
mediante Kerberos.
La autenticación basada en certificados utiliza certificados X.509
para tecnologías de clave pública/privada.
Un token, tal como SecurID, es un dispositivo de hardware que
muestra un código durante un período de tiempo (Por ejemplo 60
segundos).
El usuario utiliza ese código para autenticarse en la red o algún
sistema.
Ethical Hacker Security Training – Web Hacking 57
Copyright © 2008 SIClabs
19
Ethical Hacker Security Training – Web Hacking
Aplicaciones Web: Tipos de Autenticación (Cont.)
La autenticación Biométrica utiliza características físicas de las
personas.
Algunos ejemplos de características físicas utilizadas son:
Huellas Digitales
Iris
Retina
Huella palmar
Voz
Ethical Hacker Security Training – Web Hacking 58
Copyright © 2008 SIClabs
Que es un Password Cracker?
Es un programa utilizado para descifrar passwords o para
deshabilitar protecciones por contraseñas.
Se basan en la búsqueda en una base de datos de passwords
(diccionario) o en métodos de fuerza bruta para obtener la
contraseña.
Herramienta propuesta por CEH
Webcracker
THC Hydra
Brutus
Ethical Hacker Security Training – Web Hacking 59
Copyright © 2008 SIClabs
Que es un Password Cracker? (Cont.)
Ethical Hacker Security Training – Web Hacking 60
Copyright © 2008 SIClabs
20
Ethical Hacker Security Training – Web Hacking
Que es un Password Cracker? (Cont.)
Ethical Hacker Security Training – Web Hacking 61
Copyright © 2008 SIClabs
Ataques a las Passwords: Clasificación
Por Diccionario: Se utiliza una base de datos de passwords
alojadas en un diccionario (lista de posibles passwords)
Por Fuerza Bruta: Utiliza todas las combinaciones de letras,
números y caracteres especiales para probar contraseñas.
Híbrido: Junta ambos métodos, usa palabras del diccionario
combinadas con números y caracteres especiales.
Ethical Hacker Security Training – Web Hacking 62
Copyright © 2008 SIClabs
Password Cracker: Principio de Funcionamiento
El primer paso en un ataque por diccionario es generar u obtener
una lista de las potenciales contraseñas que se podrían utilizar.
El atacante usualmente obtiene esta lista a partir de un software
generador de diccionario o alguno descargado de Internet.
Luego se aplica una función hash a todas las posibles contraseñas
del diccionario y así se obtiene una nueva lista (Rainbow tables)
con los digest o resúmenes de cada una de ellas.
Esta lista es la que se compara contra el hash del password que el
atacante está intentando vulnerar.
Ethical Hacker Security Training – Web Hacking 63
Copyright © 2008 SIClabs
21
Ethical Hacker Security Training – Web Hacking
Password Cracker: Principio de Funcionamiento (Cont.)
El atacante puede obtener el digest del password que quiere
vulnerar sniffeando la red o directamente desde el archivo SAM
(Security Accounts Manager) o shadow del sistema.
Si el password utilizado estaba contemplado dentro del diccionario
de contraseñas, el programa muestra cual es la contraseña en
claro.
Si el usuario implementó contraseñas fuertes y no se encuentra en
el diccionario, se puede lanzar un ataque por fuerza bruta.
Los programas que aplican ataques de fuerza bruta para vulnerar
contraseñas, prueban con todas las posibles combinaciones de
letras, números y caracteres especiales. (método mucho más lento)
Ethical Hacker Security Training – Web Hacking 64
Copyright © 2008 SIClabs
Password Cracking: Contramedidas
La mejor contramedida para las herramientas de password cracking
es implementar políticas de contraseñas fuertes.
Por contraseñas fuertes se entiende a todas aquellas que posean:
Ocho caracteres como mínimo (antiguamente se consideraban solo
seis)
Caracteres alfanuméricos
Mayúsculas y minúsculas
Caracteres especiales (por ejemplo los caracteres @, $, . )
El usuario y la contraseña deben ser distintas, ya que en la mayoría
de los sistemas, el nombre de usuario viaja en plano.
Ethical Hacker Security Training – Web Hacking 65
Copyright © 2008 SIClabs
Password Cracking: Contramedidas (Cont.)
Las contraseñas que cumplen con los requisitos descriptos, son
mucho más complejas de vulnerar.
Conviene implementar mecanismos de autenticación fuertes, tal
como kerberos o basados en tokens.
Otra buena práctica es implementar métodos de autenticación “Two
Factors”. Los dos factores más comunes son:
Token
Contraseña
Ethical Hacker Security Training – Web Hacking 66
Copyright © 2008 SIClabs
22
Ethical Hacker Security Training – Web Hacking
Web Hacking
Links, Referencias y
Lecturas Complementarias
Links
Zone-H - http://www.zone-h.org/
Metasploit - http://www.metasploit.org
Saint - http://www.saintcorporation.com/
Canvas - http://www.immunitysec.com
Core Impact - http://www.coresecurity.com/
MBSA -http://www.microsoft.com/technet/security/tools/mbsahome.mspx
Wget - http://www.gnu.org/software/wget/
WebSleuth - http://sandsprite.com/Sleuth/
BlackWidow - http://softbytelabs.com/us/bw/
WSDigger - http://www.foundstone.com/us/resources/proddesc/wsdigger.htm
Burp - http://portswigger.net/proxy/
Nikto - http://www.cirt.net/nikto2
Paros Proxy - http://www.parosproxy.org/index.shtml
Acunetix - http://www.acunetix.com/
Google Hacks - http://johnny.ihackstuff.com
Ethical Hacker Security Training – Web Hacking
Copyright © 2008 SIClabs
Links (Cont.)
Webcracker - http://www.securityfocus.com/tools/706
THC Hydra - http://freeworld.thc.org/thc-hydra/
Ethical Hacker Security Training – Web Hacking
Copyright © 2008 SIClabs
23
Ethical Hacker Security Training – Web Hacking
Referencias y Lecturas Complementarias
CEH Official Certified Ethical Hacker Review Guide
By Kimberly Graves
(Sybex) ISBN: 0782144373
Certified Ethical Hacker Exam Prep
By Michael Gregg
(Que) ISBN: 0789735318
Hacking Exposed, Fifth Edition
By S.McClure, J.Scambray, and G.Kurtz
(McGraw-Hill Osborne Media) ISBN: 0072260815
Gray Hat Hacking, Second Edition
By S.Harris, A.Harper, C.Eagle, J.Ness
(McGraw-Hill Osborne Media) ISBN: 0071495681
Ethical Hacker Security Training – Web Hacking 70
Copyright © 2008 SIClabs
Web Hacking
Preguntas?
24