“Técnicas del Penetration...

37
“Técnicas del Penetration Testing” Victor H. Montero Victor H. Montero vmontero vmontero @ @ cybsec cybsec . . com com Septiembre de 2005 Septiembre de 2005 Buenos Aires Buenos Aires - - ARGENTINA ARGENTINA

Transcript of “Técnicas del Penetration...

“Técnicas delPenetration Testing”

Victor H. MonteroVictor H. Monterovmonterovmontero@@cybseccybsec..comcom

Septiembre de 2005Septiembre de 2005Buenos Aires Buenos Aires -- ARGENTINAARGENTINA

2

© 2005

Técnicas del Penetration Testing

AgendaAgenda

- ¿Qué es un Penetration Test?

- El rol del PenTest en la Seguridad Informática.

- Objetivo y alcance.

- Metodología de Penetration Test.

- Casos de la vida real.

3

© 2005

Técnicas del Penetration Testing

Consiste en emular y simular comportamientos y técnicas que

pueden ser utilizadas por los intrusos con el objetivo de

analizar el nivel de seguridad y la exposición de los sistemas

ante posibles ataques.

Permite detectar

vulnerabilidades en

los Sistemas

Informáticos y

corregirlas en forma

rápida y eficaz.

Qué es un Penetration Test?

4

© 2005

Técnicas del Penetration TestingQué es un Penetration Test?

Es un conjunto de metodologías y técnicas que permiten

realizar una evaluación integral de las debilidades de los

sistemas informáticos.

Consiste en un modelo que reproduce

intentos de acceso de un potencial

intruso desde los diferentes puntos

de entrada que existan, tanto

internos como remotos, a cualquier

entorno informático, permitiendo

demostrar los riesgos funcionales de

las vulnerabilidades detectadas

5

© 2005

Técnicas del Penetration TestingLa Seguridad Informática en los sistemas

La Seguridad Informática es Dinámica.

Día a día se reportan vulnerabilidades que podrían poner en

jaque los sistemas informáticos de cualquier organización.

Esto conlleva a la constante actualización de los sistemas y

de los conocimientos necesarios para afrontar los nuevos

riesgos que aparecen con las distintas vulnerabilidades.

“Ahora podemos estar seguros.

En diez minutos, ya no.”

6

© 2005

Técnicas del Penetration Testing

Vulnerabilidades de Seguridad Informática reportadasVulnerabilidades de Seguridad Informática reportadas

© CERT/CC

En los últimos años, se registra

una estabilidad en la cantidad de

vulnerabilidades reportadas.

Esto se debe principalmente al

incremento en los controles de

seguridad en el proceso de

desarrollo de software.

La Seguridad Informática en los sistemas

7

© 2005

Técnicas del Penetration Testing

Cómo hacen los intrusos para ingresar en los sistemas?Cómo hacen los intrusos para ingresar en los sistemas?

La Seguridad Informática en los sistemas

Definitivamente,

no como en Hollywood.

“El nivel de seguridad informática global de toda una instalación es igual al componente de menor nivel de seguridad”.

Los intrusos aprovechan vulnerabilidades de seguridad, descuidos, y

configuraciones inseguras para ingresar en forma no autorizada.

8

© 2005

Técnicas del Penetration TestingLa Seguridad Informática en los sistemas

Metodología de una intrusiónMetodología de una intrusión

Los ataques externos son

más fáciles de detectar y

repeler que los ataques

internos. El intruso interno ya

tiene acceso a la red interna o

incluso al mismo Server que

quiere atacar.

Barreras deProtección

ServidoresInternos

Los ataques pueden ser perpetrados

en forma Externa o Interna.

9

© 2005

Técnicas del Penetration TestingObjetivos de un Penetration Test

- Evaluar un proyecto o sistema informático.

- Demostrar los riesgos existentes.

- Conocer la situación real de la Organización.

- Mantenimiento de la seguridad informática.

10

© 2005

Técnicas del Penetration TestingAlcance de un Penetration Test

La composición del Penetration Test se define a través del alcance del mismo.

Éste debe concretarse en reuniones previas; puede tener un alcance amplio y cubrir toda la organización, o puede ser focalizado sobre un determinado sistema o equipo, por ejemplo un sistema de Home Banking conectado a Internet.

También se define en esta instancia el tiempo de ejecución. El Penetration Test debe ser una “foto” que refleje el estado de laseguridad informática de las instalaciones, por lo tanto, los proyectos de este tipo no suelen extenderse a más de 30 días.

11

© 2005

Técnicas del Penetration Testing

En forma general, y de acuerdo al alcance, los proyectos de Penetration Test pueden categorizarse en:

Externos.

Internos.

Alcance de un Penetration Test

12

