Kangaroo-Hunter es un entorno Dockerizado y paralelizado para ejecutar JeanLucPons/Kangaroo y buscar claves privadas de Bitcoin a través de fragmentos definidos (shards) del keyspace. Esta configuración es especialmente útil para desafíos como el puzzle #69 de Bitcoin, permitiendo ataques distribuidos de fuerza bruta usando el algoritmo del canguro de Pollard.
- 📦 Estructura del Proyecto
- 🚀 Características
- 🔧 Requisitos
- 🧱 Build del Contenedor
- 🧩 1. Generar Shards (Rangos)
- 🔄 2. Ejecutar Kangaroo en Paralelo
- 🔍 Salida Esperada
- 📄 Ejemplo de Línea de Comando Kangaroo
- 🧪 Tests y Verificación
- 🤝 Contribuir
⚠️ Aviso Legal- 📜 Licencia
kangaroo-hunter/
├── 📄 Dockerfile # 🐳 Define entorno con dependencias necesarias
├── 🧬 docker-compose.yml # ⚙️ Orquesta múltiples contenedores Kangaroo
├── 🔢 generate_shards.sh # 📐 Genera los rangos de búsqueda (shards)
├── 🧮 run_parallel.sh # 🔄 Ejecuta Kangaroo usando GNU Parallel
└── 📝 README.md # 📘 Documentación principal del proyecto
- 🐳 Docker-Ready: Portabilidad asegurada para correr Kangaroo en cualquier máquina o servidor.
- ⚙️ docker-compose: Levanta múltiples workers fácilmente.
- 📐 Shard Generator: Divide el espacio de claves en fragmentos (shards) para facilitar el escaneo distribuido.
- 🔄 Parallel Execution: Utiliza GNU Parallel para explotar múltiples núcleos o nodos cloud.
- 💡 Simple & Modular: Separación clara de tareas y scripts fácilmente personalizables.
- Docker y docker-compose
- GNU Parallel (
sudo apt install parallel) - Un sistema operativo Linux/macOS (para uso local o en servidores cloud)
Primero, clona este repositorio y construye la imagen Docker:
git clone https://github.com/ten13nt3d/kangaroo-hunter.git
cd kangaroo-hunter
docker build -t kangaroo .Edita generate_shards.sh y ajusta los parámetros como:
# Ejemplo
start_range=1000000000000000000000000000000000000000
end_range=1000000000000000000000000001000000000000
step=1000000000000000000000000000000000000Luego ejecuta:
chmod +x generate_shards.sh
./generate_shards.shEsto generará un archivo shards.txt con líneas tipo:
1000000000000000000000000000000000000000:1000000000000000000000000000100000000
...Opción A: GNU Parallel (uso local) Requiere que el binario Kangaroo esté compilado en la carpeta.
chmod +x run_parallel.sh
./run_parallel.shEl script leerá shards.txt y ejecutará una instancia de Kangaroo por shard.
Define tu docker-compose.yml así:
services:
kangaroo:
build: .
volumes:
- ./shards.txt:/app/shards.txt
environment:
- TARGET_HASH160=your_target_here
command: ./Kangaroo -r ${RANGE} -t ${TARGET_HASH160}
Levanta el entorno con:
docker-compose up --buildPara escalar:
docker-compose up --scale kangaroo=4Cada instancia de Kangaroo imprimirá en consola:
Found private key: 0xABC123... for pubkey: <target>Guarda los resultados con:
./run_parallel.sh > results.log 2>&1
grep "Found private key" results.logKangaroo requiere tres parámetros principales:
./Kangaroo -r <start>:<end> -t <target_hash160> -gParámetros:
- -r: Rango de claves
- -t: Hash160 objetivo
- -g: Usa modo GPU si está disponible (requiere CUDA)
Puedes probar el sistema con claves pequeñas y hash160s falsos para validar que el sistema recorra los rangos correctamente.
Pull Requests bienvenidas para mejoras como:
- UI Web para visualización de progreso
- Logs persistentes en contenedores
- Soporte multi-cloud
Este software es solo para uso educativo e investigativo. El uso indebido para acceder a fondos ajenos en la blockchain de Bitcoin puede ser ilegal en tu jurisdicción. Úsalo bajo tu propio riesgo.
MIT — libre de usar, modificar, compartir.