Está en la página 1de 24

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

También podría gustarte