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

sábado, mayo 28, 2022

Cervantes: Una nueva herramienta para hacer tus pentests más fáciles

Desde que la tecnología ha ido inundando nuestras vidas, la ciberseguridad se ha vuelto algo esencial para proteger nuestra privacidad y nuestros datos. Para ello la Seguridad Ofensiva o el Pentesting se ha vuelto una de las piezas principales en los últimos años y cada toma más presencia como requerimiento en muchos estándares o normativas de seguridad de cualquier organización.
Al final un Ethical Hacking no es más que un ataque “autorizado y controlado” sobre uno o varios sistemas informáticos de una empresa. Este proceso es realizado para identificar vulnerabilidades, así́ como los puntos fuertes, lo que permite completar una evaluación de riesgos, y existen prácticas para su realización, procedimentadas y faseadas, que los profesionales de esta disciplina conocen perfectamente.

Por supuesto, la organización de la información de un pentesting, el proceso de generación de informes y la colaboración dentro de un de estos proyectos, es una de la partes fundamentales y críticas para la consecución con éxito de este. Al final todo esto nos lleva a un reporte que es donde se representará nuestro trabajo, todo lo que hemos realizado durante semanas y es el lugar donde daremos toda la información descubierta, así como las recomendaciones de seguridad a nuestro cliente.


Para organizar y representar de forma clara, concisa y sencilla toda esta información nos es necesaria la ayuda de alguna herramienta, que nos ayudará a ahorrar tiempo de trabajo durante el pentest, en la redacción y elaboración del informe. Y para ello se hemos trabajado en el siguiente proyecto llamado Cervantes, que nos permitirá compartir, organizar toda la información que se vaya recolectando, y haga la vida y el trabajo del pentester más fácil.

Figura 4: Página principal de Cervantes
   
Cervantes destaca por ser una herramienta potente, extensible y de fácil mantenimiento. Esta escrita en el lenguaje de programación C# y sobre la última versión de .NET Core 6 por lo que puede funcionar sobre cualquiera de los sistemas Microsoft Windows, GNU/Linux o MacOS. Cervantes es un proyecto OpenSource por lo que cualquier usuario de la comunidad puede colaborar y ampliar las posibilidades de ésta.

Figura 5: Generación Informe Cervantes

Nos ofrece muchas características como un sistema multi-idioma donde actualmente nos podemos encontrar los idiomas español e inglés, además de permitirnos generar informes en dichos idiomas en un solo clic.

Figura 6: Dashboard de un proyecto en Cervantes

Nos permite una gestión de proyectos completa, así como una colaboración en equipo, trabajar en vulnerabilidades de forma conjunta, asignar tareas a distintos miembros del proyecto, etcétera.

Figura 7: Kanban de proyecto en Cervantes

Haciendo énfasis en la parte de seguridad nos ofrece doble factor de autenticación, donde puedes proteger tu cuenta con Latch Cloud TOTP y muchas más características incluidas y que aún están por llegar, mantente al tanto para ir descubriéndolas.

Figura 8: Configuración de 2FA con TOTP en Cervantes

Actualmente el proyecto se encuentra en desarrollo, pero tenéis disponible en GitHub una versión Alpha tanto en formato Docker como en instalación de forma local. Os dejo con el vídeo para instalarlo de forma rápida y fácil desde Docker.

Figura 9: Instalación de Cervantes desde Docker

Han sido unos meses entretenidos de ir haciendo poco a poco la herramienta, desarrollando los distintos módulos que forman parte de esta, de intentar encontrar una interfaz agradable. Todavía queda camino y mucho trabajo por delante, ya que acaba de empezar el proyecto por así decirlo. Pronto espero tener novedades y mejoras como la capacidad de poder importar reportes de otras herramientas como Nmap, Nessus, (¿FOCA?), etcétera. Generación de reportes en múltiples formatos y mucho más. Pronto habrá más noticias.

Saludos,

Autor: Ruben Mesquida Gomila

lunes, junio 13, 2016

Email Sherlock: Doxing y ataques APT de Spear Phishing o de Spear Apps

Email Sherlock es un servicio que nos permite realizar búsquedas de cuentas y perfiles asociadas a una dirección de correo electrónico con el fin de descubrir en qué redes y, si es posible, quién se encuentra detrás de ella. En un primer vistazo podemos entender que Email Sherlock nos permite obtener información de dónde una cuenta de correo se encuentra dada de alta, además de otros detalles relativos al alias de correo, como datos del dominio del e-mail o sitios en los que el usuario está en uso.

Figura 1: Email Sherlock - Doxing y ataques APT de Spear Phishing o de Spear Apps

