Estamos absolutamente convencido que tenemos el mejor equipo de Hacking Ético dentro del habla hispana.....

(no nos cabe la menor duda y podemos demostrarlo).

Sobre este tema DarFe trabaja por proyectos, en virtud de la calidad y el precio que requiere mantener un equipo de este nivel, DarFe una vez definido un proyecto convoca a nuestro equipo que cuenta con cinco consultores expertos con el máximo nivel de experiencia en grandes redes y sistemas (se trata de verdaderos Hackers reconocidos en el ámbito español).  Dentro de nuestra plantilla sólo uno de ellos está convocado de forma permanente, todos los demás se reúnen sumando recursos en base a la magnitud del trabajo.  Creemos que en la situación actual toda consultora que cuente con un equipo permanente, es porque la calidad del mismo es muy poco probable que sea la óptima.

Hemos trabajado con algunas de las más grandes empresas españolas.   Por seriedad y discreción en este tipo de trabajos, es que preferimos no proporcionar sus datos, pero siempre que se nos ofrece esta actividad, presentamos en la primera reunión, algunos de nuestros informes o trabajos realizados, por supuesto ocultando toda información que pueda relacionar a estos clientes.

 

Nuestra actividad de Hacking ético (HE) está basada en metodologías y estándares reconocidos internacionalmente entre los que destacan:


- OSSTMM (“Open Source Security Testing Methodology Manual”) creada por la organización ISECOM (Instituto para la Seguridad y las Metodologías Abiertas).
- OWASP (Open Web Application Security Project).
Dichas pruebas se pueden ejecutar bajo la premisa de “caja negra”; es decir: sin contar inicialmente con ningún tipo de información acerca de la empresa o a través de las técnicas de "Caja blanca" con la que se realiza el trabajo contando con todos los datos necesarios de configuraciones, inventarios, mapas, documentación, etc...

 

Proceso de hacking ético

1. Network Surveying

Esta parte de la metodología se define como un cruce entre la recogida de datos y el análisis de la información. Se intenta encontrar aquellos sistemas alcanzables para ser testeados, sin exceder el ámbito acordado para este fin o los límites legales. En definitiva, el Network Surveying es estrictamente la manera de comenzar el Test localizando aquellos sistemas que serán estudiados y recopilando información que pudiera ser útil para un atacante.

2. Identificación de Sistemas, Servicios y Aplicaciones Disponibles

Tienen como objetivo localizar e identificar los servicios ofrecidos mediante técnicas activas a nivel de transporte y de red. Aquí se incluye igualmente la validación de la seguridad para protocolos de enrutado, encapsulado y túneles. Se determinan los servicios de red que estén levantados o accesibles, así mismo se intentará evadir los cortafuegos para encontrar sistemas activos adicionales. La prueba de diferentes protocolos dependerá del tipo de sistema y de los servicios que este ofrezca.

Los resultados esperados son los siguientes:
  •  Direcciones IP de sistemas activos.
  • Verificación de la funcionalidad de los Firewalls.
  • Puertos abiertos, cerrados o filtrados.
  • Posibles vulnerabilidades a nivel de enlace y red.
  • Servicios activos.
  • Mapa de red.
  • En los casos que sean aplicables, estudio de vías de acceso distintas a redes TCP/IP.

Para ello se desarrollan las tareas usuales tales como:
  • Sistemas de comprobación de funcionalidad cooperativos (ICMP Echo Request) y no cooperativos (TCP/UDP Ping, ICMP      malformado, etc.).
  • Uso de técnicas de escaneo TCP (SYN, FIN, ACK, XMAS), UDP y otros protocolos IP para enumerar puertos en tanto que abiertos, cerrados o filtrados.
  • Técnicas de Firewalking.
  • Vulnerabilidades de Firewall usando debilidades en el tratamiento de protocolos complejos (FTP en modo pasivo y activo, IRC DCC, etc.).

3. Búsqueda y Explotación de Vulnerabilidades