© 2005

Técnicas del Penetration TestingAlcance de un Penetration Test

Penetration Test ExternoPenetration Test Externo

Durante su ejecución se somete a los sistemas a pruebas de

seguridad informática que simulan las que se producen durante la

realización de un ataque y/o intento de intrusión desde afuera de la

instalación. Algunas de las actividades principales pueden ser:

• Barrido de líneas telefónicas.

• Situación de la seguridad en centrales telefónicas.

• Análisis del sistemas de acceso remoto.

• Situación de la seguridad en la conexión a Internet.

• Seguridad en la conexión con otras redes.

• Seguridad en aplicaciones Web.

• Seguridad en redes wireless.

13

© 2005

Técnicas del Penetration Testing

Penetration Test InternoPenetration Test Interno

Durante su ejecución se somete a los sistemas a pruebas de

seguridad informática que simulan las que se producen durante la

realización de un ataque y/o intento de intrusión desde dentro de la

instalación. Algunas de las actividades principales pueden ser:

• Testing del nivel de seguridad en los dispositivos de red

Internos.

• Testing de seguridad de los principales servidores.

• Testing de seguridad general de las estaciones de trabajo.

• Testing de seguridad de las aplicaciones.

Alcance de un Penetration Test

14

© 2005

Técnicas del Penetration TestingQuien realiza el Penetration Test?

• Equipo interdisciplinario de personas, con know-how y experiencia en proyectos de Penetration Testing

• Normalmente se contratan a Empresas de seguridad informática especializadas.

• Confianza en la Empresa a contratar(referencias).

• Explicación detallada de las actividadesa realizar.

15

© 2005

Técnicas del Penetration Testing

A nivel mundial existen estándares relacionados con Penetration

Testing:

• BS 7799 e ISO 17799 (Internacional)

• Open Source Security Testing Methodology Manual

• Federal Information System Controls Audit Manual (FISCAM)

Metodologías y Estándares

16

© 2005

Técnicas del Penetration TestingPrincipales etapas de un Penetration Test

17

© 2005

Técnicas del Penetration TestingMetodología

¿Cómo se realiza un Penetration Test?¿Cómo se realiza un Penetration Test?

Se utiliza una metodología de evaluación de seguridad informática

que incluye cuatro grandes etapas:

1) Descubrimiento

2) Exploración

3) Evaluación

4) Intrusión

Si bien el orden de las etapas no es arbitrario, en muchos casos se

paralelizan o adelantan tareas dependiendo de las características de

la plataforma evaluada.

18

© 2005

Técnicas del Penetration Testing

Etapa de DescubrimientoEtapa de Descubrimiento

Se centra en entender los riesgos del negocio asociado al uso de los

activos informáticos involucrados.

Se realizan investigaciones tratando de recolectar información pública

sobre la plataforma tecnológica del cliente, utilizando para ello

técnicas pasivas de relevamiento de información.

Este procedimiento permite empezar a delimitar las áreas sobre las

que luego se focalizará la evaluación.

Metodología - Descubrimiento

19

© 2005

Técnicas del Penetration TestingMetodología - Descubrimiento

En esta fase, se recolecta la mayor cantidad de evidencia sobre la

Empresa para la cual se van a realizar las pruebas.

Esta información suele ser:

- Rangos de direcciones IP asignados- Direcciones IP de servicios tercerizados

- Dirección física de la empresa

- Números telefónicos

- Nombres de personas y cuentas de correo electrónico

- Fuentes de información

- Análisis de la página WEB

- Existencia de redes inalámbricas (WiFi)

20

© 2005

Técnicas del Penetration TestingMetodología - Descubrimiento

21

© 2005

Técnicas del Penetration Testing

Etapa de ExploraciónEtapa de Exploración

Se busca focalizar los objetivos para las posteriores etapas de

Evaluación e Intrusión, trabajando en base a los datos obtenidos

durante la etapa de Descubrimiento.

En esta etapa se aplican técnicas no intrusivas para identificar todos

los potenciales blancos.

Incluye el análisis de protocolos, relevamiento de plataforma y

barreras de protección, scanning telefónico, scanning de puertos TCP

y UDP, detección remota de servicios y sistemas operativos, análisis

de banners y búsqueda de aplicaciones web.

Metodología - Exploración

22

© 2005

Técnicas del Penetration TestingMetodología - Exploración

En el trascurso de esta fase, se exploran todas las posibles puertas

de entrada a los sistemas, utilizando para ello (a diferencia de la

etapa anterior) técnicas activas de reconocimiento.

Las tareas que predominan en esta etapa son:

- Detección de módems activos- Confirmación de rangos de direcciones IP

- Detección de equipos activos e identificación de Sistemas Operativos

