Pruebas de IntrusiónUtilizando Herramientas Open Source
Juan Pablo Quiñe PazCISSP, GISP, ISO27001 LA
http://hackspy.blogspot.com
ChiclayoIT SecurityDay 2011
Agenda
http://hackspy.blogspot.com
¿Quién soy yo?
The Son of Man (French: Le fils de l'hommeRené Magritte (Bélgica, 1964)
Ing. de Sistemas
10 años dedicado a la Seguridad Informática y de TI
Certificaciones: CISSP, GISP, ISO 27001 LA, OSCP
¿A qué me dedico?
Evaluación de Seguridad, Ethical Hacking, ISO 27000, Seguridad de la Información, Seguridad Informática, Redes, Protocolos, Estándares de Seguridad, Auditoría de TI, Gobernance and Compliance y lo que pueda surgir… Certificaciones: CISSP, GISP, ISO 27001 LA, COBIT.
¿A qué me dedico? (Cont.)
Investigación y hobbies relacionados con:
Hacking, Wifi, Bluetooth, IrDA, RFiD, Networking, Lockpicking, Ing. Social, Computer Games, PS3, PSP, Car audio, IT Security, Mobile Hacking, Linux, fanático de Mac, paintball, placas arduino, análisis de aparatejos tecnológicos en general, entre otros…
DisclaimerTodo el contenido de esta charla es resultado de investigación con fines didácticos y educativos.
El autor no se hace responsable por el uso del conocimiento contenido en la siguiente presentación.
La información contenida debe ser utilizada únicamente para fines éticos y con la debida autorización.
Definiciones
Principios de la Seguridad
Confidencialidad: La capacidad prevenir la divulgación de información a personas o sistemas no autorizados.
Integridad: La propiedad de mantener los datos libres de modificaciones no autorizadas.
Disponibilidad: La característica, cualidad o condición de la información de encontrarse a disposiciónde quienes deben acceder a ella, ya sean personas, procesos, o aplicaciones.
¿Qué es una Prueba de Intrusión?
Wiki + apreciación personal: Una Prueba de Intrusión es un método, actividad, o buena práctica realizado para evaluar la seguridad de un equipo o red simulando un ataque proveniente de una fuente maliciosa.
Que tipos de Evaluaciones existenwhite box: Cuando se realiza una evaluación con conocimiento detallado de la red.
black box: Cuando no se tiene mayor conocimiento del objetivo a evaluar.
gray box: Cuando se tienen ciertos datos sobre el objetivo a evaluar.
Otras definiciones
Riesgo: la explotación de una vulnerabilidad por parte de una amenaza
Exposiciones: Áreas que son vulnerables a un impacto por parte de una amenaza
Vulnerabilidades: deficiencias que pueden ser explotadas por amenazas
Amenazas: Cualquier acción o evento que puede ocasionar consecuencias adversas
Impacto: los resultados y consecuencias de que se materialice un riesgo
Un pequeño juego
Hagamos el siguiente ejercicio
Pasar por los 9 puntos utilizando únicamente 4 líneas rectas sin levantar el trazo
Algunas confusiones comunes:Análisis de Vulnerabilidades vs
Ethical Hacking
Comparación entre:
Identificación de fallas de seguridad
Análisis de vulnerabilidades en los equipos a evaluar
Enumeración de las vulnerabilidades, riesgo y posibles alternativas de solución
Por lo general la verificación de las vulnerabilidades escapa al análisis
Ejecutado al inicio de un plan de seguridad para adoptar medidas correctivas
Identificación de fallas de seguridad
Búsqueda de Vulnerabilidades a explotar
Explotación de vulnerabilidades a fin de comprobar las falencias de seguridad
Se muestra evidencia del acceso “autorizado” a los sistemas y los métodos para ello
Ejecutado al final de un plan de seguridad para verificar que el sistema se encuentra seguro
Ethical Hacking Análisis deVulnerabilidades
Problemática
Dudas que surgen con las Pruebas de Intrusión
Cómo prácticar sin cometer delitos, o afectar a nuestros sistemas.
Como definir el alcance de las pruebas.
Como lograr el objetivo esperado.
Como preparar un buen informe.
Como asegurar las brechas encontradas.
Metodos
Algunas metodologías conocidas
OSTMM - Open Source Security Testing Methodology Manual
ISSAF - Open Information System Security Asessment Framework
OWASP - Open Web Application Security Project
PTES - Penetration Testing Execution Standard
¿Cual es nuestro punto de partida?
A que amenazas estáexpuesta una Organización
Perspectivas para una evaluación de Seguridad
FASE 3 Evaluaci ó n de la
vulnerabilidad del host
FASE 1 Descubrimiento /
Exploraci ó n
Evaluaci ó FASE 3
n de la vulnerabilidad del host
FASE 2 Explotaci ó n
FASE 2 Explotaci ó n
FASE 1 Descubrimiento /
Exploraci ó n
AMENAZAS & VULNERABILIDADES
PENETRACIÓN
ATAQUE
Ingeniería Social
Evaluaci ó n de Seguridad
Internet
ó n Evaluaci de Seguridad
Internet
Evaluaci ó n de Seguridad
Intranet
ó n ó Evaluación de Seguridad Intranet/red
interna
Evaluaci ó n de Seguridad
Extranet
n Evaluaci de Seguridad
Extranet
Evaluaci ó n de Accesos Remotos
ó n Evaluaci de Accesos Remotos
Fuente: Hacking Exposed 4th Edition
Eliminación de huellas
Extraer información
(Pilfering)
Escalamiento de Privilegios
Obtención de Acceso
Enumeración
Escaneo
Toma de Huellas
Creación de Puertas traseras
Denegaciones de servicio (DoS)
Anatomía de un Ataque
Prueba de Intrusión
Toma de Huellas
Esta etapa abarca actividades tales como:
Google Hacking
Identificación de Dominios y redes asociadas.
Reconocimiento de la red.
Escaneo (de equipos y servicios)
Identifica:
Equipos activos
Servicios Activos y sus versiones
Sistema Operativo
Otros datos relevantes
Explotación(De Datos y Vulnerabilidades)
Explotación de vulnerabilidades para cada servicio.
Identificación de información relevante para la explotación.
Retroalimentación que facilite la explotación.
Clasificación de las brechas encontradas.
Reporte de HallazgosInforme Ejecutivo
Informe Detallado:
Hallazgos
Riesgos y,
Recomendaciones de control
Anexos:
Reportes de hallazgos
Estadísticas
Consideración almomento de recomendar mejoras
Es necesario identificar cuales son las necesidades y las implicancias de las brechas encontradas
Evaluar y probar cada corrección previamente que podría afectar a uno o mas sistemas existentes.
IMPORTANTE
Herramientas
Algunas Herramientas recomendadas
NMAP
Netcat
Nessus
OpenVAS
Metasploit
SET
John The Ripper
Rainbow Tables
Nikto
Burp
Paros
Kismet
AirCrack
Maltego
Algunos sitios recomendados
http://sectools.org (Top 100 SecTools)
http://securitytube.net (Security Videos)
http://www.exploit-db.com (Exploits DB)
http://packetstormsecurity.org (de todo un poco)
http://www.cisecurity.org (checklists de seguridad)
ISOs/LiveCD’s para prácticar
http://herot.net/livecds
http://www.bad-store.net/
http://www.bonsai-sec.com/es/research/moth.php
http://blog.metasploit.com/2010/05/introducing-metasploitable.html
http://www.mavensecurity.com/web_security_dojo/
http://informatica.uv.es/~carlos/docencia/netinvm/
Existe algo como “esto” en Pruebas de Intrusión
Algunas LiveDistros para Pruebas de Intrusión
BackTrack (http://www.backtrack-linux.org/)
Samurai (http://samurai.inguardians.com/)
OWASP LiveCD Project (http://www.owasp.org/)
BackBox (http://www.backbox.org)
Katana (http://www.hackfromacave.com/katana.html)
Ataque Man In The Middle
Comunicación en una red con switches
¿Quien tiene 1.1.1.2? 1.1.1.1
1.1.1.2
1.1.1.2 esta en 00:11:22:33:44:55:66
1.1.1.1
1.1.1.2
Comunicación en una red con switches
Comunicación en una red con switches
1.1.1.1
1.1.1.2 Intercambio de Datos
Ataque ARP Man In The Middle
¿Quien tiene 1.1.1.2? 1.1.1.1
1.1.1.2
Ataque ARP Man In The Middle
1.1
.1.2
esta
en
99:8
8:7
7:6
6:5
5:4
4
1.1.1.1
1.1.1.2
1.1
.1.1
esta
en
99:8
8:7
7:6
6:5
5:4
4
Ataque ARP Man In The Middle
Intercambio
de Datos
1.1.1.1
1.1.1.2
Aplicándolo a una evaluación Web
Firewall
Firewall
Database
Web App Scripts
Web Server
User
Arquitectura de una Aplicación Web
Métodos HTTP
Como se desarrollaun Acceso a un WebEl browser parte el URL en 3 partes:
El protocolo ("HTTP")
El nombre del servidor ("www.website.com")
El Archivo ("webpage.html")
El navegador se comunica con un servidor de dominio, donde traduce el nombre del servidor por la dirección IP
El navegador luego realiza una conexión al Servidor Web a la dirección IP al puerto 80.
Como se desarrollaun Acceso a un Web (cont.)
Siguiendo el protocolo HTTP, el navegador envía una solicitud GET al servidor, solicitando por el archivo http://webpage.html.
El servidor envía el texto HTML text por la página web al navegador.
El navegador lee el texto HTML y formatea la página en la pantalla.
Algunos supuestos en http
Siempre se hace una conexión utilizando un browser
Es posible enviar datos ocultos dentro del código fuente
Los parámetros o variables no pueden ser manipulados por el cliente
No es posible insertar otra cosa que no sea HTTP
¿Que trae como consecuencia?
Confianza en los datos del lado cliente
No se bloquean caracteres especiales
Filtrado en la salida de caracteres HTML
Acceso a Admin por las aplicaciones Web
Autenticación vía ActiveX/JavaScript
Falta de autenticación de usuario a realizar tareas críticas
Debilidades en el manejo de sesiones
Demo
Nuestro escenario Ideal
LABORATORIO VIRTUAL
BackTrack 4172.16.146.130
Web Store172.16.146.131
DE-ICE Inc.172.16.146.132
MacBook 13" Core2Duo 2.2GHz 3GB Ram 250 GB HDD Mac OSX (Darwin) Running VMWare Fusion KeyNote
La realidad de nuestro laboratorio
Utilizando MitM para evaluar HTTP
Arquitectura Funcional de una aplicación HTTP
Sistema Operativo
Servidor Web
Aplicación Web Aplicación Web
Base de Datos (Información)
Fallos Comunes de Seguridad Web
Cross-site Scripting SQL Injection
Debilidades en Login/PasswordRobo de Sesiones
Mensajes de error de sistema en crudoValidación de Parámetros
Buffer OverflowsRobo de Cookies
Partamos del supuesto
Alteremos nuestro supuesto
Reemplazamos el Cliente por una ventana en línea de comandosUtilizamos browsers no convencionales o antiguos (Lynx, Opera, Iexplorer 3.0)Implementamos capas adicionales en la conexión (proxys en la navegación)
Que nos permitenestos cambios
Somos capaces de ver, capturar, modificar la información que ha sido procesada en los browsers
Somos capaces de entender la lógica de la programación
Somos capaces de manipular la información a fin de probar la seguridad de nuestros sistemas
Estamos seguros
¿Con un Firewall?
Estamos seguros
¿Con un Firewall?
iptables-AINPUT-ieth0-ptcp--sport1024-65535-d$IPADDR--dport80-jACCEPT
iptables-AOUTPUT-oeth0-ptcp!--syn-s$IPADDR--sport80--dport1024-65535-jACCEPT
Estamos seguros
¿Con un Firewall?
Como se vulnera un Firewall
Pensamientos Finales
Recordemos...
Todo conocimiento debe ser utilizado con fines éticos.
El hecho de saber como vulnerar la seguridad, no nos da el derecho de hacerlo indiscriminadamente.
Toda evaluación de seguridad debe ser aprobada previamente a su ejecución por personal responsable de los equipos.
La línea entre lo legal y lo ilegal es muy frágil y podemos cruzarla sin darnos cuenta.
Juan Pablo Quiñe Paz, CISSP, GISP, ISO 27001 LAhttp://hackspy.blogspot.com
Gracias...
Top Related