Nacho Brihuega

Nacho Brihuega

Coordinador técnico de hacking en ElevenPaths, Cuenta con varios años de experiencia en proyectos relacionados con hacking ético, auditorías técnicas y campañas de ingeniería social. Además, es coautor activo en el blog Follow The White Rabbit. En los últimos años es ponente habitual en los principales congresos nacionales de ciberseguridad informática y cuenta con la certificación OSCP.
Ciberseguridad
Zerologon, ¡parchea o muere!
Zerologon. Si te dedicas al mundo IT y no aún no has escuchado este nombre, preocúpate y sigue leyendo. Zerologon es, posiblemente, la vulnerabilidad de este año tan “especial” y seguramente de los últimos. Es una de esas vulnerabilidades que no deja indiferente a nadie. Antes de nada, ¿es crítica la vulnerabilidad? Sí, sí y mil veces sí. Personalmente diría que es la vulnerabilidad más crítica que he conocido desde que entré en este mundo de la ciberseguridad. Comencemos por el principio: Zerologon (CVE-2020-1472) fue descubierto por la empresa Secura en agosto de 2020, el cual fue reportado a Microsoft, quien le asignó un CVSS de 10.0 (sobre 10, la mayor criticidad posible). Posteriormente, el día 11 de septiembre, Secura publicó un advisory y un paper sobre la vulnerabilidad, en el que se incluía una herramienta para detectar máquinas vulnerables. Tras esto, se han publicado numerosas PoC y herramientas que permiten explotar la vulnerabilidad. ¿Por qué es tan crítica esta vulnerabilidad? Porque permite a cualquier usuario (ni siquiera requiere estar en el dominio) con conectividad al DC resetear la contraseña del domain admin. Os animo a leer el detalle que prepararon desde hackplayers sobre este tema. Análisis práctico de Zerologon Una vez vista la teoría, vamos a la práctica. Para testear la vulnerabilidad se ha creado un DC en una máquina virtual, en mi caso la máquina víctima tiene la IP: 192.168.0.21 En primer lugar, una vez se tiene conectividad al DC, se puede usar el script de Secura para testear si el DC es vulnerable. Sin embargo, uno de los parámetros del script es el hostname. Para ello, podemos emplear nmap: O bien se puede hacer uso de una enumeración SMB con Crackmapexec: Y, como se observa pasando ese parámetro junto con la IP, el script nos da como resultado si el DC es vulnerable a Zerologon. Una vez chequeado que es vulnerable, haciendo uso de este repositorio dispone de dos scripts: CVE-2020-14-72-exploit.py: permite automatizar la explotación de la vulnerabilidad. Restorepassword.py: permite restaurar la contraseña. Sin embargo, si lo ejecutamos tal cual, nos encontraremos con este problema de impacket: Para solucionar esto podemos optar por vías: Eliminar impacket y bajar la última versión (puedes consultar esta referencia). Emplear un virtualenv (en este artículo de s4vitar se explica cómo hacerlo). Ahora ejecutándolo de nuevo, funciona: Así mismo, el autor de Mimikatz ya ha actualizado la herramienta para aprovechar esta vulnerabilidad. En este enlace se puede observar el GIF que ha preparado con la PoC. ¿Cómo se puede aprovechar esta funcionalidad? Aprovechando este recurso tenemos el comando tal cual: secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr' Siendo en nuestro caso: Obteniendo listar todos los hashes de los usuarios del dominio. A continuación, se podrían crackear los hashes o bien emplear la técnica de Pass the Hash para autenticarse en el DC. Para ello, se puede usar pth-winexe o evil-winrm con el hash de administrador: Para restaurarla contraseña, tendremos que recurrir al script “restorepassword”: python restorepassword.py <DOMAIN><hostname>@<hostname> -target-ip IP -hexpass 54656d706f7………etc o bien emplear esta funcionalidad. python3 reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR ORIG_NT_HASH Acordaos de restaurar la password si lo probáis en un algo test de intrusión. Y sobre todo...Parchea, parchea, pachea Recomendaciones Identificar con el script de check de Secura las máquinas vulnerables y aplicar el parche: CVE-2020-1472 | Netlogon Elevation of Privilege Vulnerability CVE-2020-1472 Detail Referencias Hacking Windows con Zerologon: Vulnerabilidad crítica que puede comprometer tu Domain Controller #Parchea Zerologon desatado: la vulnerabilidad que permite comprometer cualquier controlador de dominio de Windows fácilmente [Blog] Zerologon: instantly become domain admin by subverting Netlogon cryptography (CVE-2020-1472) CCN-CERT AL 09/20 Vulnerabilidad crítica en Windows Server CVE-2020-1472 | Netlogon Elevation of Privilege Vulnerability
1 de octubre de 2020
Ciberseguridad
Buscadores de dispositivos IoT: ¿por qué elegir si podemos usar todos?
Los portales de buscadores de dispositivos IoT hoy son más que conocidos y empleados por la comunidad hacker para hacer consultas o bien para tener una primera “foto” de los servicios habilitados en un pentesting. Debido a la situación actual de confinamiento, muchas organizaciones tuvieron que implementar en muy poco tiempo la infraestructura necesaria para garantizar el teletrabajo a sus empleados. Rápidamente, haciendo uso de estos buscadores se detectó un alto nivel de servicios habilitados para tal fin, siendo la mayoría RDP. Al principio del confinamiento había 29.657, que en 10 horas subieron a 29.835, y a día de la realización de este post hay 34.753. En donde destacan las principales ciudades de actividad tecnológica. Recordad: no a los RDP públicos, sí a la VPN. Esto conlleva que se estén publicando servicios RDP que pudieran ser vulnerables a BlueKeep (https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708) al no haber aplicado los correspondientes parches de seguridad. ¿Qué implicaciones tiene esto? Desde el principio del confinamiento, ya se han detectado numerosas campañas de phishing o ficheros adjuntos con malware usando como cebo el COVID-19. Al final siempre son los mismos actores quienes están detrás de estas amenazas. Para detectar picos como éstos o bien recoger información de estos buscadores, no deberíamos limitarnos a uno de ellos, sino emplear todos los que podamos y contrastar los datos obtenidos. Algunos buscadores son: Shodan: https://www.shodan.io/ Censys: https://censys.io/ BinaryEdge: https://www.binaryedge.io/. Del que ya hablamos aquí: https://empresas.blogthinkbig.com/binaryegde-portal-mas-que-un-buscador-de-activos/ Onyphe: https://www.onyphe.io/ El script Heisenberg Como automatizar es un must do, he recogido un par de scripts para cada uno de los servicios y los he unificado en uno que haga consultas a cada servicio y rápidamente se puede tener un primer vistazo. A este script lo he llamado "Heinserberg", lo podéis encontrar en mi github. A continuación, se facilitan unas preguntas para entender las características del script: ¿Qué hace? Obtener puertos abiertos de los servicios Shodan, Censys, BinaryEdge y Onyphe. ¿Cuál es su lenguaje de programación? Python3. ¿Qué se necesita? API’s free de estos servicios. ¿Se pueden exportar los resultados? Sí, en .xlsx. Visto esto, entramos a ver el uso de la herramienta. A través de la opción h se visualiza el help: Como se puede ver, el script espera recibir las direcciones IP en un documento .txt mediante el parámetro -i y las APIs necesarias mediante el parámetro -a. Respecto al fichero con las APIs, a continuación, se muestra un ejemplo de cómo sería el fichero: Seguidamente, se muestra un ejemplo como prueba de concepto sobre su uso: Al final del programa se obtiene el output de salida: Existe la opción de exportar los resultados en Excel, con el resultado de los puertos en función de cada servicio: Aprovechando la situación actual de confinamiento, me gustaría aprovechar las funcionalidades de estos servicios para añadir alguna opción adicional como, por ejemplo, una columna extra con el resumen de los puertos identificados o bien desarrollar un conector para base de datos. Espero que os haya gustado y nos vemos en el siguiente.
16 de abril de 2020
Ciberseguridad
BinaryEgde Portal, más que un buscador de activos
Hace no mucho tiempo descubrí el servicio “BinaryEdge” por recomendación de un compañero de Telefónica. Se basa en un buscador de dispositivos conectados a Internet similar a Shodan, Censys, ZoomEye, Fofa u Onyphe. Al igual que el resto de servicios cuenta con un portal web para realizar las búsquedas, así como una API gratuita, aunque con algunas funcionalidades limitadas. En este post os cuento paso a paso cómo acceder, qué apartados tiene el portal y una pequeña explicación de lo que podéis hacer en cada apartado. En primer lugar, es necesario registrarse en el portal para poder acceder a sus funcionalidades: Fig 1. Portal web Una vez hecho el registro, se accede al portal: Fig 2. Dashboard Se pueden identificar las siguientes pestañas: Host: búsqueda de activos: IP, dominio, puertos, IP,… Images: capturas de pantalla de servicios publicados en Internet, especialmente RDP. Dataleaks: búsqueda de cuentas corporativas. Por desgracia, esta funcionalidad está limitada en planes de pago. Torrents: monitorización de torrents. Domains: enumeración de subdominios. Sensors: sensores de monitorización de honeypots. A continuación, se muestra un ejemplo de uso para conocer los resultados de cada funcionalidad. Hosts: muestra los puertos abiertos y los servicio que se ejecutan sobre ellos, indicando su versión y software si aplican. Fig 3. Funcionalidad Hosts Para cada entrada de servicios webs facilita la info del certificado SSL/TLS. Permite exportar los resultados: Fig 4. Búsqueda por query Images: permite filtrar por keywords o nombres de organizaciones. Fig 5. Funcionalidad Images Leaks: Fig 6. Funcionalidad leaks Torrents: Fig 7. Funcionalidad Torrents Domains: Fig .8. Funcionalidad Domains Sensors: Fig 9. Funcionalidad sensors Asimismo, desde el portal web se indica que tienen una API, junto con toda la documentación que podéis encontrar en este documento. En github podemos encontrar diferentes tools en Python para interactuar con la API, sin embargo, en mi caso me gusta cacharrear con las APIs y sólo filtrar la info que me interesa descartando la demás. Por ello, me he picado un simple script en python3, que tiene como entrada un documento de texto con las IP’s que se desean buscar devolviendo los puertos abiertos, exportando los resultados en formato xlsx. La podéis encontrar en mi perfil de GitHub. Es necesario importar la API Key correspondiente e incluir aquí: Fig. 10. Inserción API A continuación, se muestra un ejemplo de uso: Fig 11. Ejemplo de uso Toda la documentación sobre la API la podéis encontrar en esta página. Próximamente invertiré más tiempo para aprovechar todas las funcionalidades no limitadas de las que dispone este magnífico servicio. Un servicio más que añadir a nuestra mochila de Pentesting para las fases de footprinting.
2 de octubre de 2019
Ciberseguridad
Concienciación de seguridad en los empleados: campañas de phishing
Una de las herramientas más utilizadas para comprobar la concienciación de los empleados de una compañía son las campañas de phishing. Como ya sabéis las campañas clásicas de phishing se basan en el envío masivo de emails a una muestra de posibles víctimas, en donde se invita al receptor a pulsar en el enlace que llevará a una web visualmente idéntica que pedirá las credenciales de acceso al usuario o cualquier otra información interesante. En función de la orientación que se quiera aplicar al phishing, se puede clasificar en Spear-phishing, que a diferencia del clásico, va dirigido a 10-15 víctimas concretas o VIP, para los cuáles se realiza un estudio previo para identificar posibles hobbies en busca de un gancho el cual pueda ser más receptiva para la víctima. Por ejemplo, si sabemos que un directivo es aficionado del Real Madrid de baloncesto, un posible cebo podría ser la invitación VIP a un partido de la Euroliga. El objetivo de esta entrada es explicar un posible proceso que pueden seguir los phishers para realizar estas campañas con objeto de conocerlo, concienciarnos y saber cómo defendernos ante ellos. Ya sabéis, conoce a tu enemigo... A continuación, se explica un posible proceso para la búsqueda de correos de una compañía Nuestros mejores amigos para estos casos son los buscadores que recopilan información indexada de cuentas de correo de las principales páginas o de redes sociales como Twitter o Linkedin. Adicionalmente, existen varios servicios online que facilitan estas búsquedas como hunter.io: Así como herramientas que automatizan este proceso. A continuación, se muestran algunas que podrían emplearse: Theharvester: obtención de información de una compañía. Infoga: obtención de cuentas de correo a través de buscadores. Pyhunter: automatización del servicio de hunter.io a través de la API gratuita. Al final requiere analizar la información obtenida con diferentes herramientas empleadas, descartando resultados duplicados y falsos positivos, para obtener una muestra de calidad. Una vez obtenida la muestra, el siguiente paso es proponer diferentes propuestas para la campaña de phishing. El cebo o gancho en muchas ocasiones puede ser la diferencia del éxito de un phishing, es decir, viene a ser la diferencia de que el receptor le llame la atención y entre a mirarlo o, en cambio, que pasé de él e incluso lo elimine. Entre los cebos a utilizar suelen predominar: Participación en sorteos. Encuestas informativas. Promociones o descuentos por traer a familiares o amigos. A continuación, se selecciona el nombre del dominio de la página del phishing. En función de la complejidad, se pueden aplicar técnicas de typosquating. El typosquating es la técnica que se basa en errores tipográficos que pueden darse al escribir un dominio, es decir, equivocarse al teclear por la cercanía de las teclas y poner “i” en lugar “de una “o”. También, se puede dar en la aparición de dos palabras repetidas (por ejemplo dos “i” sucesivas) o bien intercambiar caracteres que podrían ser parecidos como la sustitución de una “o” por un “0”. Directamente, para campañas de mayor complejidad se pueden crear dominios junto con un keyword del gancho de la campaña, por ejemplo: "clientedescuentos.com". Si se aplica esta última opción, se recomienda añadir primero el nombre del cliente, pues ya sabemos que muchas veces todos nos fijamos al comienzo del nombre del dominio sin leerlo entero. Desde el equipo de hacking de ElevenPaths SSPP, realizamos estas campañas orientadas a concienciación para saber si los posibles empleados caen en las mismas. Para llevar a cabo la monitorización de la campaña, seleccionamos una solución Open Source, la cual hemos aplicado un desarrollo propio customizado para que se adapte a nuestras necesidades. En la siguiente imagen, se puede identificar el dashboard de una campaña: Donde: Verde son los correos enviados. Amarillo son los correos abiertos. Naranja son los correos leídos. Rojo son los empleados que han introducido sus credenciales (identificador de usuario). Una vez finalizamos las campañas de concienciación, facilitamos los fallos voluntarios y los detalles que deberían haber identificados las víctimas para detectar que no es un correo legítimo, sino que se trata de una campaña de ingeniería social. Asimismo, se recomienda proponer a las víctimas de la campaña que participen en formaciones para consolidan estos conocimientos y no vuelvan a caer. Existen diferentes frameworks Open Source que se pueden utilizar para esta función como Gophish o Phishing-frenzy. Finalmente, en los últimos meses muchos fabricantes están facilitando una serie de soluciones que “automatizan” las campañas de phishing. Estas plataformas facilitan una interfaz web muy fácil de usar e intuitiva donde incluir el texto, el remitente del correo, entre otras cosas. Además, cuentan con plantillas predeterminadas de posibles phishing de Netflix, Amazon o Correos, por nombrar algunas de ellas. Hemos tenido la ocasión de testear alguna de ellas y nos gustaría aportar nuestra humilde opinión. Ventajas: No requieren de un perfil completamente técnico para gestionar la plataforma. Fácil realización de campañas prediseñadas. Automatización para enviar correos de formación a las víctimas. Monitorización en vivo de la evolución de la campaña. Desventajas: Muchas de ellas emplean subdominios del dominio principal de la plataforma, lo que impide crear dominios propios con el nombre del cliente. La mayoría no permiten insertar código HTML ni JavaScript, solamente el texto del correo, lo que impide crear desarrollos adhoc según las necesidades. Problemas para emplear el SMTP de la plataforma. No posibilitan SMTP Relay. En general no son personalizables. ¿Estas plataformas son útiles? Por supuesto, pero en función de las necesidades del cliente pueden ser muy poco flexibles. Si se deseen lanzar campañas de complejidad baja, poco personalizables y frecuentes son perfectas, pero sí lo que se busca es cuidar todos los detalles, que sea totalmente personalizable y poder tener el control absoluto, no son recomendables. Sí se puede aplicar una solución híbrida entre ambas, las plataformas automatizadas para campañas frecuentes de complejidad baja, mientras las campañas manuales para las más dirigidas y personalizadas. En nuestra opinión, los pequeños y cuidados detalles en las campañas de phishing son lo que pueden suponer que la campaña tenga éxito y para eso requiere que se le dé cariño y se puedan personalizar todos los detalles.
9 de mayo de 2019
Ciberseguridad
Campañas de concienciación para empleados
Hoy en día está más que aceptado por las empresas que el eslabón más débil en la cadena de la ciberseguridad son los empleados. Son el objetivo de la mayor parte de campañas de ingeniería social, ya sean mediante correos electrónicos que suplantan una web legítima ( phishing), mediante llamadas telefónicas suplantando a un técnico de soporte ( vishing) o bien mediante ficheros adjuntos llamativos. Al hablar de Ingeniería Social es inevitable acordarse de los 4 principios que indicaba Kevin Mitnick: Todos queremos ayudar El primer movimiento es siempre de confianza hacia el otro No nos gusta decir No A todos nos gusta que nos alaben Sin embargo, al final, las personas aprendemos de los fallos y siempre es mejor hacer simulacros mediante campañas de concienciación controladas antes de ser víctimas de ellas. De esta manera, se pueden aplicar las siguientes campañas: Campañas de phishing. Envío masivo de correos a las posibles víctimas con un enlace para que accedan a una página web suplantada con un aspecto visual casi exacto al sitio suplantado. El objetivo es robar las credenciales de los empleados.Del mismo modo, cuando el empleado cae en la “trampa”, se le redirecciona a una web indicándole que ha sido víctima, pero por suerte esta vez se basa en un simulacro y se le facilita una serie de recomendaciones y consejos para no volver a caer.En función de la complejidad que se quiere aplicar a la campaña de phishing, se pueden aplicar técnicas de typosquating o cybersquating, o directamente el envío a directivos o personal VIP (Spear-phishing) a los que anteriormente se ha estudiado. Campañas de vishing. La técnica de vishing se basa en mediante llamadas telefónicas ganarse la confianza del oyente y obtener información.Por ejemplo, la suplantación de un técnico de soporte que llama a los empleados para la revisión de equipos y solicita información como versión del sistema operativo, dirección IP, qué antivirus tiene,…o hasta introduce "esto" en el terminal.Como buen fan de Mr Robot, os dejo este vídeo en el que se aplica algo similar pero físicamente. Campañas de smshing. Son similares a la de phishing tradicional, salvo con la diferencia que la recepción del contenido con el enlace sospechoso es a través de un SMS del dispositivo móvil. Campañas de ficheros adjuntos. Estas campañas se basan en el envío de correos electrónicos con ficheros adjuntos. El objetivo es que el empleado descargué dichos adjuntos y los abra.Por ejemplo, se pueden añadir ficheros como documentos pdf, Excel o PowerPoint sobre descuentos.En el caso de ficheros de Office, la idea es inyectar código PowerShell en las macros, de tal manera que se invitará al empleado a habilitar las macros para poder visualizar correctamente el documento. Campañas de USB maliciosos. A diferencia de las anteriores, requiere acudir físicamente a las oficinas del cliente y repartir un par de dispositivos USB en zonas concurridas (máquina del café o agua, impresoras, áreas de descanso…).Se pueden dividir dos categorías: USB estándar: Es similar a la campaña de ficheros adjuntos, pero a diferencia de la anterior, se conecta el USB con el fichero malicioso almacenado. El “cebo” es introducir un nombre muy llamativo como nómina del CEO, para que los empleados cliquen por curiosidad, aun sabiendo que no deberían. Fake USB: Se base introducir un falso USB, pero que realmente se comporta como un teclado que ejecuta una serie de comandos como el acceso a una web controlada por los atacantes o la descarga de cierto programa. Para más información, os dejo un enlace de un compañero de Telefónica que lo explica perfectamente. Finalmente, la aplicación de esta serie de campañas de concienciación le sirve a las empresas para identificar el nivel de concienciación de sus empleados, así como detectar qué departamentos o particulares requieren formaciones en materia de concienciación más específica. Adicionalmente, es una medida para revisar los procedimientos internos de actuación ante incidentes, revisar los filtros de spam, configuraciones por defecto de equipos o móviles y controles de acceso al edificio.
23 de enero de 2019