El objetivo es sencillo, en una investigación se trata de hacer un doxing y estrechar el cerco y, sabiendo que tiene una cuenta de un determinado servicio, un potencial atacante podría realizar desde ataques de Spear Phishing adaptados a una red social de la que se sabe que forma parte, o un miembro de los cuerpos de seguridad en plena investigación policial solicitar datos de esa cuenta. Este tipo de utilidades son muy útiles para las investigaciones OSINT, tal y como se cuenta en la charla dedicada a este tema por nuestro compañero Diego Samuel Espitia, CSA de Eleven Paths en Colombia.


Figura 2: Eleven Paths Talks [11] - Técnicas OSINT

Es un servicio que se puede consumir vía página web, pero además también puedes encontrar la aplicación en formato móvil en Google Play Store y en AppStore para iPhone. Gracias a esta herramienta podremos obtener información personal de quién se encuentra detrás de una cuenta de correo electrónico, podremos conocer su nombre completo, su localización, profesión, hobbies y muchas cosas más - dependiendo de los servicios -.

Figura 3: Email Sherlock para Android

En principio puede no ser sencillo conocer dicha información, pero al saber en qué redes sociales está dado de alta, se podría verificar si el perfil está abierto y conocer información de él. Por supuesto, también te puede ser útil para saber en qué redes has dejado tus rastros y debes eliminarlo... si lo deseas.

¿Cómo funciona el proceso de Email Sherlock?

Tras abrir la página en nuestro navegador observaremos un campo donde introducir la dirección de e-mail objeto de nuestra búsqueda, a continuación pulsaremos sobre “GO” y comenzara la recopilación de información, este proceso tardara un poco y al acabar nos mostrará en pantalla los resultados de nuestro análisis. Entre otras cosas podremos verificar que la cuenta introducida es válida, el nombre completo de su propietario y si se han encontrado otras cuentas asociadas a este usuario en diversas redes sociales.

Figura 4: También permite buscar información en bases de datos del gobierno

Normalmente estos ataques se hacen aprovechándose de los leaks de información que se dan en estos servicios en las procesos de login, de registro de una cuenta nueva o de se me ha olvidado la contraseña. Por ejemplo, en Facebook, si la cuenta existe es posible acceder a información del usuario aún no teniendo la contraseña con un proceso de login incorrecto - igual que se hace con el número de teléfono -. Otras redes sociales dan un mensaje distinto en el proceso de recuperación de contraseña cuando la dirección de correo electrónico existe a cuando no, etcétera. Teniendo todos ellos catalogados, te sale el servicio de Email Sherlock.

Figura 5: Información asociada a la cuenta de e-mail en Gravatar

Gracias a la información sobre las redes sociales en las que el usuario tiene una cuenta, un atacante podría iniciar un ataque de Spear Phishing suplantando la dirección de un sitio donde tenga cuenta. Si ademas es una información que él no ha publicado en ningún otro sitio, el efecto puede ser mayor y hacerlo más propenso a caer.

Figura 6: Información asociada a la cuenta de e-mail en Vimeo

Estos ataques son muy comunes y en muchas ocasiones pueden ser muy peligrosos y si por medio de estos e-mails se consigue inyectar una Spear App, bastaría para conseguir dar un paso de gigante. Es decir, si descubrimos que un usuario tiene una cuenta en Vimeo o Gravatar, tal vez sea útil enviar un correo con un Spear App para robar el token OAuth de esa cuenta de Outlook mediante una oferta irrechazable de una nueva app premium de Gravatar o Vimeo para su correo electrónico.

Figura 7: Resultados de búsqueda con UserSherlock

La página también nos muestra con más detalle si el usuario tiene perfiles en algunas de las plataformas más conocidas de la red revisando los nombres de los usuarios enlazando otro servicio útil de OSINT llamado UserSherlock. En ese caso no se puede garantizar que sean los usuarios asociados a esa dirección de correo electrónico, pero es información útil que quizá merece la pena revisar una a una.

Autor: Sergio Sancho Azcoitia

sábado, febrero 22, 2014

Ataque de fuerza bruta a PLC Omron CJ2H CPU64-EIP

Recientemente contaba en un importante portal dedicado a la automatización industrial cómo había tenido que improvisar “on the fly” un ataque por fuerza bruta contra CX-Programmer para liberar los permisos de lectura de programa en un PLC Omron modelo CQM1-CPU43 protegidos por un código decimal de cuatro dígitos - 10.000 combinaciones -.

Los motivos que permitieron el éxito del ataque fueron dos. Por un lado la CPU que con una antigüedad de 16 años como mínimo no limita el número máximo de intentos de liberación de permisos que se pueden realizar mediante peticiones a su puerto serie y  por otro lado está el tema del software, que tampoco tiene limitaciones en este sentido.

