Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
vuke — Strumento di ricerca per lo studio della generazione vulnerabile di chiavi crittografiche (brainwallet, PRNG, milksad, LCG, xorshift) | Kitploit
Strumenti/GitHubGitHub/oritwoen/vuke
Password CrackingAnalisi delle VulnerabilitàExploitInformatica ForenseCrittografiaPaper e RicercaApprendimento e Formazione
GitHuboritwoen/vuke

vuke

Strumento di ricerca per lo studio della generazione vulnerabile di chiavi crittografiche (brainwallet, PRNG, milksad, LCG, xorshift)

Vedi Repository
185146 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

vuke

Crates.io Downloads License Ask DeepWiki

Strumento di ricerca per analizzare e riprodurre la generazione vulnerabile di chiavi Bitcoin.

Caratteristiche

  • Architettura modulare - sorgenti e trasformazioni componibili
  • Molteplici sorgenti di input
    • Intervalli numerici (testa semi deboli)
    • Wordlist (analisi dei brainwallet)
    • Timestamp (sfruttamento di PRNG basati sul tempo)
    • Streaming da stdin (integrazione in pipeline)
  • Trasformazioni di vulnerabilità storiche
    • Diretta (byte grezzi come chiave)
    • SHA256 (brainwallet classico)
    • Doppia SHA256 (hashing stile Bitcoin)
    • MD5 (hashing debole legacy)
    • Catena SHA256 (derivazione deterministica iterata/indicizzata)
    • Milksad (MT19937 PRNG - CVE-2023-39910)
    • MultiBit HD (bug del seme come entropia)
    • Electrum pre-BIP39 (derivazione deterministica 2011-2014)
    • Armory (derivazione HD legacy)
  • Analisi dell'origine della chiave - rilevamento inverso di metodi di generazione vulnerabili
  • Elaborazione parallela tramite Rayon
  • Corrispondenza degli indirizzi per la scansione di target noti
  • Output su file per salvare i risultati
  • Archiviazione cloud - upload asincrono verso S3/R2/MinIO
  • Implementazione in puro Rust

Perché Questo Progetto?

Questo strumento è progettato per la ricerca sulla sicurezza - comprendere come venivano generate le chiavi vulnerabili in passato aiuta a migliorare la sicurezza dei portafogli moderni.

Vulnerabilità storiche che questo strumento può riprodurre:

VulnerabilitàAnnoImpatto
Brainwallet2011-2015SHA256(passphrase) facilmente decifrata
PRNG deboli2013-2023Semi prevedibili (timestamp, PID)
Milksad2023libbitcoin bx usava MT19937 con semi a 32 bit
MultiBit HD2014-2016Seme BIP39 da 64 byte usato come entropia
Electrum pre-BIP392011-2014Derivazione deterministica personalizzata con stretching debole
Armory HD2012-2016Derivazione deterministica pre-BIP32
PRNG LCG1990s-2010sglibc rand(), MINSTD, MSVC - solo stato a 31-32 bit
PRNG Xorshift2003-oggiV8/SpiderMonkey Math.random() - stato a 64-128 bit
Catene SHA2562010-oggiDerivazione deterministica di chiavi da semi deboli

Installazione

Cargo```bash

cargo install vuke

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

Utilizzo

Genera una singola chiave dalla passphrase```bash

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

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

Scansiona la wordlist per indirizzi noti```bash

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

### Provider di dati

Invece dei percorsi dei file, utilizza riferimenti ai provider per il caricamento dinamico del target:```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

Sintassi del provider: provider:collection:filter o provider:collection:id

Collezioni disponibili (provider boha):

  • b1000 - Puzzle Bitcoin 1000 (256 puzzle, 1-256 bit)
  • gsmg - Puzzle GSMG
  • bitaps - Puzzle Bitaps
  • hash_collision - Puzzle collisione hash
  • zden - Puzzle Zden
  • bitimage - Puzzle Bitimage

Testa intervallo numerico (semi deboli)```bash

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

### Test delle chiavi basate su 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

Test delle chiavi basate su 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

### Test delle chiavi basate su timestamp```bash
vuke scan --transform=sha256 --targets addresses.txt timestamps --start 2015-01-01 --end 2015-01-31

Derivare chiavi da file (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/

### Trasformazioni multiple```bash
vuke scan --transform=sha256 --transform=double_sha256 --transform=md5 --targets addresses.txt wordlist --file words.txt

Pipe da stdin```bash

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

### Salva i risultati in un file```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

Archiviazione persistente (Parquet)

Memorizza i risultati in formato Parquet per analisi su scala TB (richiede la funzionalità 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

### Esegui query sui risultati memorizzati (SQL)

Esegui query sui file Parquet memorizzati usando SQL (richiede la funzionalità `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"
Scarica lo strumento