Está en la página 1de 20

Francisco Jos Ribadas Pena

ribadas@uvigo.es Departamento de Informtica Universidade de Vigo

Tests de Intrusin. Anlise da seguridade en entornos GNU/Linux


Ferramentas de seguridade en GNU/Linux
Curso de Extensin Universitaria

25 de xuo de 2010

Indice Tests de intrusin


Qu son? Para qu sirven? Tipologa de los test de intrusin Metodologas y buenas prcticas Fases y tareas tpicas

Distribuciones GNU/linux para pen testing


Backtrack 4

Tests de intrusin (I) Qu son?


Mecanismo de evaluacin de las medidas de proteccin de una organizacin y de los servicios expuestos a Internet.
Analizan la efectividad de los controles de seguridad implantados en una organizacin relizando una bateria de acciones planificadas que simulan el comportamiento de un atacante. Otros nombres: tests de penetracin (pen testing), hacking tico (ethical hacking)

Objetivo: vulnerar la seguridad de los mecanismos implantados para conseguir accesos no autorizados a la organizacin, obtener informacin sensible, interrumpir un servicio,
Depender del alcance concreto del test realizado Test de penetracin != anlisis de vulnerabilidades
Las vulnerabilidades detectadas se explotan
3

Tests de intrusin (II) Para qu sirven?


Conforman un conjunto de actividades destinadas a estimar el estado real de la seguridad de un sistema.
Son uno de los posibles mtodos y tcnicas a usar en las auditorias de seguridad Finalizan con un informe tcnico (identificacin del riesgo, probabilidad de ocurrencia, impacto en la organizacin,estimacin de su gravedad, recomendaciones)

Beneficios
Encuentran brechas de seguridad no vistas Documentan e informan a la direccin de problemas/amenazas Verificacin de configuraciones seguras (en redes y software) Verificacin real del cumplimiento de las polticas y medidas de seguridad establecidas

Tests de intrusin (III) Conceptos (ISO-27001)


Activo: Cualquier valor cuantificable de naturaleza material o inmaterial de una organizacin Amenaza: Factor de riesgo externo representado por un peligro latente asociado a un fenmeno natural, tecnolgico o humano, pudiendo manifestarse en un sitio especfico por un tiempo determinado, produciendo efectos adversos a personas o bienes Vulnerabilidad: Factor de riesgo interno de un sistema expuesto a una amenaza, y se corresponde con su predisposicin intrnseca a ser afectado o susceptible de dao Riesgo: Probabilidad de que una amenaza explote una vulnerabilidad Impacto: Cuantificacin del dao ocasionado una vez materializada la amenaza
5

Test de intrusin (III) Colecciones y catlogos de vulnerabilidades


CWE (Common Weakness Enumeration)
Cataloga ms de 600 entradas dividas en: vulnerabilidades de configuracin, de cdigo y de entorno. Es la clasificacin usada por CVE (Common Vulnerabilities and Exposures).

NVD (National Vulnerability Database)


Desarrollada por el Instituto Nacional de Estndares y Tecnologa Norteamericano (NIST) Define 23 tipos de vulnerabilidades.

OWASP (Open Web Application Security Project)


Coleccin de 24 tipos vulnerabilidades centrada exclusivamente en la seguridad de aplicaciones web.

SAMATE (Software Assurance Metrics and Tool Evaluation)


Desarrollada y mantenida por el NIST Centrada en los errores de codificacin de aplicaticiones (buffer overflow, etc)

Tipos de tests de intrusin (I) White box pentest


Se posee un amplio conocimiento de la organizacin (estructura, departamentos, responsabilidades) y de la red
(topologa, dispositivos, SS.OO., bases de datos, IDS, firewalls, ...)

Se cuenta con colaboracin del personal y con acceso a los recursos de la empresa. Simula un atacante con conocimiento exhaustivo del sistema Anlisis interno
Desde el punto de vista de un administrador o usuario que cuentan con acceso (privilegiado o no) al sistema Puede ser muy extenso (alcance muy amplio) y minucioso (se dispone de un conocimiento completo)
7

Tipos de tests de intrusin (II) Black box pentest


