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

sábado, abril 13, 2024

On-The-Fly: Cómo hackear MQTT con Network Packet Manipulation en 1 minuto

La pasada MorterueloCON participé junto con Pablo González en las jornadas donde presentamos un nuevo módulo para nuestra herramienta 'on-the-fly' en el que habíamos estado trabajando días atrás.

Figura 1: On-The-Fly - Cómo hackear MQTT con Network Packet Manipulation en 1 minuto

'on-the-fly' es una proyecto del equipo de Ideas Locas que ofrece capacidades para realizar pruebas de pentesting en varios dominios (IoT, ICS & TI). Se trata de una herramienta innovadora al unir diferentes mundos que comparten un factor común: la red. Es Open Source, por lo que te animamos a participar activamente en el proyecto que puedes encontrar en su GitHub.


Si revisas el blog y has trabajado con la herramienta, habrás visto que hay un módulo para ‘on-the-fly’ para hacer Network Packet Manipulation, concretamente para manipular paquetes de MySQL al vuelo. En esta ocasión quisimos hacer lo mismo pero para manipular paquetes del protocolo MQTT, y así ampliar las capacidades que tienes para los proyectos de Ethical Hacking.

Figura 3: Libro de Ethical Hacking 2ª Edición
de Pablo González en 0xWord

Ahora hemos publicado este nuevo módulo y te explico como puedes ponerlo a prueba. El escenario es el siguiente:
  • Un broker MQTT que se encargue de hacer llegar los mensajes entre los diferentes clientes.
  • Dos clientes MQTT, uno que publicará el mensaje (que se manipulará en el aire) y otro cliente que esté suscrito al topic que recibirá el mensaje.
  • Una máquina con Kali Linux y herramienta ‘on-the-fly’ preparada.
  • El módulo de manipulación MQTT preparado y lanzado.
Debes saber que este tipo de módulos necesitan de otro módulo para que proporcione el tráfico, en este caso haciendo uso del módulo arp_spoof.

Montaje del broker

Para poner en marcha el broker de manera rápida puedes hacer uso de Docker con una imagen de mosquitto (puedes encontrarla en el Docker Hub):

$ docker run -it -p 1883:1883 -p 9001:9001 
-v mosquitto.conf:/mosquitto/config/mosquitto.conf eclipse-mosquitto

Debes tener en cuenta que tienes que tener un fichero de configuración. En el ejemplo, mosquitto.conf se encuentra en local y se montará sobre la ruta /mosquitto/config/mosquitto.conf del contenedor. En el repositorio de GitHub de mosquitto puedes encontrar un ejemplo de configuración, además de tener la documentación oficial en el sitio web de mosquitto donde se explica con detalle cada uno de los parámetros de configuración posibles.

Para este caso, vamos a habilitar el puerto de escucha 1883 (por defecto para conexiones sin cifrar y sin autenticar) y el puerto 9001 (este se usará para una conexión a través de Web Socket, sin cifrar y sin autenticar). Esto se resume en un archivo de configuración que contenga las siguientes lineas:

listener 1883
listener 9001
protocol websockets

Ahora podemos lanzar el contenedor y hacer una prueba de conexión con el broker. Para ello necesitaremos un cliente, por ejemplo MQTTX. MQTTX es un cliente gráfico MQTT, es Open Source bajo una licencia Apache 2.0, y es multiplataforma, por lo que podemos usarlo con los principales sistemas operativos.

Figura 5: Nueva conexión en MQTTX

Al abrirlo tendremos que configurar una nueva conexión, indicando un nombre con el que se guardará en el listado de conexiones, un ID de cliente (que se auto-genera directamente en el cliente), y la dirección y puerto del host. Como nota, para la realización de la prueba de manipulación de paquetes debemos trabajar con la versión 3.1.1 del protocolo MQTT, que se puede indicar en las opciones avanzadas.

Ahora podemos crear una nueva suscripción para estar pendientes de todos los mensajes que se mandan a dicho "topic". Para este ejemplo vamos a suponer que hay una bombilla a la que se le puede cambiar el color cuando se publica sobre el topic ‘bulb/color’.

