Mostrando entradas con la etiqueta pentesting. Mostrar todas las entradas
Mostrando entradas con la etiqueta pentesting. Mostrar todas las entradas

jueves, 29 de enero de 2015

Seguridad en Redes (I): En la piel de un atacante



Este psot se centra en los primeros pasos que deberíamos realizar cuando asumimos el papel de un atacante que utiliza Internet. La primera vía que un atacante competente probaría es la de consultar códigos abiertos para obtener información relacionada con la organización y sus redes. A alto nivel, se consultan los códigos abiertos siguientes:
La mayoría de este sondeo es indirecto, envía y recibe tráfico desde sitios como Google o servidores WHOIS, BGP y DNS públicos. Usar varias técnicas de consulta directa implica enviar información a la red objetivo, en la mayoría de los casos como los siguientes:


Tras realizar un ejercicio de enumeración de redes de Internet, consultando todas estas fuentes en busca de información útil, un atacante puede hacer un mapa útil de sus redes y comprender dónde residen las debilidades potenciales. Los atacantes, identificando sistemas periféricos de interés (como sistemas de prueba o desarrollo), pueden centrar áreas específicas de al red objetivo objetivo más tarde.



Figura 1. Ejemplo de mapa de redes.

El proceso de reconocimiento con frecuencia es interactivo, repitiendo todo el ciclo de enumeración cuando se encuentra una nueva pieza de información (como un nombre de dominio una dirección). El alcance del ejercicio de evaluación normalmente define los límites de actuación, lo que algunas veces incluye poner a prueba a terceras partes y a distribuidores. Son conocidas las empresas cuyas redes fueron comprometidas por atacantes extremadamente decididos a irrumpir en ordenadores que los usuarios tenían en sus hogares con conexión directa o DLS siempre activa, y accediendo a continuación a la red corporativa.


Figura 2. Ejemplo de ataque desde red externa.

Consultar motores de búsqueda Web y grupos de noticias

A medida que los motores de búsqueda registran la Web y grupos de noticias, van catalogando piezas de información potencialmente útil. Los motores de búsqueda, como Google y otros sitios, proporcionan funciones de búsqueda avanzada que permiten que los atacantes se hagan una clara idea de la estrucutura de la red que planean atacar más tarde.
En particular, los siguientes tipos de datos están al descubierto normalmente:
        • Direcciones físicas de las oficinas de los empleados.
          Detalles de contacto, incluyendo direcciones de correo electrónico y números de teléfono.
        • Detalles técnicos de los sistemas de correo electrónico internos y direccionamiento.
        • Esquema DNS y convenciones de denominación, incluyendo dominios y nombres de equipo.
        • Documentos que se encuentran en servidores de acceso público.
Los números de teléfono son especialmente útiles para los atacantes decididos, que luego pueden iniciar llamadas masivas para comprometer servidores dial-in y otros dispositivos.
Es muy difícil para las empresas y organizaciones evitar que esta información se obtenga; por ejemplo, se hace pública cada vez que un usuario publica alfo en una lista de correo con su firma digital. Para gestionar este riesgo de forma eficaz, las empresas deberían realizar ejercicios de consulta de registros públicos para garantizar que la información que puede obtener un atacante no conduce a comprometer la seguridad del sistema.

Funcionalidad de búsqueda de Google

Podemos utilizar Google para recopilar información potencialmente útil a través de su página de búsqueda avanzada en www.google.com/advanced_search?hl=es.
Las búsquedas se pueden perfeccionar para incluir o excluir determinadas palabras clave, o para dar con palabras clave en formato de archivos específicos, o en partes específicas de la página Web (como el título de la página o el cuerpo de texto).



Figura 3. Captura de pantalla "Búsqueda Avanzada".
 

Enumerar detalles de contacto de Google

Google puede utilizarse para enumerar fácilmente direcciones de correo electrónico, teléfonos y números de fax. La siguinete figura muestra los resultados de la cadena de búsqueda “pentagom.mil” +tel +fax transmitidos a Google para enumerar direcciones de correo electrónico y números de teléfono relacionados con el pentágono.

Figura 4. Utilizamos Google para obtener usuarios e información. (Hacking con buscadores).

Cadenas búsqueda eficaces

Podemos consultar Google de muchas formas diferentes, dependiendo del tipo exacto de datos que se traten de encontrar. Por ejemplo, si únicamente quiere enumerar los servidores Web bajo el dominio abc.com, puede utilizar una cadena de búsqueda como: .abc.com