Sobre los sistemas, servicios y aplicaciones del ámbito del proyecto se procederá la búsqueda de potenciales vulnerabilidades y se procederá a su explotación activa.
Se incluye dentro de este apartado el Exploit Research, es decir, la investigación cuya finalidad es encontrar o desarrollar las herramientas necesarias para explotar activamente las vulnerabilidades y demostrar su grado de impacto y el nivel de acceso conseguido.
Esto implica la búsqueda en bases de datos y listas de correo, públicas y privadas, generales o específicas de los sistemas que están siendo investigados.
La mayor parte de las pruebas se realizarán mediante el Test Manual, que se refiere a una persona o personas especializadas que comprueban las vulnerabilidades encontradas usando su creatividad, conocimientos y experiencia previa. Estas acciones son necesarias para eliminar falsos positivos y reproducir fielmente el nivel de amenaza que representan los hackers. Las herramientas automáticas de búsqueda de vulnerabilidades sólo se emplearán como soporte o verificación de pruebas realizadas de manera manual.
Se esperan estos resultados:
  • Tipos de servicio.
  • Tipos de aplicaciones de servicio y nivel de parcheo.
  • Vulnerabilidades existentes.
  • Nivel de acceso que obtendría un atacante de la explotación de dichas vulnerabilidades.

Ejemplos de Tareas para realizar:
  • Confrontar cada puerto abierto con un servicio y protocolo.
  • Identificar la aplicación detrás del servicio y el nivel de parcheo utilizando banners o Fingerprinting.
  • Identificar la actualización del software que provee el servicio  a la última versión de parches.
  • Identificar los componentes del servicio listado.
  • Verificar la existencia o no de vulnerabilidades en los componentes del servicio accesibles.
  • Búsqueda y/o desarrollo de herramientas que permitan la Intrusión.
  • Explotación activa de vulnerabilidades tipo Buffer Overflow, Format Strings, Defectos de Configuración y Administración, etc.


Tipificación de vulnerabilidades

Hoy en día se han desarrollado, promovido e implementado diversos sistemas para clasificar vulnerabilidades por parte de diversas empresas del ámbito de la seguridad y organizaciones sin ánimo de lucro.
El hecho de que existan múltiples sistemas y la incompatibilidad existente entre ellos dificulta en gran medida su uso, ya que al encontrarnos con vulnerabilidades clasificadas en diferentes sistemas no podríamos determinar objetivamente que vulnerabilidad afrontar primero.
A la Hora de tipificar una vulnerabilidad Hacker Security lo realiza empleando el estándar Common Vulnerability Scoring System (CVSS).
El CVSS es una propuesta de un estándar abierto aplicable universalmente a cualquier vulnerabilidad informática y su objetivo es paliar la situación existente y está diseñado para evaluar y cuantificar el impacto y severidad de las vulnerabilidades informáticas permitiendo determinar la urgencia y prioridad con que deben abordarse.
Además, el CVSS promueve un lenguaje común para la evaluación de vulnerabilidades y pone especial énfasis en aspectos como la precisión y facilidad de uso del sistema de evaluación.
En la actualidad, el CVSS está bajo la custodia del “Forum for International Response Teams (FIRST).” Y algunas de las empresas que emplean este estándar son Cisco, US National Institute of Standards and Technology (NIST), Qualys, IBM Internet Security Systems, Tenable Network Security y Oracle.
El CVSS fue diseñado de forma que fuera fácil de entender para un público general y para permitirle a cualquier organización priorizar el orden en que debe abordar las vulnerabilidades informáticas que la afecten. Lo anterior, independiente de cuál sea la tecnología utilizada por la organización en sus sistemas informáticos. La principal ventaja del CVSS es que resuelve el problema de múltiples sistemas de evaluaciones de vulnerabilidades, usualmente propietarias e incompatibles entre sí. Destacan entre sus fortalezas la elegancia, precisión, flexibilidad y relativa simpleza.

Entre los beneficios que ofrece el CVSS están:

  • Puntuación estándar de vulnerabilidades: El CVSS es neutro desde el punto de vista de las aplicaciones, permitiendo que distintas organizaciones asignen una puntuación a sus vulnerabilidades de TI a través de un único esquema.
  • Puntuación contextualizada: La puntuación asignada por una organización corresponde al riesgo que la vulnerabilidad representa para dicha organización.
  • Sistema abierto: El CVSS provee todos los detalles sobre los parámetros usados en la generación de cada puntuación permitiendo comprender tanto el razonamiento que sustenta una puntuación como el significado de diferencias entre puntuaciones.

