Ethical hacking: Test de intrusión. Principales metodologías (página 2)
Enviado por Maikel Menendez Mendez
Tests de intrusión ciega: se utiliza únicamente la información pública disponible sobre la empresa. Esta prueba de penetración trata de simular los ataques de un ente externo a la empresa.
Tests de intrusión informada: se utiliza información privada, otorgada por la empresa, sobre sus sistemas informáticos. Esta prueba de penetración trata de simular ataques hechos por un ente interno a la empresa y con cierto grado de información privilegiada.
Tests de intrusión externa: se realiza de manera externa a las instalaciones de la empresa. La motivación de esta prueba es evaluar los mecanismos perimetrales de seguridad informática de la empresa.
Tests de intrusión interna: es realizada dentro de las instalaciones de la empresa con el motivo de probar las políticas y los mecanismos internos de seguridad de la empresa.
El resultado de este servicio le brinda al cliente un documento con una lista detallada de las vulnerabilidades encontradas y certificadas (eliminación de falsos positivos). Adicionalmente el documento provee una lista de recomendaciones a aplicar, sobre la cual los responsables de seguridad de la organización pueden apoyar su programa de control.
2.2 ¿A quién va dirigido este servicio?
A empresas con infraestructura de red propia con servicios accesibles desde el exterior, como por ejemplo, Internet (compañías que alojen su propia página web, Proveedores de Servicios de Internet (ISP), empresas que permitan el acceso remoto a sus trabajadores (VPN, RAS), etc.).
2.3 ¿Por qué es importante realizar pruebas de penetración periódicas?
La seguridad de una organización es un aspecto cambiante. Una empresa puede alcanzar un nivel de protección óptimo en un momento determinado y ser totalmente sensible poco después, tras cambios en la configuración de un servidor o tras la instalación de nuevos dispositivos de red. Al mismo tiempo, continuamente aparecen nuevos fallos de seguridad en softwares existentes, que previamente se creían seguros.
Una política de realización de pruebas de penetración periódicas mitiga, en gran medida, el riesgo asociado a un entorno en constante cambio, tal como lo representan los sistemas informáticos de cualquier compañía.
2.4 Descripción del servicio
Las empresas dedicadas a realizar pruebas de penetración, generalmente, al comenzar realizan un reconocimiento de la visibilidad de los sistemas desde el exterior. Comenzando por recopilar información sobre el cliente (la organización a testear) y sobre los sistemas informáticos de los que este dispone. Para ello se emplean técnicas no intrusivas. Este análisis permite conocer qué tipo de información muestra la organización al exterior y puede ser accesible por cualquiera.
A continuación se detalla que sistemas entrarán dentro del alcance del test y se procede a iniciar el ataque. En este ataque se respetan los siguientes puntos, sujetos a cambios en función de las necesidades del cliente:
Se realiza desde una máquina remota, cuya dirección IP pública se pondrá en conocimiento del cliente antes de iniciar la intrusión.
Se tienen en cuenta las metodologías OSSTMM, ISSAF y OWASP durante todo el proceso, aunque el equipo auditor podrá hacer chequeos adicionales no contemplados en estas metodologías fruto de experiencias previas.
Durante el test no se realizarán pruebas de Denegación de Servicio o Ingeniería Social si no es solicitado expresamente por parte del cliente.
La realización del test está regida por las siguientes fases. Cada una brinda información útil para proteger en el futuro los sistemas del cliente y para continuar analizando la red en fases posteriores:
1. Recopilación de información
2. Enumeración de la red
3. Exploración de los sistemas
4. Extracción de información
5. Acceso no autorizado a información sensible
6. Auditoría de las aplicaciones web
7. Elaboración de informes
8. Comprobación del proceso de parcheado de los sistemas
9. Informe final
2.5 Beneficios de un test de intrusión
1. Proporciona un conocimiento del grado de vulnerabilidad de los sistemas de información, imprescindible para aplicar medidas correctivas.
2. Descubre fallas de seguridad tras cambios de configuración.
3. Determina sistemas en peligros debido a su desactualización.
4. Identifica configuraciones erróneas que pudieran desembocar en fallos de seguridad en dispositivos de red (switches, routers, firewalls, etc.).
5. Reduce la probabilidad de materialización de aquellos riesgos que pueden representar grandes pérdidas de capital debido a:
facturación fallida
reposición de los daños causados
pérdida de oportunidad de negocio
reclamación de clientes
restitución de la imagen corporativa
sanciones legales
6. Se ahorra tiempo y dinero al afrontar y corregir situaciones negativas antes de que sucedan.
3. Metodologías existentes para realizar test de intrusión.
3.1 OSSTMM
Representa un estándar de referencia imprescindible, para todo aquel que quiera llevar a cabo un testeo de seguridad en forma ordenada y con calidad profesional.
A fin de organizar su contenido, la metodología se encuentra dividida en varias secciones. Del mismo modo, es posible identificar en ella, una serie de módulos de testeo específicos, a través de los cuales se observan cada una de las dimensiones de seguridad, integradas con las tareas a llevar a cabo en los diferentes puntos de revisión (Seguridad de la Información, Seguridad de los Procesos, Seguridad en las Tecnologías de Internet, Seguridad en las Comunicaciones, Seguridad Inalámbrica y Seguridad Física).
OSSTMM no solo alcanza los ámbitos técnicos y de operación de seguridad tradicionales, sino que, se encarga de normar aspectos tales como: las credenciales del profesional a cargo del test, la forma en la que el test debe ser comercializado, la forma en la que los resultados del mismo deben ser presentados, las normas éticas y legales que deben ser tenidas en cuenta al momento de concretar el test, los tiempos que deberían ser tenidos en cuenta para cada una de las tareas, y por sobre todas las cosas, incorpora el concepto de RAVs (Valores de Evaluación de Riesgo) y con ellos la frecuencia con la cual la prueba debe ser ejecutada a fin de proveer más que una instantánea en el momento de su ejecución.
3.2 ISSAF
Constituye un framework detallado respecto de las prácticas y conceptos relacionados con todas y cada una de las tareas a realizar al conducir un testeo de seguridad. La información contenida dentro de ISSAF, se encuentra organizada alrededor de lo que se ha dado en llamar "Criterios de Evaluación", cada uno de los cuales ha sido escrito y/o revisado por expertos en cada una de las áreas de aplicación. Estos criterios de evaluación a su vez, se componen de los siguientes elementos:
Una descripción del criterio de evaluación
Puntos y Objetivos a cubrir
Los pre-requisitos para conducir la evaluación
El proceso mismo de evaluación
El informe de los resultados esperados
Las contramedidas y recomendaciones
Referencias y Documentación Externa.
Por su parte y a fin de establecer un orden preciso y predecible, dichos "Criterios de Evaluación", se encuentran contenidos dentro de diferentes dominios entre los que es posible encontrar, desde los aspectos más generales, como ser los conceptos básicos de la "Administración de Proyectos de Testeo de Seguridad", hasta técnicas tan puntuales como la ejecución de pruebas de Inyección de Código SQL (SQL Injection) o como las "Estrategias del Cracking de Contraseñas.
A diferencia de lo que sucede con metodologías "más generales", si el framework no se mantiene actualizado, muchas de sus partes pueden volverse obsoletas rápidamente (específicamente aquellas que involucran técnicas directas de testeo sobre determinado producto o tecnología). Sin embargo esto no debería ser visto como una desventaja, sino como un punto a tener en cuenta a la hora de su utilización.
3.3 OTP (OWASP Testitng Project)
OTP promete convertirse en uno de los proyectos más destacados en lo que al testeo de aplicaciones web se refiere. La metodología consta de 2 partes, en la primera se abarcan los siguientes puntos:
Principios del testeo
Explicación de las técnicas de testeo.
Explicación general acerca del framework de testeo de OWASP.
Y en la segunda parte, se planifican todas las técnicas necesarias para testear cada paso del ciclo de vida del desarrollo de software. Incorpora en su metodología de testeo, aspectos claves relacionados con el "Ciclo de Vida del Desarrollo de Software" o SDCL (Por sus siglas en Ingles "Software Development Life Cycle Process") a fin de que el "ámbito" del testeo a realizar comience mucho antes de que la aplicación web se encuentre en producción.
De este modo, y teniendo en cuenta que un programa efectivo de testeo de aplicaciones web, debe incluir como elementos a testear: Personas, Procesos y Tecnologías, OTP delinea en su primera parte conceptos claves a la vez que introduce un framework específicamente diseñado para evaluar la seguridad de aplicaciones web a lo largo de su vida.
Paso 1 Antes de comenzado el desarrollo
a) Revisión de Políticas y Estándares
b) Desarrollo de un Criterio de Medidas y Métricas (Aseguramiento de la Trasabilidad)
Paso 2 Durante la definición y el diseño
a) Revisión de los Requerimientos de Seguridad
b) Diseño de Revisión de Arquitectura
c) Creación y Revisión de modelos UML
d) Creación y Revisión de modelos de Amenazas
Paso 3 Durante el desarrollo
a) Code Walkthroughs
b) Revisión de Código
Paso 4 Durante el deployment
a) Testeo de Penetración sobre la Aplicación
b) Testeo sobre la Administración y Configuración
Paso 5 Operación y mantenimiento
a) Revisión Operacional
b) Conducción de Chequeos Periódicos
c) Verificación del Control de Cambio
Conclusiones
El resultado de la violación de los sistemas y redes informáticas en todo el mundo ha provocado la pérdida o modificación de los datos sensibles a las organizaciones, representando daños que se traducen en miles o millones de dólares.
Esta situación se presenta gracias a los esquemas ineficientes de seguridad con los que cuentan la mayoría de las compañías a nivel mundial, y porque no existe conocimiento relacionado con la planeación de un esquema de seguridad eficiente que proteja los recursos informáticos de las actuales amenazas combinadas.
Podemos afirmar entonces que una alternativa viable, en aras de alcanzar una seguridad informática apropiada para cualquier red o sistema (aunque para la mayoría de los expertos el concepto de seguridad en la informática es utópico porque no existe un sistema 100% seguro) lo representa, sin duda alguna, las empresas que se dedican a estos menesteres, jugando un rol importante en esta tarea los servicios de ethical hacking.
En este trabajo, luego de realizar una introducción previa al tema, se abordó de manera resumida el enfoque al que están dirigidos los servicios de ethical hacking. Se profundizó en los llamados test de intrusión, una de las principales técnicas utilizadas por los ethical hacking, abordando los diferentes tipos que existen, su definición, la importancia y los beneficios que pueden aportar. Finalmente se analizaron las principales metodologías que existen en la actualidad para desarrollar estas tareas, capaces de garantizar una correcta ejecución y elevados niveles de calidad. Se proporcionó una breve descripción de cada una de ellas.
Se considera que este trabajo conduce a una investigación mucho más profunda y abarcadora del tema en cuestión, pero aun así, resulta un estimulante acercamiento a un servicio de gran importancia capaz de adaptarse a las necesidades propias de cada cliente.
Bibliografía
http://www.taringa.net/posts/downloads/1278555/Career-Academy-Certified-Ethical-Hacker-CBT.html
http://jorgesaavedra.wordpress.com/category/ethical-hacking/
http://siscot.com.ar/Curso-de-ETHICAL-HACKING-CICLO-2009-ABIERTA-LA-INSCRIPCION.html
http://www.snsecurity.com/index.php?option=com_content&task=view&id=60&Itemid=89
http://www.securityfocus.com/archive/128/425004/30/270/threaded
http://www.shellsec.net/articulo/que-software-seguridad-usas/
Anexos
Herramientas de análisis de vulnerabilidades en redes y sistemas informáticos.
ModSecurity
URL: www.modsecurity.org
S.O.: Windows, Linux, BSD- etc
Tipo: Seguridad servidor web
Licencia: GPL
Descripción:
ModSecurity es una herramienta para la detección y prevención de intrusiones para aplicaciones web, lo que se podría denominar como "firewall web". Este motor funciona como módulo de Apache, incrementando la seguridad del servidor web frente a ataques de tipo tanto conocido como desconocido. Ayuda a evitar, entre otros tipos de ataque:
Técnicas anti-evasión
Supervisa código HTML y cookies
Análisis de los contenidos pasados al servidor mediante el método POST
Permite realizar completas auditorías de los POSTs realizados
Soporta HTTPS
Soporta contenidos comprimidos
GnuPG
URL: http://www.gnupg.org/(es)/
S.O.: Windows, Linux, BSD- etc
Tipo: Encriptación mensajes
Licencia: GPL
Descripción:GnuPG es un reemplazo completo y libre para PGP. Debido a que no utiliza el algoritmo patentado IDEA , puede ser utilizado sin restricciones. GnuPG es una aplicación que cumple el RFC 2440 (OpenPGP).
GnuPG en sí mismo es una utilidad de línea de comandos sin ninguna característica gráfica. Se trata del motor de cifrado, en sí mismo, que puede ser utilizado directamente desde la línea de comandos, desde programas (guiones) de shell (shell scripts) o por otros programas. Por lo tanto GnuPG puede ser considerado como un motor (backend) para otras aplicaciones.
De todos modos, incluso si se utiliza desde la línea de comandos, proporciona toda la funcionalidad necesaria, lo que incluye un sistema interactivo de menús. El conjunto de órdenes de esta herramienta siempre será un superconjunto del que proporcione cualquier interfaz de usuario (frontend).
Principales características:
Reemplazo completo de PGP.
No utiliza algoritmos patentados.
Con licencia GPL, escrito desde cero.
Puede utilizarse como filtro.
Implementación completa de OpenPGP (vea RFC 2440 en RFC Editor ).
Funcionalidad mejorada con respecto a PGP y mejoras de seguridad con respecto a PGP 2.
Descifra y verifica mensajes de PGP 5, 6 y 7.
Soporta ElGamal, DSA, RSA, AES, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1, RIPE-MD-160 y TIGER.
Facilidad de implementación de nuevos algoritmos utilizando módulos.
Fuerza que el identificador de usuario (User ID) esté en un formato estándar.
Soporta fechas de caducidad de claves y firmas.
Soporta inglés, danés, holandés, esperanto, estonio, francés, alemán, japonés, italiano, polaco, portugués (brasileño), portugués (de Portugal), ruso, español, sueco y turco.
Sistema de ayuda en línea.
Receptores de mensajes anónimos, opcionalmente.
Soporte integrado para servidores de claves HKP (wwwkeys.pgp.net).
Limpia ficheros firmados con "firma en claro", que pueden ser procesados en lotes.
Nessus
S.O.: Linux, BSD y otros
Tipo: Escáner de vulnerabilidades
Licencia: GPL
Descripción:Nessus es un potente escáner de vulnerabilidades remotas y locales. Usa una base de datos con vulnerabilidades conocidas y testea la seguridad del host que se le indique. Esta base de datos es actualizada a diario, y permite buscar todos los agujeros posibles de una forma automatizada.
Para IDS (Intrusion Detection Sistem) recomiendo Snort, puede utilizarse a nivel personal y profesional.
Snort
URL: http://www.snort.org
S.O.: Linux, Win32, OSX
Tipo: Detector de intrusos de tipo HIDS (Host IDS) y NIDS (Network IDS)
Licencia: GPL
Descripción:
Snort es un IDS, capaz de realizar análisis del tráfico de red en tiempo real. Puede realizar análisis del protocolos, buscar y detectar contenido que puede ser utilizado por usuarios maliciosos para realizar ataques de tipo desbordamiento de buffer, la negación de servicio, un escaneo de puertos, ataque web de tipo inyección de código SQL, ataques a cgis o actividades de troyanos, de virus y mucho más cosas.
Dependiendo de las alertas se le notifica a Snort que se comunique con IPTables (Firewall conocido de linux) para bloquear determinada IP o rango de IPs.
Nmap ("Network mapper") es un servicio gratuito y de código abierto (licencia) de utilidad para la exploración de red o de auditoría de seguridad. A muchos sistemas y administradores de red también les resulta útil para tareas como la red de inventario, gestión de horarios de servicio de actualización, seguimiento y tiempo de actividad o servicio de acogida.
Snort Snort puede ser usado como un "sistema de detección de intrusiones" (IDS) de poco peso. Posee un registro basado en reglas y puede buscar/identificar contenido además de poder ser usado para detectar una gran variedad de otros ataques e investigaciones, como buffer overflows, barridos de puertos indetectables (stealth port scans), ataques CGI, pruebas de SMB (SMB probes), y mucho más.
Completa herramienta para analizar vulnerabilidades en aplicaciones web. Permite realizar fingerprinting del servidor web, extracción de directorios y links, análisis de vulnerabilidades, ataques man-in-the-middle.
NETCAT Netcat (a menudo referida como la navaja multiusos de los hackers) es una herramienta de red bajo licencia GPL (en la versión de GNU) disponible para sistemas UNIX, Microsoft y Apple que permite a través de intérprete de comandos y con una sintaxis muy sencilla abrir puertos TCP/UDP en un HOST, forzar conexiones UDP/TCP.
Kismet Kismet es un sniffer, un husmeador de paquetes, y un sistema de detección de intrusiones para redes inalámbricas 802.11. Kismet funciona con cualquier tarjeta inalámbrica que soporte el modo de monitorización raw, y puede rastrear tráfico 802.11b, 802.11a y 802.11g. El programa corre bajo Linux, FreeBSD, NetBSD, OpenBSD, y Mac OS X. 11 6.
Ettercap es un interceptor/sniffer/registrador para LANs con switch. Soporta direcciones activas y pasivas de varios protocolos (incluso aquellos cifrados, como SSH y HTTPS). También hace posible la inyección de datos en una conexión establecida y filtrado al vuelo aun manteniendo la conexión sincronizada gracias a su poder para establecer un Ataque Man-in-the-middle (Spoofing).
Spywareblaster Programa que previene la intrusión de Software maligno como espías, adware, dialers… en nuestro sistema, tanto de los que se intentan instalar mediante controles Active-X como por otros medios. Funciona para IExplorer y para Mozilla Firefox. No realiza ni escaneo ni eliminación del software maligno que pudiera haber en el equipo, sólo funciona como un programa de prevención que impide la instalación de este software maligno en el ordenador.
ZoneAlarm Permite bloquear tráfico no deseado y restringir el acceso no deseado de aplicaciones a Internet. Diferencia entre zona local y zona Internet a la hora de establecer restricciones de accesos. Por defecto, bloquea el acceso externo a todos los servicios del sistema (y a todos los puertos, por lo tanto) permitiendo solamente el acceso a aquellos explícitamente indicados. Dispone de filtrado por ubicación (direcciones o intervalos IP) y por protocolo y puerto.
Secunia El Secunia Software de inspectores son los primeros escáneres de vulnerabilidad interna que se centran exclusivamente en la detección y evaluación de parches de seguridad que falten, el resultado es un nivel sin precedentes de escaneo de precisión. La búsqueda de los desaparecidos de parches de seguridad y las vulnerabilidades no han sido más fácil o más preciso.
Autor:
Mallelin Bolufe Chavez
Maikel Menéndez Méndez
Cuidad de la Habana, Mayo de 2009
Página anterior | Volver al principio del trabajo | Página siguiente |