Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vuke — Ferramenta de pesquisa para o estudo de geração vulnerável de chaves criptográficas (brainwallet, PRNG, milksad, LCG, xorshift) | Kitploit
Ferramentas/GitHubGitHub/oritwoen/vuke
Quebra de SenhasAnálise de VulnerabilidadesExploraçãoAnálise ForenseCriptografiaPapers e PesquisaAprendizado e Educação
GitHuboritwoen/vuke

vuke

Ferramenta de pesquisa para o estudo de geração vulnerável de chaves criptográficas (brainwallet, PRNG, milksad, LCG, xorshift)

Ver Repositório
18514há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

vuke

Crates.io Downloads Licença Pergunte ao DeepWiki

Ferramenta de pesquisa para analisar e reproduzir geração vulnerável de chaves Bitcoin.

Funcionalidades

  • Arquitetura modular - fontes e transformações conectáveis
  • Múltiplas fontes de entrada
    • Intervalos numéricos (testar sementes fracas)
    • Listas de palavras (análise de brainwallet)
    • Carimbos de data/hora (exploração de PRNG baseada em tempo)
    • Streaming de stdin (integração com pipelines)
  • Transformações de vulnerabilidades históricas
    • Direta (bytes brutos como chave)
    • SHA256 (brainwallet clássico)
    • Double SHA256 (hashing estilo Bitcoin)
    • MD5 (hashing fraco legado)
    • Cadeia SHA256 (derivação determinística iterada/indexada)
    • Milksad (MT19937 PRNG - CVE-2023-39910)
    • MultiBit HD (bug de semente como entropia)
    • Electrum pré-BIP39 (derivação determinística 2011-2014)
    • Armory (derivação HD legada)
  • Análise de origem de chave - detecção reversa de métodos de geração vulneráveis
  • Processamento paralelo via Rayon
  • Correspondência de endereços para escaneamento de alvos conhecidos
  • Saída em arquivo para salvar resultados
  • Armazenamento em nuvem - upload assíncrono para S3/R2/MinIO
  • Implementação pura em Rust

Por que este projeto?

Esta ferramenta é projetada para pesquisa em segurança - entender como chaves vulneráveis foram geradas no passado ajuda a melhorar a segurança moderna de carteiras.

Vulnerabilidades históricas que esta ferramenta pode reproduzir:

VulnerabilidadeAnoImpacto
Brainwallets2011-2015SHA256(frase secreta) facilmente quebrada
PRNGs fracos2013-2023Sementes previsíveis (carimbos de data/hora, PIDs)
Milksad2023libbitcoin bx usou MT19937 com sementes de 32 bits
MultiBit HD2014-2016Semente BIP39 de 64 bytes usada como entropia
Electrum pré-BIP392011-2014Derivação determinística personalizada com alongamento fraco
Armory HD2012-2016Derivação determinística pré-BIP32
PRNGs LCG1990s-2010sglibc rand(), MINSTD, MSVC - apenas estado de 31-32 bits
PRNGs Xorshift2003-presenteV8/SpiderMonkey Math.random() - estado de 64-128 bits
Cadeias SHA2562010s-presenteDerivação determinística de chaves a partir de sementes fracas

Instalação

Cargo```bash

cargo install vuke

### Da fonte```bash
git clone https://github.com/oritwoen/vuke
cd vuke
cargo build --release

Uso

Gerar chave única a partir de frase secreta```bash

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

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

Varrer wordlist por endereços conhecidos```bash

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

### Provedores de Dados

Em vez de caminhos de arquivo, use referências de provedor para carregamento dinâmico de alvos:```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

Provider syntax: provider:collection:filter or provider:collection:id

Available collections (boha provider):

  • b1000 - Puzzle Bitcoin 1000 (256 puzzles, 1-256 bits)
  • gsmg - Puzzle GSMG
  • bitaps - Puzzle Bitaps
  • hash_collision - Puzzles de colisão de hash
  • zden - Puzzles Zden
  • bitimage - Puzzles Bitimage

Testar intervalo numérico (sementes fracas)```bash

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

### Testar chaves baseadas em LCG```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

Teste xorshift-based keys```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

### Testar chaves baseadas em timestamp```bash
vuke scan --transform=sha256 --targets addresses.txt timestamps --start 2015-01-01 --end 2015-01-31

Derivar chaves de arquivos (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últiplas transformações```bash
vuke scan --transform=sha256 --transform=double_sha256 --transform=md5 --targets addresses.txt wordlist --file words.txt

Pipe do stdin```bash

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

### Salvar resultados em arquivo```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

Armazenamento persistente (Parquet)

Armazena resultados no formato Parquet para análise em escala de TB (requer a funcionalidade 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 armazenados (SQL)

Consulte arquivos Parquet armazenados usando SQL (requer o recurso `storage-query`):```bash
# Build with query support
cargo build --release --features storage-query

# Count results by transform
vuke query ./results "SELECT transform, COUNT(*) FROM results GROUP BY transform"
Baixar ferramenta