Las puntuaciones asignadas por el CVSS se derivan de los tres grupos de métricas siguientes:

  • Base: Este grupo representa las propiedades de una vulnerabilidad que son inmutables en el tiempo, específicamente: complejidad de acceso, vector de acceso, y grado en que compromete la confidencialidad, integridad y disponibilidad del sistema.
  • Temporal: Este grupo mide las propiedades de una vulnerabilidad que sí cambian en el tiempo, como por ejemplo la existencia de parches o código para su explotación.
  • Entorno: Este grupo mide las propiedades de una vulnerabilidad que son representativas de los ambientes de uso de las TI como por ejemplo la prevalencia de sistemas afectados y pérdidas potenciales.

El CVSS usa fórmulas sencillas y a partir de los grupos de métrica arriba enumerados arroja la puntuación final asociada a la vulnerabilidad.

Métricas Base

De las métricas de base se deriva una puntación de 0.0 a 10.0 basado en las respuestas a las siguientes preguntas:

Métricas de Explotabilidad (Explotaitability Metrics)

Vector de Acceso (Access vector)
• Local: Solo explotables desde el equipo local.
• Red Local: Es necesario que el atacante tenga acceso a la misma red donde se encuentra el sistema o aplicación vulnerable.
• Remoto: Puede ser explotada remotamente, no siendo necesario acceso local ni a la red local por parte del atacante.

Complejidad de Acceso (Access Complexity)
• Alto: El aprovechamiento de esta vulnerabilidad requiere conocimientos de programación que permitan desarrollar Exploits específicos para cada sistema de información. Son necesarios conocimientos avanzados de seguridad, de redes de comunicación y de sistemas de información.
• Medio: Se requiere un software específico para conseguir aprovechar dicha vulnerabilidad. Las herramientas de software necesarias son probablemente de fácil comprensión y manejo, incluso para neófitos en el área de la seguridad. Generalmente estas vulnerabilidades están fuera del alcance de los internautas.
• Bajo: El ataque puede ser realizado sin necesidad de herramientas especificas o usando utilidades de propósito general de navegadores y sistemas operativos. No son necesarios conocimientos específicos de seguridad informática.

Nivel de Autenticación Requerido (Level of Authentication Needed)
• Múltiple: Son necesarias al menos 2 autenticaciones por parte del atacante para explotar esta vulnerabilidad. Un ejemplo sería un atacante que esta autenticado en el sistema operativo y debe acceder con unas credenciales adicionales a una aplicación vulnerable.
• Único: La explotación de esta vulnerabilidad requiere que el atacante este autenticado en el sistema (Línea de comandos, Interfaz Web, etc.)
• No Requerido: No es necesaria ningún tipo de autenticación por parte del atacante para poder explotar esta vulnerabilidad.

Métricas de Impacto (Impact Metrics)

Impacto en la Confidencialidad (Confidentiality Impact)
• Ninguno: No hay impacto en la confidencialidad del sistema
• Parcial: Existe una divulgación de información considerable. Es posible el acceso a alguna información del sistema, pero el atacante no tiene control sobre lo que se obtiene.
• Completo: Existe una divulgación de información total. El atacante es capaz de leer todos los datos del sistema (Base de Datos, Archivos, etc.)

Impacto en la Integridad (Integrity Impact)
• Ninguno: No hay impacto en la integridad del sistema.
• Parcial: Es posible la modificación de algunos archivos del sistema o de la información, pero el atacante no tiene control sobre lo que puede ser modificado o el alcance de lo que el atacante puede modificar esta limitado.
• Completo: Hay un compromiso total de la integridad del sistema. Hay una pérdida completa de la protección del sistema, dando lugar a que todo el sistema se vea comprometido. El atacante es capaz de modificar cualquier archivo del sistema afectado.

Impacto en la Disponibilidad (Availability Impact)
• Ninguno: No hay impacto en la disponibilidad del sistema.
• Parcial: Es posible provocar un menor rendimiento o interrupciones en la disponibilidad del sistema.
• Completo: Es posible que el atacante provoque una denegación de servicio total en el sistema atacado.

Métricas Temporales

Las métricas temporales modifican la puntuación base, reduciéndola hasta en un tercio dependiendo de las respuestas a las siguientes preguntas:

