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

lunes, 13 de julio de 2015

Test de Intrusión a un NAS y Medidas de Seguridad

En el pasado artículo vimos como se puede virtualizar un NAS de Synology (Modelo DS3615xs) usando Virtual Box, en el cual podemos instalar multitud de servicios nativos y otros que no lo son pero que son muy utilizados como veremos más adelante. Vamos ahora a preocuparnos de la seguridad del NAS para intentar reducir el número de vectores de ataque al mínimo, para ello pasaremos a hacerle un test de intrusión.


Justificación

Antes de nada comentar el porqué de elegir dicho dispositivo para el test de intrusión. Dado el alto coste de estos dispositivos y que no todo el mundo puede disponer de uno, hasta ahora que ya podemos virtualizarlo, los investigadores de seguridad parece que no le han prestado interés a las aplicaciones nativas de Synology e incluso a su Synology DSM.

Vamos a hacer un análisis haciendo uso de Shodan a ver que encontramos. Si recordáis del artículo anterior, el Synology DSM da servicio vía Web a través de los puertos 5000 y 5001. Haciendo una búsqueda a nivel global por los puertos indicados encontramos lo siguiente:


A nivel mundial nos salen más de medio millón de dispositivos NAS de Synology, donde el mayor número de ellos se encuentran en Australia y Estados Unidos, seguido de Alemania, Francia y Holanda. Aquí tenéis el reporte por si queréis consultarlo más a fondo de esta búsqueda: Reporte Shodan Synology

Si ahora realizamos la búsqueda a nivel de España encontramos estos resultados:



Encontramos 8577 dispositivos en España de los cuales la gran mayoría, excepto 23, dan servicio por el puerto 5000, el resto por el 5001. En ambas búsquedas de Shodan podemos encontrar falsos positivos, ya que puede haber servicios que estén publicados en el puerto 5000, pero al igual que hay muchos NAS de Synology que cambian el puerto y no los estamos listando. Estos los podemos encontrar haciendo un poco de Google Hacking.


Con todo esto podemos ver que son dispositivos muy utilizados por las empresa y algunos particulares.

Obteniendo Información

Para llevar a cabo el test de intrusión vamos antes a buscar información sobre nuestro NAS de Synology. Como es una auditoría interna, no tenemos que buscar información del dominio. Lo que si sabemos son los puertos sobre los que suele trabajar Synology que son 5000 o 5001, caso de trabajar en otro puerto, más adelante lo veremos.

Intentamos obtener toda la información posible buscando primero en el propio centro de paquetes de Synology, donde conoceremos los servicios que nos podemos encontrar.



Además el propio fabricante nos facilita una lista detallada de puertos donde trabaja cada uno de los servicios de Synologyhttps://www.synology.com/es-mx/knowledgebase/faq/299 Esta lista nos será muy útil en la siguiente fase.

A nivel específico de seguridad Synology nos proporciona una apartado sobre actualizaciones de seguridad tanto de su DSM como de sus servicios nativos. Si pinchamos en la actualización nos indica incluso los identificadores de la vulnerabilidad que ha sido parcheada.



Escaneo de Puertos

Lo primero a la hora de llegar a esta fase es lanzar un escaneo de puertos con nmap e intentar identificar servicios y versiones. Nos va a ayudar mucho la lista de puertos-servicios encontrada en la fase anterior.


Antes de analizar el resultado del escaneo de nmap también llevaremos a cabo un escaneo con Nessus configurándole varios plugins específicos para Synology que vemos a continuación.  Si nos fijamos tenemos dentro de la lista uno que nos detecta la versión de DSM que corre en el NAS, concretamente el plugin con ID 72341. Dentro de Nessus debemos irnos al escaneo actual, apartado plugins y añadirlos por su ID.



Tras el escaneo nos da 1 vulnerabilidad de nivel MEDIO y 31 INFO.


La vulnerabilidad de nivel MEDIO nos indica que deberíamos hacer usos de certificados de seguridad para cifrar la información en el protocolo SMB para evitar ataques MiTM. En los info vemos sobre todo los mismos puertos abiertos que con nmap (Nessus SYN scanner) y el plugin que antes configurábamos nos devuelve la versión exacta del Synology DSM que es la 5.2.5565.


Respecto a los puertos que tenemos: 80, 139, 161, 445, 515, 548, 3306 y 5000 tenemos donde jugar. Según la la lista de Synology del apartado anterior tendríamos los siguientes paquetes/servicios levantados en los siguientes puertos:

  • Puerto 80: Photo Station, Web Station, Mail Station o DS Photo.
  • Puerto 139: Demonio de smb para transferencia de ficheros sobre el que también corren las copias de seguridad.
  • Puerto 161: Protocolo SNMP para obtener información de la red.
  • Puerto 445: Se utiliza junto con el 139 para transferencia de archivos.
  • Puerto 515: Protocolo LPR (Line Printer Remote), es decir para impresión a través de la red.
  • Puerto 548: Protocolo AFP (Apple Filing Protocol) para transferencia de archivos con máquinas Apple.
  • Puerto 3306:  Servicio MySql corriendo en este puerto.
  • Puerto 5000: Puerto por defecto que utiliza DSM para gestión vía Web.