Que la CPU no limite el número de intentos por el puerto serie tiene cierta lógica cuando hablamos de equipos tan antiguos nacidos en tiempos menos preocupados por la seguridad en la electrónica industrial ya que en modelos más modernos de esa misma CPU sí que fue limitado el número de intentos que se podían hacer para desbloquear un sistema, pero me resultó algo más extraño que el software no implementara ya ningún control porque estamos hablando una versión actual del mismo.

Además, en la prueba que realicé el ataque se producida conectado al cable serie, con las limitaciones de tiempo y de necesidad física de conectarse cerca, pero ¿qué pasa con las comunicaciones TCP/IP que ya llevan este tipo de controladores? ¿Estarían protegidas contra ataques de fuerza bruta?

Un ataque de fuerza bruta a un PLC por TCP/IP

El primer paso fue el de pedir a Omron las especificaciones del protocolo FINS (Factory Intelligence Network Service) para buscar el comando de liberar la protección, pero por algún motivo han decidido no poner este comando en la lista del manual “Sysmac CS/CJ/CP Communications Commands Reference Manual” que me enviaron.

Figura 1: Listado de comandos FINS según el manual de referencia del fabricante

Como ya pudimos ver cuando capturábamos las claves de un PLC mediante un ataque MITM, Omron no cifra las comunicaciones entre el PLC y su propio software de programación. Este software de hecho utiliza el propio protocolo FINS para la comunicación con el PLC, así que fue sencillo analizar mediante Wireshark el proceso de intento de liberación de protección para ver la trama enviada del software de controla al PLC.

Figura 2: Captura de conexiones de comandos FINS
Figura 3: Detalle ampliado del comando FINS enviado desde el software CX-Programmer PLC

Si analizamos esa trama enviada y la comparamos con la estructura del comando FINS estándar que encontramos en el manual se puede comprobar que coincide perfectamente. Para no hacer demasiado extensa la explicación no voy a entrar en detalle de que es cada uno de los elementos del comando, pero vamos a descomponer el mensaje capturado con Wireshark para ver su estructura.

Figura 4: Detalle de un comando FINS
ICF: 80
RSV: 00
GCT: 07
DNA: 00
DA1: 00
DA2: 00
SNA: 00
SA1: AC
SA2: 00
SID: 7C
Command Code: 03 05
Text: FF FF 00 55 4D 00 00 00 00 00 00
Se puede ver que el comando de liberación es “03 05” y que hay otro campo con pinta de ser más que interesante dentro de la trama, el comando “Text”. Este comienza por los valores “FF FF 00” y a continuación está la representación ASCII en formato Hexadecimal de la clave que se ha utilizado para intentar liberar los permisos (UM) seguida de seis caracteres NULL.

La clave en concreto puede estar formada por una cadena de 8 caracteres dentro del espacio de valors que estos equipos pueden manejar que van desde la "A" a la "Z" mayúsculas, desde la "a" a la "z" minúsculas, y desde el "0" al "9".

Con todo esto ya tenemos los datos suficientes para componer tramas e ir enviando mensajes al PLC hasta que consigamos obtener la clave. Para la prueba de concepto establecí en el PLC una clave numérica y escribí un pequeño programa en el mejor de mis spaghetti code en VB.NET que atacaba al PLC extrayendo las claves de un diccionario de palabras. El resultado del ataque a la protección contra lectura de “User Memory” fue el siguiente.

Figura 5: Mensaje de clave encontrada

Conclusión final

Parece que Omron, después de protegerse contra los ataques por fuerza bruta en los puertos serie en algunas versiones de producto de sus PLCs vuelve a permitir este tipo de ataques unos años después por la capa TCP/IP.

Es cierto que como cualquier ataque por fuerza bruta puede volverse eterno en función del diccionario que utilicemos, podemos observar que ha tardado 29 minutos en testear menos de 300.000 contraseñas. Obviamente la aplicación que se ha escrito para la prueba de concepto no es más que una herramienta de usar y tirar sin optimizar y que seguro que se puede mejorar.

Hay que decir también que para la protección contra lectura de tareas se utiliza el mismo comando, solo que el campo texto comienza por “FF FF 02”. Ambas pruebas se realizaron contra un CJ2H CPU64-EIP y el resultado fue exitoso. El PLC aguantó el ataque y las contraseñas aparecieron.

Figura 6: PLC CJ2H CPU64-EIP

Si alguna vez tenéis que establecer una contraseña para uno de estos sistemas recordad que es importante que sea larga y compleja, como en cualquier otro acceso que deseemos proteger, porque no hay más protección en estos sistemas que la paciencia que tenga el atacante para intentar todas las combinaciones posibles en un ataque de fuerza bruta a todo el espacio posible de passwords.

Autor: Juan Luis Valverde Padilla
e.mail: jl.valverde@jvalverde.es

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares