
CVE-2023-31290 Scanner
DONA: bc1qps62cyk9f9unmdkc9k3ccj9e2h8ywfhg2j53ec
Costruito con ❤️ per la comunità di ricerca crypto.
Questo strumento sfrutta la vulnerabilità CVE-2023-31290 (nota anche come "Milk Sad") nella libreria libbitcoin-explorer. La vulnerabilità deriva dall'uso di un PRNG Mersenne Twister seedato con un timestamp a 32 bit, permettendo agli attaccanti di forzare brute-force tutti i possibili 2^32 (≈4,29 miliardi) di seed e recuperare le chiavi private da wallet vulnerabili.
| Tipo | Prefisso | Percorso | Esempio di indirizzo |
|---|---|---|---|
| Ethereum | 0x... | m/44'/60'/0'/0/0-9 | 0x742d35Cc6634C0532925a3b844Bc454e4438f44e |
Poiché i wallet vulnerabili spesso generavano indirizzi per più reti usando lo stesso seed:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y build-essential cmake git
sudo apt-get install -y libssl-dev libsecp256k1-dev
DESCRIZIONE: Questo strumento sfrutta la vulnerabilità CVE-2023-31290 (Milk Sad) in libbitcoin-explorer. La vulnerabilità utilizza il PRNG Mersenne Twister seedato con timestamp a 32 bit. Genera mnemonici BIP39 a 12 e 24 parole da ogni seed a 32 bit. Deriva indirizzi Bitcoin (P2PKH, P2SH, SegWit nativo). Verifica rispetto a un indice di prefisso a 24 bit pre-costruito di indirizzi noti. Multi-thread con I/O mappato in memoria - fino a 150.000 seed/secondo.
TIPI DI INDIRIZZO SUPPORTATI:
PERCORSI DI DERIVAZIONE: m/44'/0'/0'/0/0 → P2PKH (1...) m/49'/0'/0'/0/0 → P2SH (3...) m/84'/0'/0'/0/0 → SegWit nativo (bc1...)
COMPILAZIONE: g++ -std=c++17 -O3 -pthread -o scan_btc scan_btc.cpp -lssl -lcrypto -lsecp256k1
UTILIZZO: ./scan_btc --demo 12345 ./scan_btc hex160.bin 0 1000000
IMPORTANTE: Se viene trovato un indirizzo Bitcoin, controlla lo stesso mnemonico per: Litecoin (LTC), Dogecoin (DOGE), Dash (DASH), Zcash (ZEC), Bitcoin Cash (BCH) e altri. Usano lo STESSO hash RIPEMD-160 con versioni di indirizzo diverse.
DESCRIZIONE: La stessa vulnerabilità CVE-2023-31290 ma mirata agli indirizzi Ethereum. Genera mnemonici BIP39 a 12 e 24 parole da seed a 32 bit. Deriva indirizzi Ethereum usando la curva SECP256K1 e l'hash Keccak-256. Verifica rispetto a un indice pre-costruito di indirizzi con saldi. Completamente multi-thread e ottimizzato per scansione ad alta velocità.
TIPO DI INDIRIZZO SUPPORTATO:
PERCORSI DI DERIVAZIONE: m/44'/60'/0'/0/0 ... m/44'/60'/0'/0/9 → standard Ethereum
COMPILAZIONE: g++ -std=c++17 -O3 -pthread -o scan_eth scan_eth.cpp -lssl -lcrypto -lsecp256k1
UTILIZZO: ./scan_eth --demo 12345 ./scan_eth hex160.bin 0 1000000
IMPORTANTE: Se viene trovato un indirizzo Ethereum, controlla lo stesso mnemonico per: BNB Smart Chain, Polygon, Avalanche C-Chain, Arbitrum, Optimism e altre reti compatibili EVM. Usano lo STESSO percorso di derivazione e formato indirizzo.
Se trovato Bitcoin → controlla anche: LTC, DOGE, DASH, ZEC, BCH Se trovato Ethereum → controlla anche: BNB, MATIC, AVAX, ARB, OP
MOTIVO: La stessa frase seed è stata utilizzata su più blockchain durante l'era vulnerabile (2015-2018).
FILE RICHIESTI:
ОПИСАНИЕ: Этот инструмент эксплуатирует уязвимость CVE-2023-31290 (Milk Sad) в библиотеке libbitcoin-explorer. Уязвимость использует генератор Mersenne Twister с 32-битной меткой времени. Генерирует мнемонические фразы BIP39 из 12 и 24 слов для каждого 32-битного сида. Вычисляет адреса Bitcoin (P2PKH, P2SH, Native SegWit). Проверяет по предварительно построенному 24-битному префиксному индексу. Многопоточный с отображением файлов в память - до 150,000 сидов/секунду.
ПОДДЕРЖИВАЕМЫЕ ТИПЫ АДРЕСОВ:
ПУТИ ДЕРИВАЦИИ: m/44'/0'/0'/0/0 → P2PKH (1...) m/49'/0'/0'/0/0 → P2SH (3...) m/84'/0'/0'/0/0 → Native SegWit (bc1...)
КОМПИЛЯЦИЯ: g++ -std=c++17 -O3 -pthread -o scan_btc scan_btc.cpp -lssl -lcrypto -lsecp256k1
ИСПОЛЬЗОВАНИЕ: ./scan_btc --demo 12345 ./scan_btc hex160.bin 0 1000000
ВАЖНО: Если найден адрес Bitcoin, проверьте ту же мнемонику для: Litecoin (LTC), Dogecoin (DOGE), Dash (DASH), Zcash (ZEC), Bitcoin Cash (BCH) и других. Они используют ТОТ ЖЕ хеш RIPEMD-160 с разными версиями адресов.
ОПИСАНИЕ: Та же уязвимость CVE-2023-31290, но ориентирована на адреса Ethereum. Генерирует мнемонические фразы BIP39 из 12 и 24 слов на основе 32-битных сидов. Вычисляет адреса Ethereum с использованием кривой SECP256K1 и хеша Keccak-256. Проверяет по предварительно построенному индексу адресов с балансами. Полностью многопоточный и оптимизированный для высокоскоростного сканирования.
ПОДДЕРЖИВАЕМЫЙ ТИП АДРЕСА:
ПУТИ ДЕРИВАЦИИ: m/44'/60'/0'/0/0 ... m/44'/60'/0'/0/9 → стандартный Ethereum
КОМПИЛЯЦИЯ: g++ -std=c++17 -O3 -pthread -o scan_eth scan_eth.cpp -lssl -lcrypto -lsecp256k1
ИСПОЛЬЗОВАНИЕ: ./scan_eth --demo 12345 ./scan_eth hex160.bin 0 1000000
ВАЖНО: Если найден адрес Ethereum, проверьте ту же мнемонику для: BNB Smart Chain, Polygon, Avalanche C-Chain, Arbitrum, Optimism и других EVM-совместимых сетей. Они используют ТЕ ЖЕ пути деривации и тот же формат адресов.
Если найден Bitcoin → также проверьте: LTC, DOGE, DASH, ZEC, BCH Если найден Ethereum → также проверьте: BNB, MATIC, AVAX, ARB, OP
ПРИЧИНА: Одна и та же сид-фраза использовалась на нескольких блокчейнах в уязвимую эпоху (2015-2018).
НЕОБХОДИМЫЕ ФАЙЛЫ:
========================================
| Hardware | Seed/s | 24 parole/s | 12 parole/s |
|---|
| RTX 4090 | 150.000 | 38M | 11M |
| RTX 5090 | 250.000 | 63M | 16M |
| CPU (30 thread) | 150.000 | - | - |
| Tipo | Prefisso | Percorso | Esempio di indirizzo |
|---|
| P2PKH legacy | 1... | m/44'/0'/0'/0/0 | 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa |
| P2SH | 3... | m/49'/0'/0'/0/0 | 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy |
| SegWit nativo | bc1... | m/84'/0'/0'/0/0 | bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq |
| Moneta | Formato indirizzo | Byte di versione | Percorso |
|---|
| Litecoin (LTC) | L... / M... | 0x30 / 0x32 | m/44'/2'/0'/0/0 |
| Dogecoin (DOGE) | D... | 0x1E | m/44'/3'/0'/0/0 |
| Dash (DASH) | X... | 0x4C | m/44'/5'/0'/0/0 |
| Zcash (ZEC) | t1... / t3... | 0x1C | m/44'/133'/0'/0/0 |
| Bitcoin Cash (BCH) | 1... / 3... | 0x00 / 0x05 | m/44'/145'/0'/0/0 |
| Rete | Chain ID | Formato indirizzo |
|---|
| BNB Smart Chain | 56 | 0x... |
| Polygon | 137 | 0x... |
| Avalanche C-Chain | 43114 | 0x... |
| Arbitrum | 42161 | 0x... |
| Optimism | 10 | 0x... |