Figura 6: Suscripción al topic ‘bulb/color’

Con la suscripción creada, vamos a mandar un mensaje con un color, por ejemplo, blue, suponiendo que el dispositivo que estamos ejemplificando espera recibir este mensaje para cambiar su color.

Figura 7: Publicación de mensaje en el topic ‘bulb/color’

Al mandar y recibir el mensaje en el mismo cliente lo vemos como si fuera una conversación: a la derecha los mensajes enviados y a la izquierda los mensajes que se reciben. En ambos casos aparece el topic donde se ha mandado/recibido.

JL. Rambla, ampliado y revisado por Pablo González y Chema Alonso

Como ves, hacer uso del protocolo MQTT para intercambiar mensajes entre dispositivos es algo muy sencillo. Únicamente se debe disponer de un broker y de uno o varios clientes para realizar el intercambio.

MQTT Packet Manipulation PoC

Ahora que ya sabemos como funciona el protocolo MQTT, vamos a hacer uso del nuevo módulo de 'on-the-fly' para manipular estos paquetes en el aire.

Figura 9: Esquema manipulación de paquetes MQTT

Para empezar necesitamos hacer que el tráfico de una máquina víctima pase a través de nosotros, por lo que comenzamos haciendo uso del módulo arp_spoof, o cualquiera de las técnicas que se explican en el libro de Ataques en redes de datos IPv4&IPv6 (4ª Edición).

load modules/spoof/arp_spoof

En el ejemplo, conocemos la dirección IP de la víctima y del su puerta de enlace - "gateway" -, por lo que lo configuramos con el uso del comando set y lo ejecutamos con run.

Figura 10: Ejecución del módulo arp_spoof en Kali Linux

Con el ARP Spoofing en ejecución, cargamos el módulo de manipulación MQTT:

load modules/manipulation/mqtt_manipulation

Para este módulo hay que configurar dos parámetros:
  • mqtt_topic_modify: este valor indica el topic que se quiere escuchar para manipular su mensaje.
  • msg_spoof: este valor representa el nuevo mensaje que se quiere asignar.
De esta manera, en el ejemplo se ha indicado que se quiere escuchar el topic bulb/color y vamos a reemplazar cualquier mensaje por lime, por lo que vamos a cambiar cualquier color a éste.

Figura 11: Ejecución del módulo mqtt_manipulation en Kali Linux 

Por último, realizamos la prueba de funcionamiento. Nos dirigimos a la máquina víctima y realizamos la publicación de un nuevo color.

Figura 12: Manipulación en tiempo real de los paquetes MQTT

Si todo ha ido bien podremos observar que, aunque el mensaje que ha salido del cliente es correcto, la recepción que llega a la suscripción es el modificado por 'on-the-fly', por lo que hemos conseguido manipular el tráfico MQTT en tiempo real. En el siguiente video puedes ver la demostración completa del ejemplo.

Figura 13: PoC de Network Manipulación MQTT con 'on-the-fly'

Como ves, este módulo de manipulación de paquetes MQTT hace muy sencillo poder jugar con este protocolo, y propone otro caso de uso para un entorno IoT donde 'on-the-fly' tiene ya varios módulos disponibles.


 Esperamos que os haya gustado este artículo, y esperamos que lo utilicéis y nos aportéis ideas de mejoras, o que ayudéis a mejorar nuestro 'on-the-fly' con nuevos módulos.

martes, septiembre 19, 2023

CodeTalk sobre CrazyToolBox: Una navaja suiza para Web3 y BlockChain

Hace unos días publicamos el CodeTalk4Devs de Cómo detectar voces clonadas con Machine Learning de nuestros CodeTalks4Devs 2023 creado por Ideas Locas y hoy os traigo uno centrado en el mundo del Web3,  con una pequeña sesión dedicada a CrazyToolBox, la navaja suiza para Web3, que no es más que una herramienta multifunción que si estás en el mundo de BlockChain y los SmartContracts, te va a venir muy bien.