Disponibilidad del Exploit (Exploitability)
• No probada: No existe Exploit o el Exploit es totalmente teórico.
• Prueba de Concepto: Existe un código de prueba de concepto (Proof of Concept) o una demostración de ataque que no es funcional en todas las situaciones y puede requerir una modificación sustancial por un atacante experto.
• Existencia de Exploit: Existe un Exploit totalmente funcional que funciona en la mayoría de las situaciones en las que se presenta la vulnerabilidad.
• Alta: Existen escáneres y herramientas automáticas muy populares que buscan estos fallos en grandes rangos de Internet y los explotan automáticamente. La  probabilidad de ser atacado con ellos es muy alta (Virus, Worms, etc.).
• No definida: La asignación de este valor en la métrica, no influirá en la puntuación final.

Tipo de Solución  Disponible (Remediation Level)
• Parche oficial: Existe una solución completa por parte del fabricante. Existe una actualización o un parche que soluciona este problema.
• Parche temporal: Existe un parche oficial pero temporal por parte del fabricante (Herramienta o parche en pruebas).
• Solución de contingencia: Hay una solución disponible no facilitada por el fabricante. En ocasione los propios usuarios han creado un parche o proporcionan medidas para evitar o mitigar esta vulnerabilidad.
• No disponible: O bien no hay una solución disponible o esta es imposible de aplicar.
• No definida: La asignación de este valor en la métrica, no influirá en la puntuación final.

Nivel de Verificación de la Vulnerabilidad (Report Confidence)
• Sin confirmar: Hay una fuente sin confirmar o varios informes contradictorios.
• Sin corroborar: Existen múltiples fuentes no oficiales. Pueden existir diferentes detalles técnicos o cierta ambigüedad.
• Confirmada: La vulnerabilidad ha sido reconocida por el fabricante o el autor de la tecnología afectados. La vulnerabilidad también puede ser confirmada empleando para ello un Exploit o prueba de concepto (Proof Off Concept) existente.
• No definida: La asignación de este valor en la métrica, no influirá en la puntuación final.

Métricas de Entorno

Finalmente, las métricas medio ambientales modifican la puntuación obtenida y generan un valor final dependiendo de las respuestas a las siguientes preguntas:

Daño colateral Potencial (Collateral Damage Potential)
• Ninguno: No existe la posibilidad de que se produzcan daños económicos o humanos a causa de esta vulnerabilidad.
• Bajo: Una explotación con éxito de esta vulnerabilidad puede provocar leves daños físicos o materiales. O bien, puede haber una ligera pérdida de ingresos o en la productividad de la organización.
• Bajo-Medio: Una explotación con éxito de esta vulnerabilidad puede provocar moderados daños físicos o materiales. O bien, puede haber una pérdida moderada de ingresos o en la productividad de la organización.
• Medio-Alto: Una explotación con éxito de esta vulnerabilidad puede provocar daños físicos, materiales o pérdidas. O bien, puede haber una pérdida significativa de ingresos o en la productividad de la organización.
• Alto: Una explotación con éxito de esta vulnerabilidad puede provocar daños físicos, materiales o pérdidas catastróficas. O bien, puede haber una pérdida catastrófica de ingresos o en la productividad de la organización.
• No definida: La asignación de este valor en la métrica, no influirá en la puntuación final.

Porcentaje de Sistemas Vulnerables (Target Distribution)
• Ninguno: No existen sistemas afectados o si lo son, son altamente especializados y solo existen en entorno de pruebas. El 0% del entorno está en peligro.
• Bajo: Existen objetivos afectados dentro del entorno de la organización, pero en pequeña escala. Entre el 1% - 25% de todo el entorno está en peligro.
• Medio: Existen objetivos afectados dentro del entorno de la organización, pero en una escala media. Entre el 26% - 75% de todo el entorno está en peligro.
• Alto: Existen objetivos afectados dentro del entorno de la organización, a gran escala. Entre el 76% - 100% de todo el entorno está en peligro.
• No definida: La asignación de este valor en la métrica, no influirá en la puntuación final.


Con el objeto de poder facilitar la interpretación de las valoraciones del CVSS se ha clasificado la valoración en Bajo, Medio, Alto y Crítico  siguiendo el criterio expuesto a continuación:

VALORACION CVSS  0-2        3-5         6-8     9-10
Clasificación              Bajo    Medio    Alto    Crítico

A modo de ejemplo, se adjunta una breve descripción de lo que podría considerarse como Bajo, Medio, Alto y Crítico en casos concretos:

NIVEL DE RIESGO     AMENAZA

