Construído com ❤️ para a comunidade de pesquisa em criptomoedas.
Como carteiras vulneráveis frequentemente geravam endereços para múltiplas redes usando a mesma semente:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y build-essential cmake git
sudo apt-get install -y libssl-dev libsecp256k1-dev
========================================
CVE-2023-31290 Scanner - BITCOIN ONLY
========================================
DESCRIPTION:
This tool exploits the vulnerability CVE-2023-31290 (Milk Sad) in libbitcoin-explorer.
The vulnerability uses Mersenne Twister PRNG seeded with 32-bit timestamp.
Generates 12-word and 24-word BIP39 mnemonics from each 32-bit seed.
Derives Bitcoin addresses (P2PKH, P2SH, Native SegWit).
Checks against pre-built 24-bit prefix index of known addresses.
Multi-threaded with memory-mapped I/O - up to 150,000 seeds/second.
SUPPORTED ADDRESS TYPES:
- Legacy P2PKH (1...)
- P2SH (3...)
- Native SegWit (bc1...)
DERIVATION PATHS:
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...)
COMPILATION:
g++ -std=c++17 -O3 -pthread -o scan_btc scan_btc.cpp -lssl -lcrypto -lsecp256k1
USAGE:
./scan_btc --demo 12345
./scan_btc hex160.bin 0 1000000
IMPORTANT:
If Bitcoin address found, check same mnemonic for:
Litecoin (LTC), Dogecoin (DOGE), Dash (DASH),
Zcash (ZEC), Bitcoin Cash (BCH) and others.
They use the SAME RIPEMD-160 hash with different address versions.
========================================
CVE-2023-31290 Scanner - ETHEREUM ONLY
========================================
DESCRIPTION:
Same CVE-2023-31290 vulnerability but targets Ethereum addresses.
Generates 12-word and 24-word BIP39 mnemonics from 32-bit seeds.
Derives Ethereum addresses using SECP256K1 curve and Keccak-256 hashing.
Checks against pre-built index of addresses with balances.
Fully multi-threaded and optimized for high-speed scanning.
SUPPORTED ADDRESS TYPE:
- Ethereum addresses (0x...)
DERIVATION PATHS:
m/44'/60'/0'/0/0 ... m/44'/60'/0'/0/9 → Ethereum standard
COMPILATION:
g++ -std=c++17 -O3 -pthread -o scan_eth scan_eth.cpp -lssl -lcrypto -lsecp256k1
USAGE:
./scan_eth --demo 12345
./scan_eth hex160.bin 0 1000000
IMPORTANT:
If Ethereum address found, check same mnemonic for:
BNB Smart Chain, Polygon, Avalanche C-Chain,
Arbitrum, Optimism and other EVM-compatible chains.
They use the SAME derivation path and address format.
========================================
BOTH SCANNERS - ADDITIONAL INFO
========================================
If Bitcoin found → also check: LTC, DOGE, DASH, ZEC, BCH
If Ethereum found → also check: BNB, MATIC, AVAX, ARB, OP
REASON: Same seed phrase used across multiple blockchains
during the vulnerable era (2015-2018).
REQUIRED FILES:
- bip39.txt (BIP39 wordlist)
- hex160.bin (binary file with 20-byte RIPEMD-160 hashes)
========================================
========================================
CVE-2023-31290 Сканер - ТОЛЬКО BITCOIN
========================================
ОПИСАНИЕ:
Этот инструмент эксплуатирует уязвимость CVE-2023-31290 (Milk Sad) в библиотеке libbitcoin-explorer.
Уязвимость использует генератор Mersenne Twister с 32-битной меткой времени.
Генерирует мнемонические фразы BIP39 из 12 и 24 слов для каждого 32-битного сида.
Вычисляет адреса Bitcoin (P2PKH, P2SH, Native SegWit).
Проверяет по предварительно построенному 24-битному префиксному индексу.
Многопоточный с отображением файлов в память - до 150,000 сидов/секунду.
ПОДДЕРЖИВАЕМЫЕ ТИПЫ АДРЕСОВ:
- Legacy P2PKH (начинающиеся с 1...)
- P2SH (начинающиеся с 3...)
- Native SegWit (начинающиеся с bc1...)
ПУТИ ДЕРИВАЦИИ:
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
========================================
ОПИСАНИЕ:
Та же уязвимость CVE-2023-31290, но ориентирована на адреса Ethereum.
Генерирует мнемонические фразы BIP39 из 12 и 24 слов на основе 32-битных сидов.
Вычисляет адреса Ethereum с использованием кривой SECP256K1 и хеша Keccak-256.
Проверяет по предварительно построенному индексу адресов с балансами.
Полностью многопоточный и оптимизированный для высокоскоростного сканирования.
ПОДДЕРЖИВАЕМЫЙ ТИП АДРЕСА:
- Адреса Ethereum (начинающиеся с 0x...)
ПУТИ ДЕРИВАЦИИ:
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).
НЕОБХОДИМЫЕ ФАЙЛЫ:
- bip39.txt (список слов BIP39)
- hex160.bin (бинарный файл с 20-байтовыми хешами RIPEMD-160)
========================================