CrazyToolBox se trata de una herramienta con GUI, escrita en Python y apoyada principalmente en la librería web3.py y también PySide para la parte gráfica. Puedes descargarla desde su repositorio de GitHub y realizar la instalación en muy pocos pasos con pipenv:
  • pipenv install
  • pipenv shell
  • python main.py
Figura 2: Interface de Crazy Toolbox

En el archivo Pipfile se encuentran listadas todas las dependencias con las que trabaja la aplicación, y que pipenv instalará en un nuevo entorno virtual con los comandos indicados anteriormente. Con estos sencillos pasos puedes tener CrazyToolBox rápidamente ejecutándose en tu equipo.


En este Codetalk nuestro compañero Javier Álvarez nos habla de las herramientas OpenSource creadas por el equipo de IdeasLocas incluidas en CrazyToolBox, que te facilitará el trabajo a la hora de investigar en la Web3 o incluso en la creación de SmartContracts. Podrás encontrar herramientas como conversores de unidades, codificador de selector de funciones, validador EIP55, etcétera, entre otras muchas que puedes ver en el siguiente vídeo.

Figura 4: CodeTalk sobre CrazyToolbox: Una navaja suiza para Web3 y BlockChain

Puedes encontrar más información de CrazyToolBox en el artículo que publicó nuestro compañero Álvaro Núñez-Romero por aquí, puedes conseguir la herramienta en  el repositorio de CrazyToolBox en GitHub. Y recuerda que tienes todos los CodeTalks en esta web, desde los últimos publicados hasta el acceso a las cinco temporadas anteriores, pero vamos a comentar uno a uno los que tenemos publicados para que sepas un poco mejor el contenido de estos:

Temas y Proyectos de Ideas Locas

Cada mes seguiremos publicando un episodio de estos CodeTalks para mantenerte al día en estos temas tan importantes dentro de la tecnología, y encantados de que nos propongáis ideas locas, proyectos o temas que tocar.


Así que no te los pierdas, y nos veremos en el próximo episodio, y recuerda que tienes todas las Codetalks4devs en una sola lista de Youtube, para que las puedas ver seguidas una tras otra... 

Figura 6: Sección Apps, Educación y Cultura

Y si quieres verlas en la tele, recuerda que en la Sección APPS -> Educación y Cultura, tienes la Living App de las CodeTalks by Ideas Locas de tu Movistar+

Figura 7: Living App Codetalks by Ideas Locas

Solo debes entrar en ella y tendrás acceso a todos los Webinars que vamos realizando para disfrutarlos sentado en tu sofá preferido en el salón de casa.

Happy Hacking Hackers!!! 

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

lunes, agosto 28, 2023

CrazyToolBox: Una herramienta multifunción de utilidades Web3

En el equipo de Ideas Locas llevamos ya un tiempo jugando con la tecnología Web3 y aprendiendo sobre Blockchain y los SmartContracts. Hemos tenido la suerte participar en eventos y, a la vez que aprendemos, realizar pequeños aportes a la comunidad Open Source como nuestra plataforma de aprendizaje basado en retos Level_Up!, en donde tratamos de seguir ampliando con nuevos retos mes a mes e incluso hacemos pequeñas actualizaciones como la implementación de los NFTs para los jugadores que hicimos hace pocos meses.


En esta ocasión, hemos querido hacer una pequeña caja de herramientas con utilidades varias para Web3 que hemos estado utilizado en nuestro día a día, según vamos aprendiendo nuevas cosas de este apasionante mundo. Estas son:
  • Conversor de unidades
  • Codificador de selector de funciones
  • Decodificador de selector de funciones
  • Decodificador de entrada de transacciones
  • Calculadora SHA-3 (Keccak256)
  • Validador EIP55
  • Validación de firmas
Figura 2: Interface de Crazy Toolbox

CrazyToolBox se trata de una herramienta con GUI, escrita en Python y apoyada principalmente en la librería web3.py y también PySide para la parte gráfica. Puedes descargarla desde su repositorio de GitHub y realizar la instalación en muy pocos pasos con pipenv:
  • pipenv install
  • pipenv shell
  • python main.py
