Showing posts with label buscador. Show all posts
Showing posts with label buscador. Show all posts

Sunday, December 18, 2016

MrLooquer IPv6 Un buscador de servicios sobre IPv6 en Internet para pentesters hackers y analistas de seguridad

MrLooquer IPv6 Un buscador de servicios sobre IPv6 en Internet para pentesters hackers y analistas de seguridad


Una de las cosas que cualquier aficionado a las redes de computadores conoce es el amplio espacio de direccionamiento disponible en IPv6, concretamente 128 bits. Puede que a alguien le parezca un número pequeño, pero esos bits dan para mucho, tanto, que el IETF, uno de los organismos reguladores de Internet, reconoce que los métodos basados en “fuerza bruta” utilizados en escaneos de reconocimiento en IPv4, no sirven en redes IPv6. Cuando un consultor de seguridad quiere saber qué equipos hay en una determinada subred con direccionamiento IPv4 suele hacer algo como: nmap 192.168.1.0/24

Figura 1: MrLooquer. Un buscador de servicios sobre IPv6 en Internet

El comando anterior lanzará diversas pruebas sobre cada una de las direcciones IP que existen dentro de esa subred. En este caso, al ser un /24 significa que hay 8 bits destinados a dar direcciones de host, es decir, 2^8=254 direcciones IP. En este tipo de escaneos se aplica el concepto de fuerza bruta, o lo que es lo mismo, probar todas las 254 opciones posibles. Una red IPv6, sin embargo, tiene habitualmente un /64 al final, y eso significa que hay 2^64 direcciones posibles dentro de esa subred, es decir 18.446.744.073.709.551.616, lo que resulta totalmente inviable de escanear. Y no olvidemos de que se trata de una sola red.

Figura 2: Documento de IETF con información sobre escaneos en IPv6

El resultado es que mucha gente piensa que usar una dirección IPv6 implica que ésta no podrá ser descubierta por un bot-escáner situado en Internet, lo cual nos lleva al peligroso concepto de seguridad por ocultación. Incluso hay gente que dice que esa supuesta oscuridad que ofrece IPv6 ofrece “a lot of security”.

Figura 3: Opinión sobre las defensas NO necesarias en IPv6

Pero esto no es del todo cierto. El pasado tres de marzo se presentó oficialmente en la séptima edición de la conferencia RootedCON el servicio online MrLooquer, que recopila y procesa millones y millones de servicios abiertos en máquinas conectadas a Internet en IPv6. El portal web que ofrece MrLooquer, que también es accesible por API, permite recorrer y visualizar millones de puertos y banners de servicios conectados a IPv6, permitiendo a un analista hacer cosas similares a las que está habituado al hacking con buscadores tipo Shodan, pero centrado en el protocolo IPv6.

Figura 4: Servicio online MrLooquer

También permite realizar búsquedas más específicas sobre la infraestructura Big Data que lo soporta para afinar los resultados. Algunos ejemplos de búsquedas::

? Servidores de correo electrónico “Dovecot” escuchando en IPv6: Algunos piensan que todavía no hay muchos servidores de correo conectados a redes IPv6, y esto puede llegar a ser un problema para los mecanismos antispam existentes basados en listas negras. Un usuario con IPv6 podría enviar correos electrónicos utilizando como origen cada una de las 2^64 direcciones IPv6 disponibles. No olvidemos que un usuario residencial con salida a Internet por IPv6 suele tener asignado un /64 como el que hemos visto anteriormente, es decir, tiene 18.446.744.073.709.551.616 direcciones IPv6 públicas para a utilizar a su voluntad. Por tanto, los mecanismos actuales de control basados en listas negras IP no pueden funcionar de la misma forma con IPv6, y necesitan ser revisados para, por ejemplo, filtrar por rangos /64, con las implicaciones que esto conlleva.

Figura 5: Lista de servidores Dovecot escuchando sobre IPv6

? Busqueda de servidores DNS: Podemos encontrar fácilmente servidores DNS escuchando en IPv6 con el filtro “port:53” (para usar este tipo de filtros es necesario registro, también gratuito). Observando los resultados de la búsqueda podemos preguntarnos si estos servidores podrían ser utilizados para lanzar ataques de denegación de servicio amplificados, y si los mecanismos de protección actuales contra este tipo de ataques están preparados para manejar ataques lanzados desde redes IPv6.

Figura 6: Servidores DNS sobre IPv6

