Ethical hacking: Test de intrusión. Principales metodologías (página 2)
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
causadospérdida de oportunidad de negocio
reclamación de clientes
restitución de la imagen
corporativasanciones 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ónPuntos y Objetivos a cubrir
Los pre-requisitos para conducir la
evaluaciónEl 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ándaresb) 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 Seguridadb) Diseño de
Revisión de Arquitecturac) Creación y
Revisión de modelos UMLd) Creación y
Revisión de modelos de Amenazas
Paso 3 Durante el
desarrollo
a) Code
Walkthroughsb) Revisión de
Código
Paso 4 Durante el
deployment
a) Testeo de Penetración
sobre la Aplicaciónb) Testeo sobre la
Administración y Configuración
Paso 5 Operación y
mantenimiento
a) Revisión
Operacionalb) Conducción de Chequeos
Periódicosc) 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 POSTPermite realizar completas auditorías de los
POSTs realizadosSoporta 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 |