No hay conocimiento previo de la organizacin o la red Slo se dispone de informacin pblicamente accesible Pocas personas de la organizacin saben que esta ser atacada. Simulacin ms realista de un ataque autntico Puede ser muy costoso (tiempo [recopilacin info.] + personal
entrenado)

Grey box pentest (combina los anteriores)


Usa tcnicas de un atacante real (black box) con conocimiento del sistema analizado (white box)

Tests de intrusin especficos Servicios/aplicaciones web, bases de datos, wireless, ...


Las tareas y pasos concretos a seguir varan ligeramente en cada tipo
8

Tipos de tests de intrusin (III) Otra visin:


Conocimiento del atacante vs conocimiento del atacado

Metodologas de Pen Test (I)

Test de penetracin supone definir y ejecutar multitud de tareas muy complejas y variadas => necesidad de guias
Metodologas que definan y organicen los procedimientos a ejecutar para mantener la coherencia en las acciones a realizar

Open Source Security Testing Methodology Manual (OSSTMM)


Metodologa del ISECOM para la realizacin de evaluaciones de seguridad, incluidos test de penetracin Metodologa Open Source, disponible en http://www.osstmm.org Define, organiza y secuencia las tareas y comprobaciones a realizar para analizar 3 aspectos (alcance) de la seguridad:
COMMSEC (communication security): redes y transferencia de datos PHYSEC (physical security): personal y equipos fsicos SPECSEC (spectrum security): comunicaciones wireless

Entre esos pasos/tareas/comprobaciones se incluye un marco para la realizacin de tests de penetracin

10

Metodologas de Pen Test (II)

ISSAF(Information Systems Security Assessment Framework) Framework del OISSG (Open Information Systems Security Group) que define procediemientos de aseguramiento y comprobacin de la seguridad incluido pen testing Web: http://www.oissg.org/ OWASP Testing Guide de OWASP Framework del proyecto Open Web Application Security Project (OWASP) exclusivamente dedicado a seguridad de aplicaciones web. Web: http://www.owasp.org/ Productos: Guia de desarrollo y testing de aplicaciones web http://www.owasp.org/index.php/OWASP_Guide_Project Define listas de comprobaciones en un test de intrusin web Top 10 de amenazas web http://www.owasp.org/index.php/OWASP_Top_Ten_Project
11

Fases y tareas tpicas Recopilacin de informacin


Etapa 1: Rastreo Etapa 2: Exploracin

Anlisis de datos
Etapa 3: Enumeracin
Informe final del test
Informe tcnico. Resumen del proceso realizado Clasificacin de las vulnerabilidades encontradas y su nivel (alto, medio, bajo) Propuesta de correcciones y sugerencia de buenas prcticas Informe ejecutivo.

Explotacin
Etapa 4: Acceso Etapa 5: Escalada de privilegios Etapa 6: Dao Etapa 7: Borrado de huellas

12

