Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vuke — Herramienta de investigación para estudiar la generación de claves criptográficas vulnerables (brainwallet, PRNG, milksad, LCG, xorshift) | Kitploit
Herramientas/GitHubGitHub/oritwoen/vuke
Descifrado de ContraseñasAnálisis de VulnerabilidadesExplotaciónAnálisis ForenseCriptografíaPapers e InvestigaciónAprendizaje y Educación
GitHuboritwoen/vuke

vuke

Herramienta de investigación para estudiar la generación de claves criptográficas vulnerables (brainwallet, PRNG, milksad, LCG, xorshift)

Ver Repositorio
18512hace 6 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

vuke

Crates.io Downloads License Ask DeepWiki

Herramienta de investigación para analizar y reproducir la generación vulnerable de claves de Bitcoin.

Características

  • Arquitectura modular: fuentes y transformaciones conectables
  • Múltiples fuentes de entrada
    • Rangos numéricos (probar semillas débiles)
    • Listas de palabras (análisis de brainwallets)
    • Marcas de tiempo (explotación de PRNG basada en tiempo)
    • Entrada estándar (stdin) (integración en pipelines)
  • Transformaciones de vulnerabilidades históricas
    • Directa (bytes sin procesar como clave)
    • SHA256 (brainwallet clásico)
    • Doble SHA256 (hashing al estilo Bitcoin)
    • MD5 (hashing débil heredado)
    • Cadena SHA256 (derivación determinista iterada/indexada)
    • Milksad (PRNG MT19937 - CVE-2023-39910)
    • MultiBit HD (fallo de semilla como entropía)
    • Electrum pre-BIP39 (derivación determinista personalizada 2011-2014)
    • Armory (derivación HD heredada)
  • Análisis de origen de clave: detección inversa de métodos de generación vulnerables
  • Procesamiento paralelo mediante Rayon
  • Comparación de direcciones para escanear objetivos conocidos
  • Salida a archivo para guardar resultados
  • Almacenamiento en la nube: carga asíncrona a S3/R2/MinIO
  • Implementación en Rust puro

¿Por qué este proyecto?

Esta herramienta está diseñada para investigación en seguridad: comprender cómo se generaban claves vulnerables en el pasado ayuda a mejorar la seguridad de las carteras modernas.

Vulnerabilidades históricas que esta herramienta puede reproducir:

VulnerabilidadAñoImpacto
Brainwallets2011-2015SHA256(contraseña) fácilmente descifrable
PRNG débiles2013-2023Semillas predecibles (marcas de tiempo, PIDs)
Milksad2023libbitcoin bx usaba MT19937 con semillas de 32 bits
MultiBit HD2014-2016Semilla BIP39 de 64 bytes usada como entropía
Electrum pre-BIP392011-2014Derivación determinista personalizada con estiramiento débil
Armory HD2012-2016Derivación determinista pre-BIP32
PRNG LCG1990s-2010sglibc rand(), MINSTD, MSVC - solo estado de 31-32 bits
PRNG Xorshift2003-presenteMath.random() en V8/SpiderMonkey - estado de 64-128 bits
Cadenas SHA2562010s-presenteDerivación determinista de claves a partir de semillas débiles

Instalación

Cargo```bash

cargo install vuke

### De la fuente```bash
git clone https://github.com/oritwoen/vuke
cd vuke
cargo build --release

Uso

Generar una clave única a partir de una frase de contraseña```bash

vuke single "correct horse battery staple" --transform sha256

Salida:```
Passphrase: "correct horse battery staple"
Transform: sha256
Source: correct horse battery staple
---
Private Key (hex):     c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a
WIF (compressed):      L3p8oAcQTtuokSCRHQ7i4MhjWc9zornvpJLfmg62sYpLRJF9woSu
---
P2PKH (compressed):   1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T
P2WPKH:               bc1qfnpg7ceg02y64qrskgz0drwp3y6hma3q6wvnzr

Escaneo de lista de palabras para direcciones conocidas```bash

vuke scan --transform=sha256 --targets known_addresses.txt wordlist --file passwords.txt

### Proveedores de datos

En lugar de rutas de archivo, usa referencias de proveedores para la carga dinámica de objetivos:```bash
# Scan all unsolved b1000 puzzles
vuke scan --transform=milksad --targets boha:b1000:unsolved range --start 1 --end 1000000

