Pruebas de Intrusión utilizando Open Source

Preview:

DESCRIPTION

Al fin me pude sentar a publicar esta charla prometida, preparada originalmente para el flisol de Puno, lastimosamente por problemas de coordinación no se pudo dar, pero luego de unas mejoras, pudimos tenerla lista para el "Chiclayo IT Security Day 2011", en el cual estuvimos este fin de semana. Toca muchos temas, desde las metodologìas para hacer pentesting, las herramientas, las metodologías, y bueno, la charla presencial tuvo una pequeña demo. Encontrarán varios links que espero les sean de utilidad. Espero la disfruten.

Citation preview

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...