Fases y tareas tpicas (I) Etapa 1: Rastreo Obtener informacin del sistema/organizacin/red/mquina bajo anlisis
Nombres de dominio, direcciones IP, nombres de usuarios, responsables, Bases de datos pblicas: whois, RIPE, DNS, Buscadores
Genricos: Google hacking, bing hacking, ... Especficos: Goolag (http://www.goolag.org), KartOO (http://kartoo.org)

Herramientas genricas de gestin de red: dig, nslookup,... Herramientas especficas: FOCA (anlisis metadatos), Maltego

13

Fases y tareas tpicas (II) Etapa 2: Exploracin Analizar el sistema objetivo para identificar servicios activos, mquinas disponibles, recursos/dispositivos de red (routers, firewalls, ...), sistema operativo, ...
Herramientas genricas de gestin de red: ping, traceroute,... Herramientas especficas
escneres de puertos: nmap, hping3, xprobe, ...

14

Fases y tareas tpicas (III) Etapa 3: Enumeracin Pruebas y tests para identificar recursos especficos y sus caractersticas concretas
Identificar SS.OO., sus versiones y parches de seguridad (service packs, etc) Versiones concretas de servicios/aplicaciones Cuentas de usuario vlidas Herramientas especficas
Escneres puertos e identificadores de servicios: nmap, xprobe... Escneres de vulnerabilidades: nessus, openvas,
Escneres de vuknerabilidades especficos: w3af (escaner de wulnerabilidades web)

15

Fases y tareas tpicas (IV) Etapa 4: Acceso Obtener un acceso no autorizado o no previsto a alguno/s de los recursos o servicios identificados en el sistema objetivo.
Rotura de contraseas
Por fuerza bruta, ataques de diccionario (Rainbow tables), prueba de contraseas por defecto o contrseas dbiles Herramientas: THC hydra, John the Ripper, Abel and Cain,... Sniffing/escucha de contraseas o datos sensibles: wireshark, tcpdump, ettercap, ...

Inyeccin de trfico: ettercap, dnsniff, sslsniff, ... Explotacin de vulnerabilidades especficas de las versiones concretas de los servicios/recursos identificados.
Exploits especficos: http://milw0rm.com Herramientas automatizacin exploits:Metasploit, CORE Impact, SAINTexploit Uso de valores de entrada no previstos
fuzzers: exploraciones exhaustiva automatizada de los posibles datos de entrada, buscando (a ciegas) situaciones no previstas 16

Fases y tareas tpicas (V) Etapa 5: Escalada de privilegios


Obtener control completo del sistema, adquiriendo (y manteniendo) permisos, credenciales y privilegios propios de los administradores. Objetivo: Validar si para el supuesto atacante sera posible adquirir privilegios que le permitieran ejecutar acciones maliciosas o acceder a datos restringidos. Suele requerir incluir cdigo especfico en el sistema objetivo (payload) que permitan realizar determinadas acciones:
Normalmente ofrecen algn tipo de acceso remoto al mismo (habilitan puertas traseras): abrir shells del sistema con privilegios (bash), habilitar conexiones de escritorio remoto (VNC),...

Explotacin de vulnerabilidades especficas de las versiones concretas de los servicios/recursos identificados.


Exploits especficos: http://milw0rm.com Herramientas automatizacin exploits: Metasploit, Core Impact Puertas traseras: BackOrifice,LCP 5.0

17

Fases y tareas tpicas (VI) Etapa 6: Dao Valorar y evaluar la capacidad del atacante que ha escalado privilegios de realizar acciones maliciosas que causen dao:
Daos posibles:
Acceso a datos confidenciales
Robo de informacin Alteracin de informacin: datos protegidos, pginas web, ...

Denegacin de servicio (DoS)


Imposibilitar el acceso o uso de determinados componentes del sistema a sus usuarios legtimos.

Extensin del ataque


Evaluar la posibilidad de usar el sistema controlado como punto de partida para iniciar ataques a otras parte del propio sistema objetivo o a sistemas ajenos

18

Fases y tareas tpicas (VII) Etapa 7: Borrado de huellas Verificar hasta que punto el potencial atacante tendra capacidad de eliminar el rastro de sus acciones maliciosas y mantener su control del sistema de forma permanente sin ser detectado.
Objetivo: Eliminacin de los registros y logs que contengan informacin que releve la existencia del ataque y que pudiera ser de utilidad en un anlisis forense o una auditora de seguridad.

19

Distribuciones GNU/Linux para pen testing BackTrack 4 Live-cd con multitud de herramientas de anlisis de seguridad preconfiguradas. Orientado principalmente a tests de intrusin. Herramientas organizadas en 11 categorias que se corresponden con las fases tpicas de una intrusin.
Information Gathering Network Mapping Vulnerability Identification Web Application Analysis Radio Network Analysis (802.11,Bluetooth,Rfid) Penetration (Exploit & Social Engineering Toolkit) Privilege Escalation Maintaining Access Digital Forensics Reverse Engineering Voice Over IP

Web: http://www.backtrack-linux.org/ Otras distribuciones:


Pentoo [web: http://www.pentoo.ch/] DVL (damm vulnerable linux) [web:http://www.damnvulnerablelinux.org/] ejercicios de intrusin, sistemas vulnerables para pruebas,...

20