بُني بـ ❤️ لمجتمع أبحاث العملات الرقمية.
# 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 - بيتكوين فقط
========================================
الوصف:
تستغل هذه الأداة الثغرة CVE-2023-31290 (Milk Sad) في libbitcoin-explorer.
تستخدم الثغرة مولد Mersenne Twister PRNG مع بذرة بزمن 32 بت.
توليد كلمات BIP39 بـ 12 و24 كلمة من كل بذرة 32 بت.
اشتقاق عناوين بيتكوين (P2PKH، P2SH، SegWit الأصلي).
التحقق مقابل فهرس ببادئة 24 بت مبني مسبقًا للعناوين المعروفة.
متعدد الخيوط مع إدخال/إخراج ملفات معينة بالذاكرة - حتى 150,000 بذرة/ثانية.
أنواع العناوين المدعومة:
- P2PKH التقليدي (1...)
- P2SH (3...)
- SegWit الأصلي (bc1...)
مسارات الاشتقاق:
m/44'/0'/0'/0/0 → P2PKH (1...)
m/49'/0'/0'/0/0 → P2SH (3...)
m/84'/0'/0'/0/0 → 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
هام:
إذا تم العثور على عنوان بيتكوين، تحقق من نفس الكلمات للعملات التالية:
Litecoin (LTC)، Dogecoin (DOGE)، Dash (DASH)،
Zcash (ZEC)، Bitcoin Cash (BCH) وغيرها.
تستخدم نفس هاش RIPEMD-160 مع إصدارات عناوين مختلفة.
========================================
ماسح CVE-2023-31290 - إيثيريوم فقط
========================================
الوصف:
نفس الثغرة CVE-2023-31290 لكن تستهدف عناوين إيثيريوم.
توليد كلمات BIP39 بـ 12 و24 كلمة من بذور 32 بت.
اشتقاق عناوين إيثيريوم باستخدام منحنى SECP256K1 وهاش Keccak-256.
التحقق مقابل فهرس مبني مسبقًا للعناوين ذات الأرصدة.
متعدد الخيوط بالكامل ومحسّن للمسح عالي السرعة.
نوع العنوان المدعوم:
- عناوين إيثيريوم (0x...)
مسارات الاشتقاق:
m/44'/60'/0'/0/0 ... m/44'/60'/0'/0/9 → معيار إيثيريوم
التجميع:
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
هام:
إذا تم العثور على عنوان إيثيريوم، تحقق من نفس الكلمات للعملات التالية:
BNB Smart Chain، Polygon، Avalanche C-Chain،
Arbitrum، Optimism وغيرها من السلاسل المتوافقة مع EVM.
تستخدم نفس مسار الاشتقاق ونفس تنسيق العناوين.
========================================
كلا الماسحين - معلومات إضافية
========================================
إذا تم العثور على بيتكوين → تحقق أيضًا من: LTC، DOGE، DASH، ZEC، BCH
إذا تم العثور على إيثيريوم → تحقق أيضًا من: BNB، MATIC، AVAX، ARB، OP
السبب: نفس جملة البذرة استُخدمت عبر عدة سلاسل بلوكشين
خلال الحقبة الضعيفة (2015-2018).
الملفات المطلوبة:
- bip39.txt (قائمة كلمات BIP39)
- hex160.bin (ملف ثنائي بهاشات RIPEMD-160 بحجم 20 بايت)
========================================
========================================
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)
========================================