Nos vamos a centrar primero en los puertos sobre los cuales corre un servicio Apache que son el 80 y el 5000. Normalmente este tipo de dispositivos se suele utilizar para guardar copias de seguridad y crear Web por cada uno de los usuarios. Si utilizamos un navegador Web encontramos en cada uno lo siguiente:

Puerto 80: Encontramos un WebStation

 Puerto 5000: Encontramos el DSM

Corroboramos la versión del DSM obtenida con Nessus que nos decía que era DSM 5.2. Vamos ahora un poco más lejos e intentamos hacer un descubrimiento de directorios con una herramienta de fuerza bruta:  OWASP  DirBuster.


Encontramos un directorio de wordpress y otro de phpMyAdmin, parece que poco a poco vamos atando cabos. Nuevamente usamos el navegador Web para comprobar:

Front-End de Wordpress

Back-End de Wordpress

phpMyAdmin

Se nos van presentando cada vez más vectores de ataque, ya que conseguimos fácilmente obtener el back-end por defecto del sitio WordPress.

Si queremos centrarnos en el sitio WordPress tenemos muchas herramientas que podemos usar como vemos en las siguientes imágenes.

Detectamos versión Wordpress 4.1.5 con módulo auxiliar de Metasploit.

Identificamos plugins instalados y vulnerabilidades con wpscan

Si lanzamos otros escáneres también podemos sacar más información y otras vulnerabilidades. Hemos lanzado también OpenVas y nos da un servicio vulnerable (LPR en puerto 515) para el cual si buscáis tenemos un exploit.


Podíamos seguir así analizando cada uno de los servicios y buscar vulnerabilidades en cada uno de de ellos para llegar a la siguiente fase de explotación con muchos vectores de ataque posibles.

Explotación