En el archivo Pipfile se encuentran listadas todas las dependencias con las que trabaja la aplicación, y que pipenv instalará en un nuevo entorno virtual con los comandos indicados anteriormente. Con estos sencillos pasos puedes tener CrazyToolBox rápidamente ejecutándose en tu equipo.


A continuación se detalla cada una de las secciones que podéis encontrar en la herramienta:
  • Conversor de unidades: Permite convertir entre wei, gwei y ether, además de un modo avanzado donde se pueden convertir entre más de 20 tipos de medidas. Admite hasta 30 decimales de coma flotante.
  • Codificador de selector de funciones: Permite generar el selector de una función. Para ello hay que indicar el nombre de la función y los tipos de parámetros que tiene en una sencilla interfaz. También es posible pasar directamente la firma de la función, por ejemplo, la función transfer con dos parámetros, un tipo address y otro uint256: transfer(address,uint256).
  • Decodificador de selector de funciones: Esta sección hace justo lo contrario a la anterior, es decir, dado un selector de una función intenta obtener la firma de la función. Para ello se hace uso de la API de 4byte.directory.
  • Decodificador de entrada de transacciones: En este caso se permite decodificar la entrada de una transacción a la firma de función y los parámetros asignados sin necesidad del ABI del contrato. De nuevo, para obtener la firma de la función se hace uso del servicio de 4byte.directory.
Figura 4: Sección del apartado decodificador
de entrada de transacciones en Crazy Toolbox
  • Calculadora SHA-3 (Keccak256): Esta funcionalidad permite calcular el hash keccak256 del texto introducido en el input.
  • Validador EIP55: El validador EIP55 permite comprobar si una dirección cumple con este EIP y, en el caso de que no lo cumpla, calcular el EIP55 correspondiente a la dirección de entrada indicada.
  • Validación de firmas: En este caso, dado un texto que se ha firmado, o el hash del texto, más la firma, devuelve la dirección del propietario de dicha firma.
Figura 5: Sección del apartado de validación de firmas en Crazy Toolbox

Esperamos que esta nueva herramienta pueda resultarte útil. Recuerda que si quieres aprender de estas tecnologías, tienes Bit2Me Academy, que es una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos además del libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación" de Yaiza Rubio y Félix Brezo que seguro que te ayudan a ponerte las pilas. 

Figura 6: Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación"
de Yaiza Rubio y Félix Brezo

Os animamos a que probéis la nueva herramienta y encontráis algún fallo, o queréis que incorporemos alguna sugerencia de mejora nos lo hagáis saber vía nuestro buzón público en https://MyPublicInbox.com/IdeasLocas.  


Más artículos de Web3, Blockchain & SmartContracts

jueves, octubre 20, 2022

OMLASP "Open Machine Learning Security Project"

Cada vez más utilizamos diariamente todo tipo de tecnologías que se basan en modelos de Inteligencia Artificial. Las fábricas utilizan modelos de visión por ordenador para detectar personas en las proximidades de, por ejemplo, una cinta de ensamblaje. También las cámaras de seguridad reconocen patrones como acciones sospechosas o incluso armas. Y el caso más extremo, los datos médicos (como imágenes o datos de diagnósticos) también utilizan modelos de Machine Learning
Por este motivo y debido al tremendo impacto en la sociedad que tienen estas tecnologías, debemos de estar seguros que estos modelos no se han manipulado y sea posible cambiar la predicción o clasificación que obtenemos a la salida. Si te interesa la ciberseguridad y la Inteligencia Artificial, tenemos justamente un libro que habla de esto en la editorial 0xWord.

Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

En el equipo de Ideas Locas ya sabéis que todo lo que esté relacionado con la Ciberseguridad nos interesa. Por este motivo, hace un año empezamos a trabajar en OMLASP, Open Machine Learning Security Project, una colección de herramientas que implementa la teoría de los diferentes ataques y defensas que se pueden ejecutar contra los diferentes modelos de Machine Learning. Estas implementaciones en modo de herramientas nos permiten auditar nuestros propios modelos antes de ponerlos en producción y así detectar a tiempo sus vulnerabilidades.

