Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core
В этой статье мы воспользуемся классификацией распространенных шаблонов атак из ресурса кибербезопасности [CAPEC™]. В первые об “Padding Oracle Attack” на Wallet.dat заговорили в далеком 2012 году (на платформе по управления уязвимостями и анализа угроз “VulDB”). Проблема самого популярного кошелька Bitcoin Core влияет на работу AES Encryption Padding в файле Wallet.dat
Технические подробности данной атаки известны:
Перейдем к практической части и выполним ряд действии через эксплойт, чтобы в процессе заполнить оракул в файле Wallet.dat и в конечном итоге найти необходимый нам пароль в бинарном формате.
Раннее исследователи и участники турнира CTF выложили в публичный доступ взломанный [ wallet.dat 2023 года] Биткоин Кошелек: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b на сумму: 44502.42 долларов США // БИТКОИН: 1.17461256 BTC
Перейдем по ссылке на releases Bitcoin Core version 22.1
Index of /bin/bitcoin-core-22.1/
Установить Bitcoin Core version 22.1
ОБЯЗАТЕЛЬНО! Перезагрузите программу QT // Запустите обратно Bitcoin Core
Проверим через команду getaddressinfo Биткоин Кошелек: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b
Запустим команду:
Результат:
Запустим команду dumpprivkey для получения приватного ключа к Биткоин Кошельку: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b
Запустим команду:
Результат:
Запустим Padding Oracle Attack на Wallet.dat и расшифруем пароль в бинарный формат, для этого нам понадобится установить репозитории Bitcoin Core integration/staging tree для этого вы можете открыть готовый файл от Jupyter Notebook и загрузить в блокнот Google Colab )
Откроем сервис Google Colab по ссылке: https://colab.research.google.com
Установим Ruby в Google Colab
Для запуска необходимых нам программ установим объектно-ориентированный язык программирования Ruby
Проверим версию установки
Установим Metasploit Framework и воспользуемся MSFVenom
Установим Metasploit Framework из GitHub и воспользуемся инструментом MSFVenom для создания полезной нагрузки.
Опции:
Установим Bitcoin Core integration/staging tree в Google Colab:
Перейдем по каталогу к файлу: aes.cpp для интеграции эксплойта для запуска Padding Oracle Attack на Wallet.dat
Откроем файл: aes.cpp через утилиту cat
Для проведения атаки загрузим файл: wallet.dat в каталог: bitcoin/src/crypto/
Воспользуемся утилитой wget и скачаем wallet.dat из репозиториев 27PaddingOracleAttackonWalletdat
Проверим содержимое каталога: bitcoin/src/crypto/
Загрузим "ExploitDarlenePRO" по каталогу: /modules/exploits/
Нам необходимо определить наш LHOST (Local Host) наш IP-address атакующей виртуальной машины.
Запустим команды:
Воспользуемся инструментом для создания полезной нагрузки MSFVenom
Для эксплуатации выбираем Биткоин Кошелек: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b
Команда запуска:
Результат:
Полученный бинарный формат нам необходимо сохранить в файл: walletpassphrase.txt воспользуемся Python-скриптом.
Команда:
Откроем файл: walletpassphrase.txt
Результат:
Команды:
Результат:
Запустим код для проверки соответствие Биткоин Адреса:
Откроем bitaddress и проверим:
References:
- [1] Practical Padding Oracle Attacks (Juliano Rizzo Thai Duong) [2010]
- [2] Efficient Padding Oracle Attacks on Cryptographic Hardware (Romain Bardou, Riccardo Focardi, Yusuke Kawamoto, Lorenzo Simionato, Graham Steel, Joe-Kai Tsay)
- [3] Security Flaws Induced by CBC Padding Applications to SSL, IPSEC, WTLS… (Serge Vaudenay)
- [4] Padding Oracle Attack on PKCS#1 v1.5: Can Non-standard Implementation Act as a Shelter (Si Gao, Hua Chen, and Limin Fan)
- [5] Attacks and Defenses (Dr. Falko Strenzke) [2020]
- [6] CBC padding oracle attacks [2023]
- [7] Fun with Padding Oracles (Justin Clarke) [OWASP London Chapter]
- [8] Practical Padding Oracle Attacks on RSA (Riccardo Focardi)
- [9] The Padding Oracle Attack (Fionn Fitzmaurice) [2018]
- [10] Exploiting CBC Padding Oracles Eli Sohl [2021]
- [11] Partitioning Oracle Attacks (Julia Len, Paul Grubbs, Thomas Ristenpart) [Cornell Tech]
- [12] Padding and CBC Mode (David Wagner and Bruce Schneider) [1997]
- [13] Padding Oracle Attacks (methodology)
- [14] Padding Oracle Attack (Introduction Packet Encryption Mode CTF Events)
Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.
Комментарий удален модератором
Комментарий удален автором поста