Una aplicación útil de Google es el listado de servidores Web que soportan indización de directorio. La figura muestra los resultados de la búsqueda de la siguiente cadena: allintitle:”index of/data” site.nasa.gov.


 Figura 5. Identificando directorios Web listados bajo nasa.gov.

Con bastante frecuencia, los directorios Web que proporcionan listados de archivos contienen archivos interesantes que no son estrictamente de contenido Web (como documentos de Word o Excel).
Un ejemplo es un gran banco que almacena sus planes de desarrollo a largo plazo (incluyendo direcciones IP y nombres de usuario y contraseñas administrativas) en un directorio indexado /cmc_upload/. Un rastreador de aplicación Web o GCI automático no puede identificar el directorio, pero Google puede acceder a través de enlaces desde cualquier parte de Internet.

Buscar grupos de noticias

Las búsquedas en grupos de noticias de Internet también se pueden consultar. La siguiente figura muestra cómo buscar en grupos de Google (http://groups.google.com) utilizando la cadena de búsqueda symantec.com.
Tras realizar búsquedas Web y búsquedas en grupos de noticias, debe tener una idea inicial de las redes objetivo en términos de nombres de dominio y oficinas.
Las consultas WHOIS, DNS y BGP se utilizan a continuación para investigar más fondo la red e identificar puntos de presencia basados en Internet, junto con detalles de nombres de equipos y plataformas operativas utilizadas.



 Figura 6. Página Principal creación y búsqueda por grupos.

 

Consultas Netcraft

Netcraft (www.netcraft.com) es un sitio abundante que prueba activamente servidores Web de Internet y se queda con el historial de los detalles de huellas del servidor. Puede utilizarlo para mapear conjuntos Web y bloques de redes, mostrando los detalles de la plataforma operativa del servidor y otra información útil. La siguiente figura muestra Netcraft siendo consultado para exponer servidores Web bajo sun.com y sus respectivos detalles de la plataforma operativa.


 

 Figura 7. Utilizando Netcraft para identificar y extraer huellas de servidores Búsqueda Web con Netcraft.

 

Consultar registradores de dominio WHOIS

Los registradores de dominios se consultan para obtener información útil sobre determinados nombres de dominios registrados en el momento de escribir estas líneas, incluyendo los TLD genéricos y TLD de código de país en las siguientes ubicaciones:

        • Registradores gTLD.
        • Registradores ccTLD.
Estos registradores TLD pueden consultarse para obtener la siguiente información a través de WHOIS:
        • Detalles de contacto, incluyendo direcciones de correo electrónico y números de teléfono.

        • Direcciones físicas de las oficinas de los empleados.
        • Detalles técnicos de los sistemas de correo electrónico internos y direccionamiento.
        • Esquema DNS y convenciones de denominación, incluyendo dominios y nombres de equipo.
        • Documentos que se encuentran en servidores de acceso público.

Las herramientas que se utilizan para realizar las consultas en dominio WHOIS incluyen:
        • El cliente whois se encuentra dentro de entornos basados en Unix.
        • La apropiada interfaz de Web de registradores TLD.

           

          Figura 8. Para consultar IP/ WHOIS  Networksolutions.


En una segunda entrada sobre "Seguridad en Redes", trataremos entre otros: Herramientas de consultas IP WHOIS, consultas BGP, consultas DNS, y DNS avanzadas, redirección DNS Grinding, barrido inverso de DNS, rastreo de servidores Web y sondeo SMTP entre otros.

sábado, 10 de enero de 2015

Para proteger nuestros sistemas (I): ¿Qué es un pentesting?

Pen Test o “Test de penetracion(Penetration Tests o Pentesting)son los términos más comunes para denominar el conjunto de técnicas utilizadas para realizar una auditoría de seguridad y análisis forense de datos para evaluar el grado de seguridad de redes, sistemas de computación y/o información, tanto como las aplicaciones que participan en el sistema, esto incluye el sitio web.


Figura 1. Lara Croft, protagonista del videojuego 'Tomb Raider'.
  
Cada día, aumenta la preocupación por la Ciberseguridad y los Ciberataques, indistintamente de la responsabilidad que ocupes en la empresa y/o institución, es seguro que llevas tiempo preocupado por mejorar los sistemas de protección, o te has propuesto hacerlo. 

Es ususal que la Pyme encargue el proyecto de diseño de su web, porque desea comercializar sus productos, o repercutir en positivo en la Reputación Online de su imagen de marca; la implementación sistemas de seguridad dota de cierta confianza a los responsables, obviando realizar las recomendadas Auditorías de Seguridad Informática

 Figura 2.  'Kali Linux' de los creadores de 'Back Track 5'  (software libre para realizar Pentesting). 

Realizar Pentesting, no es una operación fácil y requiere estar dotados de los suficientes conocimientos y experiencia los sistemas, aplicaciones, comportamientos de los sistemas operativos, etcétera... que nos proponemos auditar.  

Estas técnicas, se denominan comumente: Black, White o Ethical Hacker y tienen como objetivos proponer a la empresa o institución, las vulnerabilidades del sistema analizado. Se usan para acceder al propio sistema, y en esto se diferencian del “análisis de vulnerabilidades” que en ningún momento comtempla la penetración en la red interna.
 
Es habitual entregar el informe de auditoría de seguridad indicando que es posible acceder a todo el sistema o gran parte; además, se suelen detectar vulnerabilidades de nivel inferior (fallos de configuración), que terminan dejando la puerta de atrás abierta a los posibles atacantes (intesados en la información o en destrozar parte de ella). 


Técnicas de este tipo, también son usadas por grupos como Anonymous. Hace unas horas han declarado la guerra a los terroristas con motivo del atentado a Charlie Hebdo. Estoy completamente seguro de que van a jugar un papel protagonista, una vez más, en la lucha contra los delicuentes y asesinos.
 
 Figura 3.  Anonymous, uno de los grupos que promueven el 'Hacktivismo Ético'.


Técnicamente, si la empresa realiza con cierta frecuencia auditorías de seguridad, se puden encontrar vulnerabilidades provocadas por errores simples. Comparto uno de los casos de ataque que ha sufrido  la web de la Presidencia Europea de España


Los sistemas de información, tienen ciclo vital. Durane ese ciclo han debido soportar entre otros, las auditorías de seguridad; no obstante, no debería ser un contrato por obra o prestación de servicio puntualmente, sino un servicio de prevención de ataques 24x7. De la misma forma, el sistema debería soportar Pentesting desde la fase de diseño, y su posterior implantación. De lo contrario, si has contratado un servicio anual, o puntual, la única conclusión es que te van a demostrar que es posible penetrar en el sistema.

 Figura 4.  Esquema de las Fases del Pentesting.

El Pentesting no es una acción concreta, sino múltiples procesos(etapas) dividas por entornos, áreas y trabajos concretos. En esto influye la evaluación del grado de los riesgos que comportan las vulnerabilidades del sistema. Quiere esto decir, que siempre se comienza por la parte que más riesgo (aperturas) comporta para el resto del sistema.


Tras acuerdo con el cliente para realizar los diferentes procesos de análisis (esque suceptible de modificación y/o adaptación), se realizan las siguientes actividades:

  • Fase de reconocimiento: Es seguro, de las etapas que más tiempo requiere. En ella, se definen objetivos y se recopila toda la información posible para posteriormente utilzizar durante todo el Pentesting. La profundidad del análisis, viene dada por los objetivos se hayan fijado previamente, no obstante, los datos tipos requeridos en esta fases son:nombres y direcciones de correo de los empleados de la organización, topología de la red, direcciones IP, metadatos en documentos, información exif, etcétera.
  •  
  • Fase de escaneo: Con la información recopilada, se analizan los posibles vectores de ataque. Es fase desiva para evaluar (escanear) puertos y servicios del sistema. Una vez hecho esto, se está en disposición de poder escanear las vulnerabilidades y permitirnos definir los vectores de ataque.
  •  
  • Fase de enumeración: En la que se trata de obtener los datos referentes a los usuarios, nombres de equipos, servicios de red, etcétera. Para ello, se realzian conexiones activas y se ejecuntan consultas de forma persistente.
  •  
  • Fase de acceso: En esta etapa el objerivo es haber econtrado las puertas abiertas a raíz de toda la información sobre el sistema obtenida en las fases anteriores.  
  •  
  • Fase de mantenimiento de acceso: Tras conseguir el acceso, se proponen las soluciones y se tratan de implantar de forma permanete para no dejar posibles huecos.

 Figura 5.  Kit de herraminetas básicas 'Network Tools'.

 Con todo este trabajo, se genera la documentación correspondiente al pentesting. Servirá como guía (hitos) para tomar las decisiones necesarias para preservar la seguridad.


 En próximos post, tratareos con más detalle estas técnicas y las herramientas que podemos utilizar para ejecutar los trabajos.

          -------------------- TO BE CONTINUED --------------------