Busqueda de servidores DNS vulnerables: MrLooquer también permite conocer el grado de exposición de servicios afectados por una determinada vulnerabilidad escuchando en IPv6. Por ejemplo, en el caso de servidores DNS, podríamos realizar una búsqueda más dirigida para obtener equipos potencialmente afectados por la vulnerabilidad publicada recientemente relativa al servidor de nombres DNS Bind9 (CVE-2016-2088). Se trata de una vulnerabilidad que permite causar una denegación de servicio (DoS) mediante el envío remoto de un paquete malformado usando DNS Cookies.

Figura 7: Bug de DoS en servidores DNS

Mediante un sencilla búsqueda en MrLooquer podemos obtener un listado de servicios potencialmente afectados por esta vulnerabilidad escuchando en IPv6. De nuevo, nos surge la pregunta de si las políticas de seguridad usadas actualmente para proteger los sistemas de este tipo de ataques en IPv4 se están actualizando para redes IPv6:


Figura 8: Servidores DNS potencialmente vulnerables

? Búsqueda de servicios: También podemos encontrar servicios tecnológicamente más actuales tales como gestores de colas RabbitMQ buscando el puerto 6379. Precisamente Daniel García presentó también en la última edición de RootedCon un ataque de inyección de comandos sobre este tipo de servicios cuando están mal configurados.


Figura 9: Servidores RabbitMQ sobre IPv6

? Relación de direcciones IPv4&IPv6: MrLooquer también ofrece una característica muy interesante para cualquier analista de seguridad, que es la capacidad de relacionar entidades IPv6 con direcciones IPv4 y dominios. Esto hace posible descubrir cómo las organizaciones están adoptando IPv6 y cómo en algunos casos las políticas de seguridad no están siendo aplicadas de igual forma para servicios escuchando en cada uno de los protocolos. Esto puede suponer un riesgo elevado y debe ser considerado muy cuidadosamente, ya que como podemos ver, IPv6 no ofrece oscuridad y puede acabar siendo un punto de exposición a ataques.

Figura 10: Relación de servicios y direcciones IPv4 & IPv6
IPv6 Hoy en día

Por otro lado, respecto la pregunta de cuándo llegará IPv6 a nuestro país, ¿alguien tiene la sensación de que IPv6 no termina de llegar nunca? No sois los únicos, mucha gente lo piensa, pero eso tampoco es del todo cierto. Tenemos direcciones IPv6 mucho más cerca de lo que nos pensamos y ya hay que prepararse para ello. En esta charla de nuestro compañero Rafael Sánchez puedes ver cómo montarte tu propia infraestructura para comenzar en el mundo de la seguridad IPv6.


Figura 10: Montarse un escenario de hacking IPv6 por 2 €

Muchas empresas que quieren tener presencia en Internet se apoyan en infraestructuras provisionadas por proveedores de servidores virtuales o VPS. Muchos de estos proveedores, entre ellos los más importantes (Amazon, Digital Ocean o Google Cloud), ofrecen a sus clientes conectividad IPv6 por defecto. Si además tenemos en cuenta que muchos servicios en sistemas Linux se levantan por defecto tanto en IPv4 como en IPv6 (SSH, por ejemplo), obtenemos que cualquier empresa que contrate estos servicios levantará puertos y servicios en redes IPv6, incluso sin ser consciente de ello. De esta forma, podemos ver que efectivamente muchas empresas españolas ya cuentan con servicios escuchando en IPv6.

Figura 11: Empresas españolas con IPv6

MrLooquer surge con la finalidad de ser una herramienta útil para los expertos en seguridad en redes enfocada a IPv6, pero no solo eso, también tiene el objetivo de ayudar a entender las relaciones existentes entre entidades tales como: Dominio-IPv4-IPv6-Puerto. Si quieres más información sobre seguridad y hacking IPv6, tienes los siguientes artículos:
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (2)
- Hacking en redes de datos IPv6: Hackeado en IPv6 por creer que no lo usas
- Hacking en redes de datos IPv6: Ataque de Neighbor Spoofing
- Hacking en redes de datos IPv6: Captura de SMB con Neighbor Spoofing
- Hacking en redes de datos IPv6: FC00::1 (Algunos) Ataques en redes IPv6
- Hacking en redes de datos IPv6: Man in the middle en redes IPv4 usando IPv6
- Hacking en redes de datos IPv6: Desactivar IPv6 para evitar D.O.S. SLAAC
- Hacking en redes de datos IPv6: Predecir direcciones IPv6 Local-Link de OS X
- Hacking en redes de datos IPv6: Ataques en redes de datos IPv4 e IPv6
- Hacking en redes de datos IPv6: Evil FOCA: Ataque SLAAC
- Hacking en redes de datos IPv6: Evil FOCA: Bridging HTTP(IPv6)-HTTPs(IPv4)
- Hacking en redes de datos IPv6: Pasar de IPv4 a IPv6 con una respuesta DNS
- Hacking en redes de datos IPv6: Cómo activar IPv6 en Google Chrome
- Hacking en redes de datos IPv4: Ataque DHCP ACK Injector

