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.
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.
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.
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.
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:
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.
- Blockchain & SmartContracts: Una serie para aprender
- BlockChain & SmartContrats: Primer SmartContract con Solidity
- Blockchain & SmartContracts: Cómo probar y desplegar un SmartContract en Ethereum
- WWW, Web 1.0, Web 2.0, Web 3.0, Web3 y ¿Web 4.0?
- Metaverso, multiverso y las tierras digitales en que vivimos en forma de avatar
- Los Fan Tokens vs. las Criptomonedas y los NFTs: Level 101
- Tokenomics: Las criptomonedas y las "Proof-of-work": Level 101
- Los NFTs y el registro mundial de los dueños de activos digitales en el Metaverso
- BitCoin: Blockchain y su investigación
- BlockChain & SmartContrats: El Internet descentralizado y el almacenamiento off-chain en IPFS
- Reentrancy Attack: Cómo te roban criptomonedas por un bug en tu SmartContract
- BlockChain & SmartContract: Bugs que pueden dejar tu SmartContrat "fuera de juego"
- Blockchain & SmartContracts: Patrones y buenas prácticas de seguridad
- Blockchain & SmartContracts: Herramientas de Auditoría de Seguridad de SmartContracts
- BlockChain & SmartContracts: Ataque de phishing a tx.origin y robo de criptomonedas
- BlockChain & SmartContracts: Ataques de Ice Phishing
- Blockchain & SmartContracts: Herramientas de análisis dinámico
- ZIION: Una distribución Linux para auditar SmartContracts (& BlockChain)
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