OMLASP (Open Machine Learning Security Project)
  
OMLASP abarca como auditar de momento (es un proyecto que está en continua renovación) Árboles de decisión, ataques FGSM, Regresiones, Redes Neuronales y Ataques de Escalado (Scaling). Todos ellos con su respectiva herramienta, documentación y ejemplo de ejecución el cual podéis encontrar en su repositorio de GitHub que acabamos de publicar:


Hemos querido enfocar la herramienta desde nuestro punto de vista de la ciberseguridad, es decir, utilizar las mismas aproximaciones que realizamos de manera habitual dentro de, por ejemplo, un pentesting o una auditoría de ciberseguridad clásica. Y nada mejor para guiarnos que la magnífica matriz MITRE ATT&CK. De esta forma queremos ir poco a poco rellenando la información relativa a este tipo de ataques con nuestras diferentes implementaciones:

Figura 4: Primeros elementos de nuestra matriz OMLASP.

OMLASP "Open Machine Learning Security Project" se presentará oficialmente este próximo sábado día 22 de octubre en nuestra querida NoHat (Bérgamo, Italia), uno de nuestros eventos de seguridad favoritos. Allí estaremos Pablo González y yo mostrando sus funcionalidades y realizando alguna que otra demo. Ya estuvimos dando una charla en NoHat en plena pandemia, en 2020, donde hablamos de DeepFakes la cual podéis ver aquí:


Figura 5: DeepFakes en NoHat 2020

Además, tenemos el placer y el orgullo de comunicaros que estaremos de nuevo (y ya van seis contando OMLASP) en la BlackHat de Londres en su apartado Arsenal (formato en el cual se presentan diferentes herramientas en pequeñas franjas de tiempo) los días 7 y 8 de diciembre. Aquí tenéis un listado de todas las herramientas (y un enlace a su Github) que hemos presentado en diferentes ediciones de BlackHat Europe Arsenal:

2017 uac-a-mola

2018 iBombShell

2019 HomePWN

2020 ATTPwn (BlackHat Arsenal USA)

2021 on-the-fly

2022 OMLASP (diciembre 2022)
• BlackHat Arsenal Link OMLASP (aún no se ha publicado la agenda)

Más sobre OMLASP

Estad atentos/as porque publicaremos más adelante tanto por un lado nuestra experiencia en NoHat como más a nivel técnico detalles de OMLASP y su funcionamiento. Queremos agradecer enormemente el gran trabajo realizado por el equipo de Ideas Locas, sobre todo Marcos Rivera y Javier Del Pino, sin los cuales este proyecto no podría haberse llevado a cabo.
 
Saludos,  

Fran Ramírez 
 es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

sábado, septiembre 03, 2022

ZIION: Una distribución Linux para auditar SmartContracts (& BlockChain)

El mundo de los SmartContracts, la Web3, la tecnología Blockchain, el Tokenomics y todas las nuevas tecnologías que están empujando una nueva era de Internet o una nueva evolución del mudo digital que conocíamos son apasionantes. Si echamos un vistazo a todos los nuevos conceptos que nos rodean, el funcionamiento que tienen, la flexibilidad, las posibilidades que nos ofrecen tendríamos que escribir mucho.

Figura 1: ZIION: Una distribución Linux para
auditar SmartContracts (& BlockChain)

En IdeasLocas siempre pensamos en la seguridad de las cosas. El mundo Web3 nos apasiona e intentamos conocer cómo es la seguridad de este nuevo mundo. Cómo funciona una auditoría, cómo llevar a cabo un pentesting, cómo detectar vulnerabilidades a través del análisis estático o cómo hacerlo a través del análisis dinámico. Las bases son las que conocemos, la auditoría o el pentesting no deja de ser eso, pero cambian los conceptos, cambian las interfaces y cambia la lógica. Sin duda, un reto apasionante.

ZIION   
 