Bajo    
Se consigue información pública de la compañía, pero que supone un daño mínimo o nulo al negocio;  o bien se consigue información sobre el sistema analizado pero no se consigue utilizarla para explotar nuevas vulnerabilidades.

Medio    
Se consigue información sensible de la compañía: información financiera básica (facturaciones, beneficios), detalles de proyectos, información básica sobre clientes (nombres y etc.), datos de carácter personal de nivel bajo (nombre, apellidos, direcciones de contacto, teléfonos, números de Cuentas corrientes).

Alto    
Acceso a datos de carácter privado: historiales de trabajo (Curriculum Vitae, datos de la Seguridad Social), datos de carácter personal de nivel medio (datos relativos a infracciones administrativas o penales, de hacienda pública, servicios financieros, solvencia patrimonial o crédito); o bien se logra explotar una vulnerabilidad que permite ejecución de comandos o shell directamente en la máquina como usuario; obtención de credenciales de acceso a sistemas, bases de datos o aplicaciones; acceso masivo a datos de la base de datos.

Crítico    
Acceso a datos de carácter confidencial: secretos comerciales, datos de carácter personal de nivel alto (ideología, religión, creencias, origen racial, salud, vida sexual, datos con fines policiales sin consentimiento del interesado), código fuente de aplicaciones, información útil para la competencia; o bien se consigue ejecución de comandos o Shell como usuario de administración del sistema.

 

Herramientas

En la siguiente tabla, se muestran algunas de las herramientas que se utilizaran durante el proceso de la auditoría de Hacking Ético:

OBJETIVO    
HERRAMIENTAS

Descubrimiento de información    
Ping sweep
Gping
Fping
Portscanners Nmap – http://www.insecure.org/nmap/
Traceroute,
TCP Traceroute
Nslookup Whois
Herramientas de captura de tráfico (tcpdump, wireshark, dsniff, etc.)

Identificación de vulnerabilidades    
Vulnerability scanners
Nessus – http://www.nessus.org/
Webserver and CGI scanners
Nikto– http://www.cirt.net/code/nikto.shtml
Whisker –  http://www.wiretrip.net
Burp scanner Professional - http://portswigger.net)
Scripts para pruebas manuales
Acunetix
Arachni
Suite Pentest Backtrack

Información de Servicios    
Dumpacl/dumpsec – http://www.somarsoft.com/somarsoft_main.htm#DumpAcl
Netviewx – http://www.ibt.ku.dk/jesper/NetViewX/default.htm
SQLPing,SQLbf –http://www.sqlsecurity.com/DesktopDefault.aspx?tabid=26–MS
Nltest, local, global – Windows resource kit tools
GetAcct – http://www.securityfriday.com/tools/GetAcct.html

Herramientas Cracking, Exploit y clientes   

Exploit frameworks
Metasploit – http://www.metasploit.com/
CANVAS (Commercial) – http://www.immunitysec.com
Client tools
PCAnyware (Commercial)
Citrix
SQL query tools (Commercial)
Password crackers
Lophtcrack (Commercial) – http://www.atstake.com/products/lc/
John the ripper – http://www.openwall.com/john/
oclhashcat - http://hashcat.net/oclhashcat-plus/
Crack – http://www.crypticide.com/users/alecm/
Pwdump3 – http://www.ebiz-tech.com/pwdump3
Tscrack – http://softlabs.spacebitch.com/tscrack/
Vnccack – http://www.randombit.net/projects/vnccrack/
Network utilities and tunneling tools
Netcat – http://www.atstake.com/research/tools/network_utilities/
Socat – http://www.dest-unreach.org/socat/ - multipurpose relay
Fport – http://www.foundstone.com/resources/proddesc/fport.htm
Psexec – http://www.sysinternals.com/ntw2k/freeware/psexec.shtml
Network and password sniffers and man-in-the-middle attack tools
Dsniff – http://monkey.org/~dugsong/dsniff/
Cain & Abel – http://www.oxid.it/cain.html

Ataques fuerza bruta    
Wfuzz
Webslayer
Dirb
ProxyStrike
Odysseus
Telemachus
Priamos, sqlibf, sqlmap, absinthe, sqlninja, SQLiX, SQLBFTOOLS, automagic, sqlget, pysqlin, SQLInjector

Revisión reglas firewall    
Nipper