# Scan specific collection with filter
vuke scan --transform=sha256 --targets boha:b1000:with-pubkey wordlist --file words.txt

# Available filters: all, unsolved, solved, with-pubkey
vuke scan --targets boha:hash_collision:unsolved wordlist --file words.txt

Sintaxis del proveedor: provider:collection:filter o provider:collection:id

Colecciones disponibles (proveedor boha):

  • b1000 - Acertijo de Bitcoin 1000 (256 acertijos, 1-256 bits)
  • gsmg - Acertijo GSMG
  • bitaps - Acertijo Bitaps
  • hash_collision - Acertijos de colisión de hash
  • zden - Acertijos Zden
  • bitimage - Acertijos Bitimage

Probar rango numérico (semillas débiles)```bash

vuke generate --transform=milksad range --start 1 --end 1000000

### Prueba LCG-based keys```bash
# Generate keys using glibc rand() (default big-endian)
vuke generate --transform=lcg:glibc range --start 1 --end 1000000

# Use MINSTD variant with big-endian byte order
vuke generate --transform=lcg:minstd:be range --start 1 --end 1000

# Test all LCG variants at once
vuke generate --transform=lcg range --start 1 --end 100

Prueba de claves basadas en xorshift```bash

Generate keys using all xorshift variants (requires cascade filter for analysis)

vuke generate --transform=xorshift range --start 1 --end 1000000

Use specific variant

vuke generate --transform=xorshift:64 range --start 1 --end 1000 vuke generate --transform=xorshift:128 range --start 1 --end 1000 vuke generate --transform=xorshift:128plus range --start 1 --end 1000 vuke generate --transform=xorshift:xoroshiro range --start 1 --end 1000

### Prueba de claves basadas en timestamp```bash
vuke scan --transform=sha256 --targets addresses.txt timestamps --start 2015-01-01 --end 2015-01-31

Derivar claves de archivos (Bitimage)```bash

Generate key from a single file

vuke generate --transform=bitimage files --file image.jpg

Scan directory recursively

vuke generate --transform=bitimage files --dir ./images/

With custom derivation path and passphrase

vuke generate --transform=bitimage --bitimage-path "m/44'/0'/0'/0/0" --bitimage-passphrase "secret" files --file photo.png

Derive multiple addresses per file

vuke generate --transform=bitimage --bitimage-derive-count 10 files --dir ./data/

Brute-force passphrases from wordlist

vuke scan --transform=bitimage --bitimage-passphrase-wordlist passphrases.txt --targets addresses.txt files --dir ./images/

### Múltiples transformaciones```bash
vuke scan --transform=sha256 --transform=double_sha256 --transform=md5 --targets addresses.txt wordlist --file words.txt

Tubería desde stdin```bash

cat passwords.txt | vuke generate --transform=sha256 stdin

### Guardar resultados en archivo```bash
vuke generate --output results.csv range --start 1 --end 1000000
vuke generate --output results.txt --verbose range --start 1 --end 1000
vuke scan --output hits.txt --targets addresses.txt wordlist --file passwords.txt

Almacenamiento persistente (Parquet)

Almacena resultados en formato Parquet para análisis a escala de TB (requiere la característica storage):```bash

Build with storage support

cargo build --release --features storage

Store generated keys to Parquet

vuke generate --storage ./results --transform milksad range --start 1 --end 1000000

Configure chunk rotation

vuke generate --storage ./results --chunk-records 500000 --chunk-bytes 50M range --start 1 --end 10000000

Configure compression (default: zstd level 3)

vuke generate --storage ./results --compression zstd --compression-level 9 range --start 1 --end 1000000

No compression (fastest writes)

vuke generate --storage ./results --compression none range --start 1 --end 1000000

Available algorithms: none, snappy, gzip, lz4, zstd

### Consultar resultados almacenados (SQL)

Consulte archivos Parquet almacenados usando SQL (requiere la función `storage-query`):```bash
# Build with query support
cargo build --release --features storage-query
Descargar herramienta