Recientemente, vi un tuit de @halbornsecurity, dónde se hablaba de ZIION, una distribución que agrupa un conjunto de herramienta para interactuar, para investigar, para chequear vulnerabilidades o detectarlas. Es decir, es una Kali Linux con la que el auditor o pentester puede tener su banco de herramientas (o su mochila de herramientas) para llevar a cabo sus tareas.


La release que se puede encontrar en la web de ZIION es una versión actualizada y que se puede utilizar como sistema operativo (virtualizado, es una Ubuntu) para realizar auditoría y testeo de seguridad para Blockchain y SmartContracts.

Figura 3: Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación"
de Yaiza Rubio y Félix Brezo en 0xWord

En el blog se ha hablado de vulnerabilidades y detección de éstas. Por ejemplo, se habló de herramientas de análisis estático de código, se ha hablado de los ataques Ice-Phishing y algunos particularidades en común con los ataques OAuth en el mundo Web2, se ha explicado cómo desplegar un entorno para pruebas, cómo funciona un ataque por debilidad de tx.origin o cómo funciona un re-entrancy attack. Y más cosas que no mencionamos ahora, pero como se puede ver seguimos el tema de cerca, ya que pensamos que es una evolución que convivirá con nosotros y que ya lo está haciendo.


Volviendo a ZIION podemos encontrar una serie de apartados dónde se clasifican los tipos de herramientas que podemos encontrar en la distribución. Por supuesto, cualquier herramienta que se pueda ejecutar en Ubuntu, el cual es el sistema base, funcionará, pero ZIION proporciona al usuario disponer de un gran número de herramientas para llevar a cabo pruebas de interacción, testing, análisis estático y dinámico. A continuación, se puede ver los tipos de herramientas. Si vamos viendo la documentación de la propia web de ZIION veremos algunas herramientas por categoría.

Figura 5: Categorías de herramientas de pentesting de
SmartContracts en ZIION.

Hay que indicar que, cuando pulsamos en una categoría nos salen diferentes herramientas de dicha categoría y el enlace a Github para poder obtener más información que la que se proporciona en la documentación de ZIION. Por ejemplo, si entramos en la categoría de “Automated” EVM Tools podemos encontrar una serie de herramientas, de las cuales, algunas, ya hemos hablado en el blog, y podemos ver la descripción y el enlace a Github, así como su licencia y los comandos que podemos ejecutar para su funcionamiento.

Una de las más utilizadas para hacer un análisis de seguridad de un SmartContract es Mythril, herramienta que permite hacer chequeos sobre el bytecode de los contratos, es decir, hacer un análisis estático, y de la que ya hablamos, o el mismo Slither que comentamos en el mismo artículo.

Figura 6: Mythril y Slither en ZIION

ZIION no se centra solo en Ethereum, dando también un lugar importante a otros proyectos. Se pueden ver categorías que engloban otros proyectos. ZIION intenta ser una distribución que contenga todo lo necesario para que el auditor pueda llevar a cabo su proyecto. Basado en soluciones Open Source.

Recomendación final

Sin lugar a duda, ZIION es un proyecto interesante que recomendamos probar si estáis interesados en la seguridad del mundo de la tecnología SmartContract. Si quieres descargar ZIION puedes hacer uso de tres formas:
  • Si tienes un Apple M1 o M2 puedes descargar una imagen para Parallels.
  • Si tienes arquitectura x64 y VirtualBox puedes tirar de una OVA.
  • Si tienes VMWare en arquitectura x64 puedes tirar de VMX.
En este enlace tienes toda la información de ZIION sobre la descarga de la imagen y la instalación con su configuración en función de la plataforma. Sin duda, es un proyecto interesante y seguiremos de cerca. Y nosotros seguiremos publicando más artículos en el mundo de los SmartContracts y seguiremos aprendiendo más sobre este interesante mundo de la Web3. Más artículos sobre este mundo Web3:
Saludos,

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root",  “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica.  Para consultas puedes usar el Buzón Público para contactar con Pablo González

Contactar con Pablo González

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

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