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.
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:
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.
Figura 1: Nuevo reto Hacking Web3 de Level_UP! -> Forensic Ouch!
- Aprende cómo rastrear la interacciones en Blockchain
- Level_Up!: Una plataforma para aprender a hacer pentesting en Web3 (SmartContracts & BlockChain ) a través de retos hacking
- Level_Up!: Web3 Security WarGames para los amantes del Challenge Based Learning
- Level_up!: WriteUp del Reto Questions para comenzar el pentesting en la Web3
- Level_Up! Deny_to_me Challenge activado en la plataforma Level_up! de retos hacking Web3
- Level_Up!: WriteUp del Ownership Challenge para hacer pentesting en Web3
Figura 2: Level_Up! en GitHub
Figura 3: Retos de Level_UP!
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.
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.
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.
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:
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.
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.
Figura 8: Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación" de Yaiza Rubio y Félix Brezo |
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
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
Más artículos de Web3, Blockchain & SmartContracts
- 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)
- Dominios Web3 en Etherenum Name Service y la trazabilizad de las transacciones Blockchain
- BlockChain & SmartContracts: Actualizar SmartContracts como los grandes protocolos
- Jumping level up (from) web2 (to) web3: Vulnerabilities & SCAMs - SmartContracts
- 20 millones (Euros) en Tokens de Optimism perdidos por no saber cómo funcionan los Wallets Multifirma
- BlockChain & SmartContracts: Cómo crear una DApp de la Web3 con Python (y Flask)
- Pentesting SmartContracts: From Web2.0 to Web3
- Tokenomics 101: Una explicación con gráficos
- Read-Only Reentrancy Attack: $220k robados y otros +$100M en riesgo
- Como utilizar ChatGPT para encontrar bugs en SmartContracts
- BlockChain & SmartContracts: Nuevas áreas profesionales relacionadas con la Web3
- Las voces de Satoshi: Un canal para estar al día en Web3, Blockchain, Criptos & IA
- BlockChain & SmartContracts: Nuevas áreas profesionales relacionadas con la Web3
- Bit2Me Academy: Una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos
- Level_Up!: Una plataforma para aprender a hacer pentesting en Web3 (SmartContracts & BlockChain ) a través de retos hacking
- Level_Up!: Web3 Security WarGames para los amantes del Challenge Based Learning
- Level_up!: WriteUp del Reto Questions para comenzar el pentesting en la Web3
- Level_Up! Deny_to_me Challenge activado en la plataforma Level_up! de retos hacking Web3
- Level_Up!: WriteUp del Ownership Challenge para hacer pentesting en Web3
- Nuevo reto Hacking Web3 de Level_UP! -> Forensic Ouch!
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