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

No hay comentarios:

Publicar un comentario