- Detección de servicios activos e identificación Software y versiones

- Detección de barreras de protección

- Relevamiento de aplicaciones Web

- Análisis de características de configuración en redes WiFi

23

© 2005

Técnicas del Penetration Testing

Técnica de ScanningTécnica de Scanning

La técnica de scanning permite a los intrusos barrer todo un conjunto de potenciales blancos en busca de alguna característica.

Se utiliza por sobre todo en la detección de equipos, servicios y

módems activos.

- ¿El scanning es legal?

- Acceso público y gratuito a las herramientas

- La utilización de los mismos puede traer graves consecuencias

- Existen países con leyes que repudian y castigan esta actividad

Metodología - Exploración

24

© 2005

Técnicas del Penetration Testing

Etapa de EvaluaciónEtapa de Evaluación

Se basa en el análisis de todos los datos encontrados para la

detección y determinación de vulnerabilidades de seguridad

informática que afectan a los sistemas evaluados.

Durante esta etapa se realizan las evaluaciones de seguridad en

todos los posibles niveles, destacándose las siguientes tareas:

- Ejecución de herramientas de scanning de vulnerabilidades.

- Búsqueda manual de vulnerabilidades.

- Enumeración de usuarios y datos de configuración.

Metodología - Evaluación

25

© 2005

Técnicas del Penetration Testing

Herramientas de scanning de vulnerabilidadesHerramientas de scanning de vulnerabilidades

- Buscan automáticamente vulnerabilidades “conocidas” en los

Sistemas Operativos y servicios que se estén ejecutando.

- Permiten, en algunos casos, “explotar” las vulerabilidades

detectadas.

- Poseen mecanismos para la generación y administración de

reportes de distinta índole (Gerenciales, Técnicos, etc).

- Facilitan la actualización de las bases de datos de vulnerabilidades.

- Algunas herramientas (gratuitas y comerciales): Nessus, Languard,

ISS, Retina...

Metodología - Evaluación

26

© 2005

Técnicas del Penetration Testing

Búsqueda manual de vulnerabilidadesBúsqueda manual de vulnerabilidades

Como complemento a la ejecución de herramientas automáticas, es

necesario verificar la existencia de vulnerabilidades conocidas que

puedan afectar a las versiones del software identificado en cada

servicio.

Existen numerosos sitios con información sobre vulnerabilidades

reportadas. Algunos de ellos poseen bases de datos con exploits

públicos, que deben ser descargados y examinados para verificar si

pueden ser útiles en la etapa de Intrusión.

Metodología - Evaluación

27

© 2005

Técnicas del Penetration TestingMetodología - Evaluación

Búsqueda manual de vulnerabilidadesBúsqueda manual de vulnerabilidades

Sitios de interés...

- Security Focus: http://www.securityfocus.com/bidhttp://www.securityfocus.com/bid

- Packet Storm Security: http://packetstormsecurity.orghttp://packetstormsecurity.org

- SecuriTeam: http://www.securiteam.comhttp://www.securiteam.com

- Security Tracker: http://www.securitytracker.com/http://www.securitytracker.com/

- Open Source Vulnerability Database: http://osvdb.org/http://osvdb.org/

- Security Forest: http://www.securityforest.com/http://www.securityforest.com/

- CERT: http://www.cert.org/http://www.cert.org/

- CVE: http://cve.mitre.org/http://cve.mitre.org/

- Exploit World: http://www.insecure.org/sploits.htmlhttp://www.insecure.org/sploits.html

- Phrack: http://www.phrack.org/http://www.phrack.org/

28

© 2005

Técnicas del Penetration Testing

Etapa de IntrusiónEtapa de Intrusión

Se focaliza en realizar pruebas de los controles de seguridad y

ataques por medio de secuencias controladas a las vulnerabilidades

propias de los sistemas identificados.

Aquí se utiliza el conocimiento adquirido en etapas previas para

buscar alternativas que permitan acceder a los sistemas y obtener el

control de los mismos.

Es en esta fase donde se prueba la eficiencia del equipo que lleva a

cabo el Penetration Test.

Metodología - Intrusión

29

© 2005

Técnicas del Penetration Testing

La etapa de Intrusión puede categorizarse como la más compleja de

las 4 etapas en un proyecto de Penetration Testing.

También es la más emocionante para el equipo de trabajo, ya que es

donde se ve reflejado en mayor medida el conocimiento y

profesionalismo del mismo.

Durante esta etapa se utiliza toda la información recabada en las

fases previas, para evaluar todas las alternativas posibles que

puedan permitir efectuar una intrusión y escalación de privilegios

exitosa.

Es importante que el cliente esté informado de aquellas pruebas que

pueden acarrear problemas en el funcionamiento de servicios, de

