sábado, mayo 27, 2023

Nuevo reto Hacking Web3 de Level_UP! -> Forensic Ouch! - Aprende cómo rastrear la interacciones en Blockchain

Tenemos un compromiso interno en el equipo de IdeasLocas con lo dejar pasar un mes sin publicar un nuevo reto en la plataforma de Level_UP! Por esta razón traemos el nuevo reto del mes de mayo. En esta ocasión toca un poco de forense básico en la Blockchain. Hay que recordar que en la pasada RootedCON la presentamos y mostramos nuestros objetivos respecto a ella. Nuestra intención es publicar un writeup mensual sobre algún reto y publicar un nuevo reto con el que la comunidad pueda seguir su aprendizaje.

Figura 1: Nuevo reto Hacking Web3 de Level_UP! -> Forensic Ouch!
 - Aprende cómo rastrear la interacciones en Blockchain

A modo de resumen rápido os dejamos el listado de artículos y solucionarios de retos de Level_UP! que tenemos publicados y os animamos a que “juguéis” con este mundo de la seguridad en Web3, ya que es apasionante cuando uno conoce los ‘basics’ de la Web3:
Hoy toca publicar nuevo reto, el cual ya está disponible en el repositorio de Github de Level_UP! El reto de hoy trabaja sobre conceptos de forense y de rastreo en la forma en que los SmartContracts ejecutan las acciones. La frase de “todo queda en la Blockchain” no siempre es correcta, pero en este caso sí. Si quieres saber qué ha ocurrido en ese contrato del reto deberás analizarlo.


Como se puede ver en la imagen, forensich_ouch es el reto número 12 (ya que empezamos en el 0, aunque el reto 0 sea un tutorial guiado). La puntuación que el usuario puede obtener con el nuevo reto es de 150 puntos y la dificultad del reto supone un nivel intermedio. No es un reto complejo, pero si se debe tener algunos conocimientos sobre el funcionamiento interno de los SmartContracts así de cómo los datos son registrados en la Blockchain.


Cuando uno entra al reto y lo quiere desplegar para jugarlo, se encontrará con la introducción de lo que se necesita hacer en el reto. Además, nos muestran una serie de funciones que solo el propietario del contrato podrá ejecutar.

Reto Forensic_Ouch   

Cuando se despliega el reto a través del botón ‘Deploy Contract’ se debe acceder a las ‘Dev Tools’ del navegador. Desde la consola de desarrollo del navegador, se puede acceder a través del comando ‘help’ o ‘help()’ (depende del navegador) a la ayuda. Disponemos de tres objetos con los que interactuar: player, base y contract.

Figura 4: Reto Forensic Ouch!

El objeto player almacena la dirección pública del usuario con el que estamos jugando en la plataforma. El objeto base representa la conexión con el contrato base de la plataforma, es el contrato que gestiona los puntos, los jugadores que están jugando, etcétera. Por último, y una vez está desplegado el reto, tenemos el objeto contract, el cual nos permite interactuar con el contrato del reto. 

Figura 5: Lectura del contrato

Siempre recomendamos que hagas uso de la instrucción ‘contract.functions’ para ver las funciones disponibles. También puedes aprender qué funciones hay disponibles leyendo el contrato, tal y como se puede ver en la imagen de la Figura 5.

Figura 6: Libros de Python para Pentesters y Hacking con Python
de Daniel Echeverri publicados en 0xWord.

El algoritmo Keccak será importante en este reto, es recomendable utilizar recursos como el de OnlineTools y el uso de Keccak. La conexión a la Blockchain se puede hacer de muchos modos, recomendamos usar Python o JS para usar la librería Web3. Ánimo. Una vez que tengamos la flag, acordaros de validar los puntos en la plataforma, tal y como se puede ver en la siguiente imagen:

Figura 7: Validación de Flag

Los chicos y chicas de Escuela 42 están realizando el reto durante estas semanas. La acogida ha sido bastante buena y pronto os contaremos más cosas de lo ocurrido en ese hackathon de Level_UP! en 42. Pronto más solucionarios y más retos. El mes de junio está a la vuelta de la esquina.

Y 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.

Más artículos de Web3, Blockchain & SmartContracts
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

Figura 15: Contactar con Pablo González

No hay comentarios:

Publicar un comentario