
Buscar y extraer archivos blob en la red de la cadena de bloques Ethereum
Busca y extrae archivos blob en la red Ethereum usando la API de Etherscan.io.

EtherBlob Explorer es una herramienta pensada para investigadores, analistas, participantes de CTF o cualquier persona curiosa que desee buscar diferentes tipos de archivos o cualquier dato significativo proporcionado por humanos en la red blockchain de Ethereum. Busca en un rango de IDs de bloques o marcas de tiempo UNIX proporcionado por el usuario en cualquiera de las 5 redes disponibles: MainNet, Görli, Kovan, Rinkeby y Ropsten.
Para un caso real puedes leer este experimento realizado en 2017. La inmutabilidad de la blockchain puede ser verdaderamente una espada de doble filo.
Ejecuta el siguiente comando:
$ pip install git+https://github.com/litneet64/etherblob-explorer.git
Ahora está listo para usar desde tu CLI; ¡abajo encontrarás algunos ejemplos de uso comunes!
Busca en cualquiera de las cinco redes Ethereum:
Esta herramienta puede buscar en las siguientes ubicaciones, ya sea por separado o combinando cualquiera de ellas en la misma ejecución:
[*] Almacenar datos en direcciones 'to' es posible en la red Ethereum ya que no hay verificación si se envía a una dirección que no tiene claves de cuenta asociadas. Esto significa que puedes hacer transacciones a direcciones arbitrarias para construir un payload a lo largo de varias transacciones de 20 bytes (es muy raro, pero también lo son algunos desafíos de CTF).
Todos estos métodos pueden usarse por separado o en cualquier combinación:
binwalk.file (método por defecto).IMPORTANTE: El orden mostrado aquí se usa internamente para descartar búsquedas con otros métodos (ej. si se encuentra un archivo mediante archivos incrustados, no se intentará buscar usando cabeceras de archivo, volcado de cadenas ASCII ni entropía) ya que no es probable encontrar algo significativo si los métodos anteriores ya tuvieron éxito.
-h)!.api-key) y entre estos dos IDs de bloque (inclusive):$ etherblob 4081599 4081600
$ etherblob -K api.key 3134050 3145570 -M -H --network goerli
$ etherblob 4081599 4081600 --blocks --transactions -D extracted/
Jan 25 2021 19:00:00 y Jan 26 2021 19:00:00:$ etherblob -t 1611601200 1611687600 --addresses
$ etherblob 3911697 3912697 -S --contracts -C 4
$ etherblob 4081599 4081600 --encrypted
$ etherblob 3911697 3912697 -E 4.0 5.0 -s
$ etherblob -t 1608836400 1608922800 --blocks --transactions --strings
$ etherblob 4081599 4081600 -U -S -M -H --blocks --transactions --addresses --contracts
¡Hay más explicaciones para casos de uso avanzados y las cosas encontradas con ellos en la wiki!
usage: etherblob [-h] [--transactions] [--blocks] [--addresses] [--contracts]
[--network {main,goerli,kovan,rinkeby,ropsten}] [-H] [-M] [-U] [-E CUSTOM_ENTROPY CUSTOM_ENTROPY]
[--encrypted] [-S] [-C CONTRACT_POSITION] [-t] [-K API_KEY_PATH] [-k API_KEY] [-D OUTPUT_DIR]
[-o OUT_LOG] [-s] [-i [IGNORED_FMT [IGNORED_FMT ...]]] [--version]
start_block end_block
Tool to search and extract blob files on the Ethereum Network.
positional arguments:
start_block Start of block id range.
end_block End of block id range.