modo que se planifique en conjunto el momento más indicado para

realizar las tareas.

Metodología - Intrusión

30

© 2005

Técnicas del Penetration TestingMetodología - Intrusión

¿Qué datos tenemos?¿Qué datos tenemos?

- Nombres de usuarios de diversos equipos

- Exploits remotos

- Líneas telefónicas que admiten el acceso remoto

- Ubicación y características de nodos Wireless

- Mapa de la plataforma, surgido del análisis de

barreras de protección, seguimiento de rutas

y detección de hosts activos

- Aplicaciones Web vulnerables

- Recursos compartidos

31

© 2005

Técnicas del Penetration Testing

¿Y con esto qué podemos hacer?¿Y con esto qué podemos hacer?

- Fuerza bruta sobre servicios que autentiquen vía nombre de usuario /

contraseña

- Ejecución de Exploits remotos

- Prueba de usuarios y contraseñas por defecto en accesos telefónicos y

servicios conocidos

- Cracking de clave de encriptación WEP (si es necesario) y asociación

con red Wireless

- Explotación de vulnerabilidades en aplicaciones Web que permitan la

ejecución de código remoto.

- Búsqueda de información de accesos en recursos compartidos

- Ingeniería Social

Metodología - Intrusión

32

© 2005

Técnicas del Penetration Testing

Escalación de privilegiosEscalación de privilegios

Es raro que en el primer intento consigamos una cuenta

administrativa en el servidor más crítico del cliente.

Sin embargo, ese es uno de nuestros objetivos.

La escalación de privilegios es el proceso por el cual se logra obtener

nuevos niveles de acceso en una plataforma dada.

Muchas veces, este proceso no es inmediato,

y requiere la explotación combinada de dos

o más vulnerabilidades para hacerse efectivo.

Metodología - Intrusión

33

© 2005

Técnicas del Penetration Testing

Escalación de privilegiosEscalación de privilegios

Ejemplo 1: Caso real en un Penetration Test Interno

- Servidores UNIX con servicios por defecto habilitados.

- A través del servicio RUsers se enumeran usuarios válidos del sistema y

estaciones de trabajo clientes.

- Se analizan las estaciones de trabajo usadas como cliente, y se encuentran

recursos compartidos con información de accesos administrativos a

equipos UNIX de desarrollo.

- Se accede a estos equipos UNIX, y se detecta en los mismos la existencia

de relaciones de confianza establecidas desde equipos productivos.

- Con este dato, se comienza a analizar si existen relaciones de confianza de

servidores de desarrollo a servidores productivos.

Metodología - Intrusión

34

© 2005

Técnicas del Penetration Testing

Escalación de privilegiosEscalación de privilegios

Ejemplo 1: Caso real en un Penetration Test Interno

- Se logra acceder a un equipo productivo, explotando una relación de

confianza para el usuario root del equipo.

- Este equipo productivo, a su vez, posee relaciones de confianza con otros

equipos productivos, y de desarrollo, lo que posibilita la toma de control de

la plataforma productiva del negocio.

- La escalación continúa, hasta tomar el control total no solo a nivel sistema

operativo sino de aplicaciones (bases de datos) y dispositivos de

comunicaciones centrales..

35

© 2005

Técnicas del Penetration Testing

Escalación de privilegiosEscalación de privilegios

Ejemplo I1: Caso real en un Penetration Test Externo

- El cliente es un banco del extranjero. Se detecta un servidor Web en el

perímetro de la entidad. El servidor se usa principalmente para testing,

pero está activo y publicado en Internet.

- Se detecta que el equipo corre una versión de IIS cuya instalación por

defecto no ha sido modificada.

- Bajo estas condiciones, se utiliza el cmd.exe que se incluye en el directorio

de scripts para generar en el servidor un archivo .ASP con el código

necesario para poder ejecutar comandos remotamente desde un formulario

web de manera más “comoda”. El mismo formulario permite también subir

archivos al servidor.

Metodología - Intrusión

36

© 2005

Técnicas del Penetration TestingMetodología - Intrusión

Escalación de privilegiosEscalación de privilegios

Ejemplo I1: Caso real en un Penetration Test Externo

- Investigando el servidor, se detecta una base de datos local activa, y se

encuentran archivos con información que permite obtener acceso

privilegiado a la base de datos. La misma, resulta ser una copia

desactualizada de la base utilizada en el sistema de Home Banking.

- Investigando un poco la topología de la plataforma, se da con el equipo que

mantiene la base de datos productiva de Home Banking. El usuario DBA

existente en la copia también existe en la base productiva, con los mismos

privilegios, y la misma contraseña…

37

© 2005

Técnicas del Penetration Testing

Preguntas?Preguntas?