- Evil FOCA liberada bajo licencia Open Source
- Hacking en redes de datos IPv6: Topera - Scanner de puertos sobre IPv6
- Implementación de Iddle Port Scanning con IPv6
- Detección de IPv6 en Internet: Cada vez hay más sitios
- Detección de Happy Eyeballs en la red
- Ataque ICMPv6 Redirect: man in the middle a Android, OS X & iPhone
- Implementación de ataques "Delorean" a HSTS
En el futuro, MrLooquer evolucionará en este sentido utilizando tecnologías de visualización de relaciones mediante grafos y métodos de análisis avanzados para ofrecer a los usuarios la posibilidad de descubrir el grado de exposición de las organizaciones en el complejo panorama de Internet.

Autores: Fran & Rafa, equipo de https://mrlooquer.com (@mrlooquer)

Available link for download

Read more »

Monday, October 31, 2016

Censys Un buscador con los scans de tus servers OSINT

Censys Un buscador con los scans de tus servers OSINT


Hace una semana hablábamos en el artículo dedicado a OSINT Framework de la importancia que pueden tener las fuentes de información abierta en distintos ámbitos de la ciberseguridad. Footprinting en etapas tempranas de una auditoría, vigilancia digital, descubrimiento de amenazas o fugas de información son solo unos ejemplos de lo que se puede hacer con OSINT.  Y aprovechando que esta semana nuestro compañero da una charla gratuita el jueves por la tarde dedicada a la disciplina OSINT, vamos a profundizar un poco más en el tema.

Figura 1: Censys, un buscador con los scans de tus servers

En el artículo de hoy quería hablar de Censys, una plataforma que nos ofrece un buscador, una API y la información en crudo para lo que necesitemos.

¿Qué ofrece Censys?

Censys es una plataforma de la gente de scans.io, de los que ya os he hablado en la charla de “Cómo los malos pueden conquistar el mundo”. Censys es un motor que permite realizar búsquedas que proporciona respuestas a los investigadores sobre los hosts y la red que compone Internet.


Figura 2: Cómo los malos pueden conquistar el mundo

Vamos a ver por separado qué tipo de información proporciona Censys y cómo podemos interactuar con ella. Censys recopila datos de equipos y sitios web a través de escaneos diarios con ZMap y ZGran sobre el espacio de direccionamiento de IPv4. Al final con Censys tenemos instantáneas con periodicidad de cómo los equipos y sitios web están configurados. Como he comentado anteriormente, se puede interactuar a través de:
- Buscador en la página web. 
- API para integraciones de plugins. 
- Descargándose en modo “Raw data” las bases de datos
Estas últimas son ficheros JSON bastante grandes y, por ejemplo, en el caso de mi charla descargaba un fichero de más de 4,3 GB,  que representaba todas las máquinas de IPv4 con el puerto 21 abierto y con banner grabbing realizado sobre la máquina.

Figura 3: Paper sobre Censys

Se puede encontrar mucha más información sobre la arquitectura sobre la que Censys se encuentra montado y sus funcionalidades en el paper que sus autores publicaron. Desde el frontend web y la API se accede a diferentes elementos, Google Datastore, Elastic Search y Google BigQuery. Otra opción, comentada anteriormente, es la descarga de información en crudo a través de ficheros comprimidos que albergan un JSON.

Figura 4: Arquitectura de Censys

Como se puede ver en la imagen, la arquitectura de Censys es compleja y tiene el concepto de Worker, similar al que nosotros tenemos en nuestro servicio de pentesting persistente Faast. En el caso de Censys, el Worker realiza operaciones de fingerprinting a través de la ejecución de ZMap y ZGrab, reportando los resultados al elemento de almacenamiento denominado Google Cloud Storage.

Figura 5: Arquitectura del planificador de tareas en Censys

Si hacemos zoom en el Scheduler, conceptualmente es el elemento de repartir el trabajo, podemos observar como los Workers se convierten en procesos de ZMap y ZGrab que realizan diferentes operaciones. En la imagen anterior se puede ver como ZMap devuelve direcciones IP con puertos abiertos, y ZGrab puede obtener el Handshake completo. Una vez se “normalizan” los datos se almacenan en base de datos.