En la fase de explotación podemos buscar exploits para las diferentes versiones de servicios que están corriendo en nuestro Synology DSM, ya que tenemos muchos vectores de ataques: 
  • Versiones de paquetes propietario obsoletas, como las que hace unos días han sido parcheadas ( Download Station 3.5-2963 y Photo Station 6.3-2953 )
  • Versiones del Synology DSM vulnerables, como las versiones de la 4.0 a la 4.3 con su CVE-2013-6955 con su exploit para Metasploit (synology_dsm_sliceupload_exec_noauth
  • Servicios muy conocidos vulnerables, bien por configurados por defecto o con vulnerabilidades en sus versiones o complementos como puede ser Wordpress y sus plugins, o la propia versión de PHP.
  • También podemos tener ataques de fuerza bruta o denegación de servicio en los diferentes servicios (login del DSM, Back-End de Wordpress o login de phpMyAdmin) si no tomamos medidas.

Os dejamos a vosotros la fase de explotación para que juguéis con los exploits y el correspondiente informe que se que a más de uno le encanta escribir. Vamos a ver ahora que contramedidas podemos llevar a cabo para aumentar la seguridad.

Medidas de Seguridad

Las medidas de seguridad a llevar a cabo para reducir riesgos son las siguientes:
  • Activar el doble factor de autenticación (2FA) en todos los servicios que requieran user/pass y te lo permitan, como son el DSM o el Back-End de Wordpress. Opciones de Usuario - Cuenta - Habilitar verificación en 2 pasos.
  • Habilitar la comunicación vía HTTPS, para lo cual tendremos que crear nuestro propio certificado. Panel de Control - Certificado - Crear Certificado y después Panel de Control - Red - Configuración DSM para activar HTTPS
  • Crear reglas de cortafuegos para permitir ciertos servicios sólo desde ciertas IPs y sólo a ciertos usuarios. Panel de Control - Cortafuegos
  • Habilitar la protección DoS que incorpora Synology DSM. Panel de Control - Protección
  • Habilitar los bloqueos automáticos cuando se detecte un número de intentos de inicio de sesión en cualquiera de los servicios (lo incorpora Synology DSM). Configurar whitelist y blacklist. Panel de Control - Bloqueo Automático

Todas estas medidas las podéis encontrar más detalladamente en la siguiente dirección:


Ahora os toca a vosotros poneros manos a la obra y securizar vuestros NAS.

Un #handshake de @eduSatoe

"No se trata de ser los más rápidos, los más fuertes, o los más grandes, se trata de ser nosotros mismos
Killian Jornet

domingo, 20 de abril de 2014

Analizando objetivos sin hacer ruido

Al igual que lo haría un ciberdelincuente, el primer objetivo antes de un ataque es la recopilación de información para conocer más a fondo nuestro objetivo. Se pueden utilizar diferentes técnicas, desde un simple escaneo de puertos a una dirección IP mediante NMap (búsqueda activa), hasta una simple búsqueda a través del servicio Whois para obtener información gracias a un tercero (búsqueda pasiva).

Tenemos que ser capaces de ponernos en la piel del atacante y actuar al igual que lo haría él, sin conocimiento alguno del objetivo (pruebas de caja negra). Lo más importante es no dejar rastro a la hora de llevar a cabo el descubrimiento de vulnerabilidades, para lo cual podríamos usar algún sistema de proxys como Proxy Chains o la la famosa red Tor, en próximas entradas nos centraremos en ello.

Nosotros nos vamos a centrar en la utilización de varias páginas y servicios de Internet que nos ofrecen gran cantidad de información de nuestros objetivos, lo que se conoce como búsqueda pasiva de información. Las páginas a usar son las siguientes y vamos a explicar que información podemos sacar de cada una:

WHOIS.NET - Obteniedo info de un dominio

Mediante el protocolo whois podemos descubrir mucha información de cualquier dominio simplemente buscamos una Web la cual nos de servicio de dicho protocolo y este accederá a una base de datos de los servidores whois para obtener información como el propietario del dominio, nombre del administrador, correo, etc.


Aquí podéis ver los resultados de la búsqueda y la cantidad de datos que obtenemos:



URLQUERY.NET - Analizando posible malware en un dominio

Urlquery es una Web que nos da servicio para analizar y detectar posible malware en un determinado dominio Web, además de obtener información de dicho dominio como su IP, su ASN (ISP), la ubicación, etc.


Podemos ver en la página principal como aparecen las últimas búsquedas y cuales han sido sus resultados en cuanto a Sistemas de Detección de Intrusos (IDS - Intrusion Detection Systems) y Listas Negras (BL - Black List)

Una vez que hacemos la búsqueda podemos comprobar si algunos de los script antimalware que se les han pasado a la Web han detectado algo, así como IDS que hacen saltar las alarmas, también si la Web ha estado en alguna lista negra, etc.

Aquí podéis ver parte de los resultados de la búsqueda:


SHODAN - Buscando dispositivos

Shodan es un buscador de dispositivos según el software que utiliza, la geografía, el sistema operativo, la dirección IP y más. Lo primero que debemos hacer es darnos de alta, que es gratuito, y así nos devolverá muchos más resultados de las búsquedas.

Para buscar un dispositivo en la casilla de búsqueda podemos poner un dominio, una ip, una palabra en concreto e incluso usar operadores como city, country, geo, hostname, etc. Vamos a hacer una búsqueda sencilla, dispositivos cisco de españa:



Podemos buscar por palabras concretas sobre un cierto software o servicio como Apache o ip camera, o una cierta marca de router Zyxel, o por un cierto modelo de decodificador de satélite dreambox. Si Shodan lo tiene en su base de datos, nos lo mostrará.

NETCRAFT.COM - Información de dominios

Netcraft proporciona servicios de seguridad de Internet, nos facilita informacion de dominios y subdominios, si un dominio ha estado en alguna lista negra, la configuración que usan, el histórico de versiones, el sistema operativo utilizado, etc.

Vamos a llevar a cabo una búsqueda de un dominio y veremos los resultados obtenidos.

Nos salen los dominios y subdominios asociados, junto con otra información.


Ahora pulsamos en Informe del Sitio del sitio principal y obtendremos bastante información como: dirección IP, ubicación, servidores DNS, si ha estado en alguna black list, versión del servidor Web, si tiene o no activado PHP, etc. Para poder ver esa información pulsar aquí.

ARCHIVE.ORG - Ver historiales de sitios Web

Internet Archive es un sitio Web donde podemos encontrar los historiales de los sitios Web más visitados. A continuación vemos los resultados de una búsqueda para uno de estos sitios.



Así si un sitio Web ha eliminado cierta información que no podemos encontrar ya, haciendo uso de archive.org nos podemos ir a la fecha que si estaba publicada y verla.


Existe también una herramienta muy útil dentro de Kali Linux que hace uso tanto de búsqueda pasiva como de búsqueda activa para obtener información de dominios, se llama theHarvester, os dejo un enlace donde encontrar información: https://code.google.com/p/theharvester/

Además de todas estas Web de búsqueda pasiva haciendo uso de terceros, existen muchas otras, de tal forma que no tengamos que hacer ningún ruido para nuestra primera fase de una auditoria de seguridad, que no es sino la búsqueda de información.

Espero que os sea de utilidad !!

@eduSatoe

"Nunca releo mis libros, porque me da miedo." 
Gabriel García Márquez