PaperLab Hacking Una historia para contar La seguridad sin importancia Autor Héctor Soriano Remolina Colaborador técnico José Luis Prado En el siguiente documento os relataré una historia basada en hechos reales de una intrusión controlada y acordada que se nos encomendó como profesionales, que presenta un fallo de seguridad muy común Wireless WiFi en una empresa (X) de un lugar (XX); así mismo, presentaré unas medidas técnicas básicas como base o introducción a la seguridad que toda empresa debería adoptar para evitar problemas similares. Durante nuestro camino nos hemos encontrado muchos fallos de seguridad en importantes empresas y organismos, que han podido permitir a cualquiera con unos conocimientos bastante básicos en hacking explotarlos para penetrar y poder hacer de las suyas en el interior (robo de información, aprovechamiento de las infraestructuras para actividades ilícitas, etc.). Al ser conocedores de esos agujeros de seguridad, los que somos más White Hats que Black Hats, nos sentimos casi obligados a informar a los administradores de seguridad de esas infraestructuras de los problemas que todo ello puede ocasionar a sus empresas. Esta historia comienza así. Todo empezó un día como tantos otros de mi vida, sí, esos basados en la curiosidad extrema, en el afán por saber más y más en la búsqueda del conocimiento de todo aquello que te gusta o apasiona, y me dije, voy a darme una vuelta por la calle a ver que tipo de seguridad tienen las empresas, así de sencillo, no hace falta nada más. En esa búsqueda calle arriba y calle abajo, me encuentro una que se dedica a esto de la fabricación y el aluminio ventanas y más cosas. Bueno el tema es que me siento delante de la empresa con mi antena omnidireccional de 6 Dbi que me costó menos de 20 y mi sorpresa fue que la empresa tiene una red WiFi con el cifrado WEP con un password de 64 bits. Al conectarme da el típico error de conectividad limitada o nula, pongo manualmente la IP, mascara de subred, etc., y ya está; arranco el "sniffer" y observo como unas 20 máquinas en la red conectadas. Los resultados obtenidos fueron: muchas conversaciones de MSM, passwords de Tuenti, Facebook, Hotmail, Gmail, Outlook, etc. Cuando acabo con todo esto, me fui a mi casa y accedí a los correos para observar qué pasaba allí. Mi sorpresa fue cuando observé que todos manejaban información muy sensible de la empresa, "facturas, cierres de diferentes años, beneficios, facturas, nóminas, etc.". También tuve acceso a uno de los correos de los encargados de fábrica, donde se guardaban probabilidades, partnumbers y varios manuales; me enteré de cosas personales y otros asuntos, pero todo era información muy sensible. Entonces me pregunté... Qué empresa es capaz de dejar que los empleados manejen información de la empresa tan sensible con sus correos y encima en texto plano? En fin, no llegaré a entender nunca esta política de las empresas.
A los 3 días, me pesaba el conocimiento de esta información como una auténtica losa por decir algo, y decidí ir a la empresa a notificarles o advertirles de tal situación. Pregunto por el responsable de informática, se presenta una persona y comenzamos a hablar. Le digo que ayer estuve delante de la puerta de su empresa con mi equipo haciendo correr unos programas en su red WiFi y que logré extraer todo tipo de información de la misma. Al terminar de hablar con él y explicarle lo sucedido, le hice entrega de un CD con toda la información recopilada. Rápidamente este hombre llamó a los responsables de seguridad para que miraran en los vídeos de las cámaras por si fue verdad que yo hubiera estado allí tal y como le había contado, -cosa que por supuesto no había hecho-. Acto seguido, este hombre se lleva el CD y a los 10 minutos regresa y me dice: Sí, ciertamente es información muy delicada, y me pregunta que cómo la había conseguido y muchísimas más preguntas relacionadas. Al final, después de estar un buen tiempo hablando y comentando lo sucedido, nos dimos la mano y ahí quedó todo. Lo que más me sorprendió es que una empresa y de estas características, tenga un responsable de informática al que le da todo igual "aparentemente", pero lo que sin duda queda claro es que como no actúen en consecuencia después de la información recibida, un día se llevarán un susto de verdad. Pensando en este "administrador" del sistema o responsable de seguridad, explicaré unas cuantas comprobaciones técnicas básicas relacionada con la historia y el problema de seguridad, del amplio abanico de técnicas disponibles existentes en las pruebas de seguridad controladas (pentestings), que escapa al ámbito de este documento, pero permitirá entender la idea y concienciar, y que toda pequeña o mediana empresa debería tener en cuenta para este tipo de tecnologías inalámbricas en la prevención de posibles riesgos, por no decir que la empresa y sus dirigentes deberán exigir este tipo de comprobaciones periódicas a todos aquellos que tienen la responsabilidad de mantener segura la red empresarial, sean sus propios técnicos o empresas externas de tecnología. Para la realización de estas pruebas de seguridad utilizaremos herramientas conocidas y disponibles en Internet y las usaremos bajo un entorno GNU/Linux, -aunque podrá utilizar otras tecnologías similares igualmente disponibles-. Empecemos determinando los alcances inalámbricos residentes o temporales de nuestros A.P. (Puntos de Acceso); para ello, estableceremos los siguientes intervalos de medición: hasta treinta metros (no superior) para una cobertura fija, y entre quinientos metros y nunca superior a dos kilómetros de la ubicación de las instalaciones de su empresa, para una cobertura móvil perimetral horizontal (wardriving). En primer lugar intente ordenar un poco las cosas, por lo que deberá relacionar en su red los A.P. disponibles con todos aquellos terminales de trabajo fijos y/o móviles autorizados (CLIENTES), sean una o varias las autorizaciones, agrupados por su MAC. Recuerde: la dirección MAC es la dirección de la tarjeta de red inalámbrica, esta es única para cada tarjeta de red y los primeros números de la dirección MAC designan al fabricante. Con los medios adecuados, determinaremos a continuación ambas coberturas, -la técnica es igual de válida para ambas-, (Scan:PASIVO), obteniendo los BSSID disponibles. Guarde la información obtenida en pantalla (Copy Paste) en un archivo en disco una vez obtenidos los suficientes datos. La obtención la puede hacer básicamente como le muestro a continuación: 1.- root@pruebas:/# airodump-ng <TarjetaMonitor> (tarjeta en modo monitor) Terminaremos estableciendo finalmente un gráfico perimetral horizontal en metros (mapa) que nos dé un idea visual del alcance de nuestros A.P en los que un posible atacante con los medios apropiados podría comprometer nuestra red, denegarnos el servicio, MitM o suplantación MAC, etc. Utilice Google Maps o Earth, para realizar esta tarea, le agilizará el trabajo. 2
Aplicación wardriving para móviles Elija a continuación el A.P. que considere más crítico para la empresa en lo que a exposición se refiere, -ya sabrá determinarlo-, para realizar las siguientes comprobaciones, aunque lo deseable es que se realicen para todos los demás, pero en nuestro caso será suficiente. La finalidad de estos conceptos es que sea capaz de graduar el riesgo y que tome como administrador de su sistema las medidas necesarias que puedan evitar situaciones no deseables, no olvide que si conoce la tecnología existente y su interacción con los demás en el caso de este tipo de redes inalámbricas, estará más segura su red. En el 80% de las situaciones bastará con una mera configuración de seguridad de sus A.P así como, establecer detrás de ellos sistemas de protección o simplemente cambiándolos por otros existentes en el mercado más especializados, algo que seguro terminará haciendo en muchas ocasiones. Se sorprenderá, si externalizó el servicio, de lo que le habrán instalado. Comenzaremos inyectando paquetes de datos, cuya finalidad no es más que la de inutilizar nuestro A.P. (Reset) en un breve periodo de tiempo, lo cual tendrá como consecuencia que todos los terminales autorizados (CLIENTES) deberán reconectarse de nuevo. Todo ello podría ocasionar que un atacante determinara los terminales ocultos asociados, saltándose de esta forma una de las protecciones de seguridad, la denegación de visibilidad. Ya se sabe, si no lo ves, parece que no está. root@pruebas:/# aireplay-ng -0 5 -a <MacAP> <tarjetamonitor> (Inyectamos) Puede utilizar "airodump" como antes o utilizar el analizador de protocolos WireShark para monitorizar la salida. 1.-root@pruebas:/# airodump-ng <TarjetaMonitor> 2.- Arranque Wireshark. Establezca monitorizar <TarjetaMonitor> y filtre: (wlan.bssid==<macap>)&&!(wlan.fc.type_subtype==0x08) A continuación intente hacer una suplantación de la MAC de uno de los CLIENTES autorizados (acérquese al A.P lo máximo que pueda, -no vendría mal alguna que otra cámara de seguridad por la zona, tome nota-. Sustituya la MAC de su tarjeta inalámbrica por la de un CLIENTE autorizado que evite el filtrado MAC de protección del A.P, -hoy casi todos tienen sistemas de protección frente a esto-, y de esta forma establecerá la conexión. Cámaras de vigilancia o limitación de accesos, no lo olvide. 3
Encontremos las direcciones MAC de los clientes conectados al A.P : root@pruebas:/# airodump-ng -c <canal> -a --bssid <MacAP> <tarjetamonitor> Una vez determinada una MAC operativa falsifíquela con el comando que le muestro a continuación, con ello su tarjeta de red Wlan(x) falsifica su MAC por la especificada después de "-m", es decir la del CLIENTE autorizado en el A.P. Para ello, es necesario que realice antes un "down" a su tarjeta de red, "ifconfig wlan(x) down". Ejecútelo y, por último, efectúe un "up" a la misma, "ifconfig wlan(x) up". Finalmente si se conecta al A.P a través de su canal correspondiente, le permitirá la conexión. root@pruebas:/# macchanger -m <MacCLIENTE> <tarjetawlan> En relación a lo sucedido en la historia con el cifrado WEP, que una empresa implemente dispositivos que utilicen este sistema de seguridad en la actualidad en sus A.P puede que sea candidata a llevarse un susto de primer orden. Claro está que en alguno de los casos el error no será culpa directa de las mismas pero sí su responsabilidad. Empecemos a "jugar" un poco con el A.P. -suponiendo claro está que implemente dicha tecnología de cifrado si no, busque uno que la tenga que seguro que encontrará alguno-. A continuación intente aumentar el tráfico de paquetes o datos hacia el mismo, sea esto por inyección forzada de paquetes, ingeniería social, spam u otras técnicas que le permitan aumentar el número de datos a capturar, que le permitirá determinar la contraseña (KEY) que le dé acceso al mismo y a todo lo demás. En primer lugar intentaremos eludir la autentificación de la clave compartida para comprobar la resistencia del mismo frente a una conexión sin conocer la clave actual. Para ello, examinaremos el proceso de comunicación entre nuestro A.P. y un CLIENTE que cuando éste intente su autentificación al A.P. usted con la herramienta "airodump" verá este proceso. Cuando la captura tenga éxito, en el campo de nombre "AUTH" en la pantalla de su terminal pondrá "SKA", es decir clave compartida WEP; además, el archivo "ArchivoDeCaptura" quedará almacenado en el directorio actual. root@pruebas:/# airodump-ng <TarjetaMonitor> -c <canal> --bssid <macap> -w <ArchivoDeCaptura> Simularemos la clave compartida utilizando la herramienta "aireplay" y el archivo de captura en disco (ArchivoDeCaptura) obtenido para autentificarse en el A.P con su nombre y dirección MAC así como, un CLIENTE arbitrario cualquiera "aa:aa:aa:aa:aa:aa". root@pruebas:/# aireplay-ng -1 0 -e <nombreap> -y <ArchivoDeCaptura> -a <MacAP> -h aa:aa:aa:aa:aa:aa <TarjetaMonitor> Si tiene aún Wireshark a mano podrá filtrar los paquetes (wlan.addr == aa:aa:aa:aa:aa:aa) de una forma más gráfica y si además se fija en los cinco primeros paquetes, podrá observar todo el proceso de autentificación entre su A.P. y el CLIENTE. Además, si accede al mismo (log) le aparecerá "aa:aa:aa:aa:aa:aa" registrado. Ya tiene otro tipo de comprobación que no vendría mal comprobar de vez en cuando, nunca se sabe. Finalmente ejecutando el siguiente comando podrá ver si la autentificación ha tenido éxito. root@pruebas:/# aireplay-ng Para finalizar, intentaremos obtener la citada clave compartida WEP en 4 pasos para que se entienda lo sencillo que sería para un atacante su obtención, por lo que toda empresa que se precie, deberá sustituir esta tecnología por completo e implementar otras, que aunque tienen sus problemas, dificultarían a un atacante el compromiso del mismo (WPA, WPA2, RADIUS, etc.). Podrá parecerle extraño, pero en la actualidad miles de empresas y particulares aún la siguen utilizando por desgracia. Existen herramientas en el mercado libres y de pago fuera de consola o terminal más agradables, gráficas, tanto para GNU/Linux, Windows o Mac, que automatizan los procesos de obtención y de captación de información dentro del segmento de red que sea o en su totalidad, en función del ámbito del A.P., pero lo importante, y la verdadera razón de la utilización de estas herramientas por consola, es que haya podido ver cómo suceden las cosas, eso es lo que verdaderamente importa, le hará concienciarse de la responsabilidad que tiene en sus manos, esa es la idea. 4
1.- Miramos los BSSID disponibles de la red. root@pruebas:/# airodump-ng <TarjetaMonitor> 2.- Realizamos únicamente seguimiento en nuestro A.P y almacenamos en el archivo "<NombreArchivo-01.cap> y otros almacenados en el directorio actual", dichos paquetes. Para ello debemos fijarnos siempre en el campo "#Data" root@pruebas:/# airodump-ng -bssid <MacAP> --channel <Canal> --write <NombreArchivo- 01.cap> <TarjetaMonitor> 3.- Empiece inyectando paquetes ARP para aumentar esos "#Data" root@pruebas:/# aireplay-ng -3 -b <MacAP> -h <MacCliente o suplantado> <TarjetaMonitor> 4.- Y finalmente realizamos del cracking-descifrado de los paquetes almacenados en el archivo hasta obtener la CLAVE. Harán falta como mínimo unos 40.000 (i.v) más o menos para tener éxito, no olvide este detalle, tenga paciencia. root@pruebas:/# aircrack-ng <NombreArchivo-01.cap> No olvide que existen múltiples técnicas y ataques de hacking en torno a este tipo de redes o dispositivos, que examinadas por un profesional (pentester) o empresa especializada, analizará posibles problemas en otras tecnologías de cifrado como WPA/WPA2.., cuentas por defecto, denegaciones de servicio, todo tipo de suplantaciones, falsos A.P en la búsqueda del compromiso del cliente, colarse en el medio MiTM, hijacking en la sesión, políticas, etc. Lo importante es que le quede claro que la problemática esta ahí y deberá actuar en consecuencia y por supuesto recuerde estas (8) normas básicas que le ayudarán: 1.- Controle correctamente el alcance de la red 2.- Cambie las contraseñas por defecto 3.- Cambie el SSID (nombre la red) por defecto 4.- Oculte el SSID 5.- Establezca seguridad WPA2 como mínimo 6.- Utilice una ACL para el control de acceso 7.- Asigne direcciones IP estáticas a los dispositivos 8.- Apague la red durante largos períodos de no utilización ADVERTENCIA Sea consciente en todo momento que los conocimientos y herramientas presentadas si se emplean contra terceros con independencia del medio, tecnología, ubicación, ámbito, etc., sin su autorización expresa, pueden ser en algunos casos ilegales. No olvide que el autor y su colaborador, no se hacen responsables del uso indebido en cualquiera de sus formas, de los actos o irresponsabilidades que pudieran derivarse de la adquisición de dichos conocimientos, técnicas utilizadas, herramientas, etc., ante cualquier irresponsabilidad o ilegalidad que pudiera derivarse. Tiene autorización para copiar y difundir dicho documento por el medio que desee y publicar partes del mismo siempre que haga referencia a su autor y colaborador. Actúe siempre con responsabilidad y recuerde, la finalidad es siempre el aprendizaje 5