Opciones del buscador

Desde el propio buscador que hay en el sitio web, si queremos hacer un poco de hacking con buscadores, podemos elegir qué tipo de búsqueda realizar, por ejemplo, si queremos realizar búsqueda sobre los resultados de los escaneos sobre sitios web podemos elegir la opción “Websites”.  Las tres posibilidades son:

Figura 6: Opciones de búsqueda en Censys
- IPv4 Hosts: Esta opción permite realizar búsquedas sobre los hosts descubiertos con anterioridad. Tenemos la posibilidad de filtrar la búsqueda con los “fields”. Estos campos permiten realizar filtros al más puro estilo “Wireshark” o “TCPDump”.

- Websites: Esta opción permite realizar búsquedas sobre los equipos que se han catalogado como websites. De ellos se puede sacar información como: puertos abiertos, subdominios, visibilidad según el ranking de Alexa, etcétera.
Figura 7: Búsqueda en Censys sobre servicios FTP 
- Certificates: Al igual que el proyecto de SSL Observatory realizaba un dumpeo de todos los certificados en IPv4, Censys proporciona dicha información. Como veremos más adelante se puede juntar esta información con tools proporcionadas por Censys con el fin de generar informes o reportes de interés.
Tools en Censys

Al igual que Shodan dispone de diversas herramientas que aportan inteligencia a los datos recopilados como, por ejemplo, la posibilidad de descubrir exploits públicos para ciertos hosts con ciertas condiciones. Censys presenta varias herramientas para analizar la información que se ha recopilado previamente.

En el apartado de IPv4 Hosts podemos hacer la búsqueda “*”, por lo que obtendremos un volcado paginado de toda la información. Vemos una pestaña denominada Tools, en la que podemos elegir 3. Tenemos la posibilidad de consultar metadatos encontrados en los hosts, como por ejemplo el sistema operativo que corre en la máquina, la posibilidad de situar hosts en un mapa y verificar en qué zona se encuentran y la de construir un reporte.

Figura 8: Tools en Censys

En el caso del reporte podemos construir en base a unos parámetros históricos almacenados. A modo de ejemplo se selecciona el puerto 21, con servicio ftp y banner. Le indicamos el número máximo de buckets que queremos, indicando en este caso 25.

Figura 9: Construcción de un informe

Podemos ver en la imagen cómo se construye el reporte en base a palabras que aparecen en el banner. Más de 15 millones de hosts respondieron en su banner con un “220” código de conexión con dicho servicio.

Figura 10: Informe generado en Censys

Esto es un ejemplo sencillo, pero podemos ver la potencia que Censys puede otorgar en un análisis de los datos almacenados en la base de datos.

More Censys: API & Raw Data

Que una plataforma como Censys proporcione una API es algo fundamental. La posibilidad de crear plugins y aprovecharse del consumo de la información que Censys genera es de gran utilidad. A través de su API este servicio proporciona una serie de opciones o endpoints. Además, existe una librería en Python para acceder a la API.

Figura 11: Información sobre la API

Por último, para mostrar la opción de “Raw Data” podemos descargar un fichero comprimido que alberga un JSON. Este JSON tiene que ser parseado y le aplicaremos la lógica que nosotros queramos o necesitemos. Podemos fácilmente crearnos un script en Ruby o Python con el que parsear el fichero JSON e ir quedándonos con la información que necesitamos. En el siguiente script se puede ver cómo se va analizando y parseando el JSON.

Figura 12: Ejemplo de procesado del JSON de Censys

Se escoge el campo [‘log’][‘data’][‘response’] que corresponde con el campo dónde se almacena el banner de los FTP en este fichero. Se pasa una expresión regular para filtrar por ese tipo de software “matcheado” con banner grabbing. En el caso de que se matchee se almacena en un fichero.

Pensamientos finales

Al final Censys nos proporciona diferentes formas de procesar y analizar la información que va capturando con sus escaneos periódicos lo que lo hace de gran utilidad. Censys es una fuente de información interesante que, como hemos visto, proporciona diferentes mecanismos para “jugar” con la información y construir cosas interesantes, como aplicar inteligencia sobre los datos y cruzarla con exploits públicos para conseguir "conquistar el mundo". Por supuesto, si eres responsable de seguridad de una empresa, es una fuente útil para ver qué puede estar recopilando de tu infraestructura cualquier posible atacante.

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking" y “Pentesting con Powershell”

Available link for download

Read more »