Pentest curso de verano - valencia 2010

41
Alejandro Ramos www.securitybydefault.com

description

Presentación curso de verano (Valencia 2010) - PenTest

Transcript of Pentest curso de verano - valencia 2010

Page 1: Pentest curso de verano - valencia 2010

Alejandro Ramos

www.securitybydefault.com

Page 2: Pentest curso de verano - valencia 2010
Page 3: Pentest curso de verano - valencia 2010

Método para evaluar la seguridad de un sistema o red de sistemas de información simulando el ataque por un intruso

Page 4: Pentest curso de verano - valencia 2010

Parte por la necesidad de comprobar cual es el impacto real de una vulnerabilidad mediante la realización de pruebas controladas.

Que no se diagnostique una enfermedad no significa que no exista, se busca la detección de vulnerabilidades no conocidas.

Page 5: Pentest curso de verano - valencia 2010

Auditoría de vulnerabilidades: ◦ Cuantifica y clasifica vulnerabilidades y

recomendaciones

◦ Encuentra el 100% de las vulnerabilidades conocidas

Test de intrusión: ◦ Detecta algunas vulnerabilidades conocidas y

algunas desconocidas

◦ Describe y demuestra el impacto asociado a las vulnerabilidades detectadas.

Page 6: Pentest curso de verano - valencia 2010

Ataque: lo que afecta a la Autenticidad, Confidencialidad, Integridad, Disponibilidad, o Auditabilidad (ACIDA)

Activo ◦ Modifica el sistema ◦ Altera la integridad o disponibilidad

◦ Ejemplos: explotar una vulnerabilidad, descargar una base de datos.

Pasivo ◦ No modifica los sistemas

◦ Intercepta información ◦ Afecta a la confidencialidad ◦ Ejemplo: escucha de paquetes en la red

Page 7: Pentest curso de verano - valencia 2010

Externo ◦ Ejecutado desde fuera del perímetro de seguridad.

◦ Ejemplo: Internet

Interno ◦ Con más privilegios de acceso en la red

◦ Ejemplo: empleado, cliente, proveedor, conexión wireless

Page 8: Pentest curso de verano - valencia 2010

Capa física

Capa comunicaciones

Capa de aplicación

Análisis de visibilidad

Auditoría de código fuente (J2EE, C, ASPX, PHP…)

Auditoría de aplicaciones web y web services

Auditoría de Servicios (BBDD, WEB, Correo, etc)

Auditoría de sistemas Operativos

Auditoría entornos inalámbricos: WiFi, BT, RFID

Auditoría Accesos remotos: Wardialing, VPN

Auditoría Elementos de red: routers, switches

Auditoría Elementos de seguridad: FW, IDS, SEIM

Ingeniería Social

Dumpster Diving

TEST

DE I NTRUS IÓN

Page 9: Pentest curso de verano - valencia 2010

Se genera un requerimiento de propuestas (request for proposal)

Proveedores responden con sus ofertas

Se acepta una de ellas

Reunión de arranque

Ejecución

Cierre de proyecto

Page 10: Pentest curso de verano - valencia 2010

Fase 0.

Arranque Proyecto

Fase I.

Test de Intrusión Externo

Fase IV.

Cierre de Proyecto

A. Reunión Arranque

B. Planificación de pruebas

C. Reuniones Seguimiento

Ea. Enumeración

Da. Recopilación Información

H. Informe técnico

Gestión Proyecto

L. Aceptación de hitos y finalización de proyecto

J. Presentación de Resultados

K. Reunión de Cierre de Proyecto

Fa.2 Sistema Operativo

Fa.3 Servicios

Fa.4 Aplicaciones

I. Informe Ejecutivo

Ga. Obtención de evidencias

Fase III.

Resultados

Fa.1 Infraestructura

Fase II.

Test de Intrusión

Interno

Eb. Enumeración

Db. Recopilación Información

Fb.2 Sistema Operativo

Fb.3 Servicios

Fb.4 Aplicaciones

Gb. Obtención de evidencias

Fb.1 Infraestructura

Fa. Análisis Fb. Análisis

Page 11: Pentest curso de verano - valencia 2010

Ámbito / Alcance

Nivel de información ◦ Caja Blanca ◦ Caja Negra

Autorización de trabajo ◦ http://www.counterhack.n

et/permission_memo.html

Objetivos de auditoría ¿Ingeniería social? ¿Pruebas (exploits)

peligrosos?

Page 12: Pentest curso de verano - valencia 2010

Recopilación de Información

•Buscadores: Google, MSN

•Ripe, whois, DNS

•Metadatos: jpg, doc, xls, pdf

Enumeración

•Direccionamiento IP

•Nombres de usuario

•Servicios y aplicaciones

Análisis

• Infraestructura

•Sistema Operativos

•Servicios

•Aplicaciones

Explotación

• Intrusión en sistemas

•Obtención de evidencias

Documentación

•Análisis de visibilidad

• Informe de Test de Intrusión

•Presentación de resultados

•Alertas

Page 13: Pentest curso de verano - valencia 2010

Recopilación de

Información

Enumeración

Análisis

Explotación

Borrado de

evidencias

•Eliminación de

registros

Garantizando acceso

•Instalación de rootkits

•Sniffers

•Keyloggers

Page 14: Pentest curso de verano - valencia 2010

ISECOM OSSTMM 3.0 ◦ http://www.isecom.org/

OWASP ◦ http://www.owasp.org

NIST SP 800-42 (Security Testing), 800-115 ◦ http://csrc.nist.gov

Page 15: Pentest curso de verano - valencia 2010

Demo

Page 16: Pentest curso de verano - valencia 2010
Page 17: Pentest curso de verano - valencia 2010

Primera fase del test de intrusión

Esencial para elaborar un ataque sofisticado posterior

No intrusivo, la entidad no debe detectarlo

Recopilar mayor cantidad de información publica:

Direccionamiento IP Dominios

Correos electrónicos Nombres de usuario

Software y Hardware Proveedores y clientes

Marcas comerciales Productos

Perfil de trabajadores IMAGINACIÓN

Page 18: Pentest curso de verano - valencia 2010

Objetivo: encontrar nuevos hosts y aplicaciones web

Identificar otros dominios alojados en una misma dirección IP (virtual vost)

Se consultan todas las direcciones IP en buscadores

Bing.com permite “IP:<ip>”

Online: ◦ http://www.serversniff.net/hostonip.php

◦ http://www.myipneighbors.com ◦ http://www.domaintools.com/reverse-ip/ ◦ http://whois.webhosting.info/

Page 19: Pentest curso de verano - valencia 2010
Page 20: Pentest curso de verano - valencia 2010
Page 21: Pentest curso de verano - valencia 2010
Page 22: Pentest curso de verano - valencia 2010

A veces incluido dentro de fase de obtención de información (activo)

Identificar las versiones y los servicios que ofrece cada dirección IP

Identificación de sistemas operativos, elementos de red, etcétera.

Identificación de reglas en firewalls

Descartar sistemas que no ofrezcan servicios (IPs sin uso)

Page 23: Pentest curso de verano - valencia 2010

Objetivo: descubrir los servicios activos

Barrer los 65535 puertos.

Uso de distintos protocolos

Optimización de tiempo

Detección de reglas de firewall

Page 24: Pentest curso de verano - valencia 2010
Page 25: Pentest curso de verano - valencia 2010
Page 26: Pentest curso de verano - valencia 2010

Versiones antiguas

Falta de parches

Errores de configuración

Configuraciones por defecto

Usuarios y contraseñas débiles

Page 27: Pentest curso de verano - valencia 2010

Proceso de detección de vulnerabilidades automáticamente:

Banco de pruebas muy elevado.

Ahorro en coste/tiempo

Falta de control

Número elevado de falsos positivos

Denegación de Servicio

Page 28: Pentest curso de verano - valencia 2010

Tenable Nessus

OpenVAS

GFI Languard

SAINT

QualysGuard

Rapid7 Nexpose

eEye Retina

Foundstone

nCircle IP360

Skybox Secure solution

Gideon SecureFusion

Page 29: Pentest curso de verano - valencia 2010
Page 30: Pentest curso de verano - valencia 2010
Page 31: Pentest curso de verano - valencia 2010
Page 32: Pentest curso de verano - valencia 2010

Objetivos: Eliminación de falsos positivos. Obtención de evidencias Salto a la red interna y/o entre servidores Muestra el impacto real Precauciones:

Caída del servicio Caída del sistema Inestabilidad de los servicios Obtención de información confidencial

◦ Revisión del alcance y autorización de trabajos

Page 33: Pentest curso de verano - valencia 2010

Código que explota una vulnerabilidad en beneficio del que la ejecuta

Categorías: ◦ Exploits de servicio - Server side

◦ Exploits en el cliente - Client side

◦ Escalada local de privilegios

Frameworks

Códigos independientes

Page 34: Pentest curso de verano - valencia 2010

Metasploit

Core Impact

Canvas

Saintexploit

Page 35: Pentest curso de verano - valencia 2010
Page 36: Pentest curso de verano - valencia 2010

function validarAcceso($login,$password ) { include("../includes/config.inc.php"); $login=mysql_escape_string($login); $password=mysql_escape_string($password); $sql="select * from usuarios where db_login='".$login."' and db_pwd=password('".$password."')";

Page 37: Pentest curso de verano - valencia 2010

http://forum.antichat.ru/showthread.php?p=2121072

Page 38: Pentest curso de verano - valencia 2010
Page 39: Pentest curso de verano - valencia 2010
Page 40: Pentest curso de verano - valencia 2010

Introducción

Resumen ejecutivo y conclusiones

Metodología

Proceso de intrusión, vulnerabilidades ◦ Criticidades, recomendaciones, evidencias

Apéndices

Page 41: Pentest curso de verano - valencia 2010

www.securitybydefault.com