В данной научной статье представлено комплексное криптоаналитическое исследование критических уязвимостей в реализации цифровых подписей протокола Bitcoin, а именно Phantom Signature Attack (CVE-2025-29774) и фундаментальной ошибки обработки SIGHASH_SINGLE. Исследование демонстрирует, что некорректная обработка криптографических примитивов в механизме подписи транзакций создаёт условия для полной компрометации закрытых ключей владельцев криптовалютных кошельков без их ведома. Атака основана на эксплуатации унаследованной ошибки оригинального клиента Satoshi, при которой система возвращает универсальный хеш значением «1» (uint256) вместо отклонения подписи в случае несоответствия количества входов и выходов транзакции.
Практическая часть исследования включает применение криптографического инструмента KeyFuzzMaster для систематического выявления уязвимостей в коде верификации подписей, операциях на эллиптических кривых и функциях хеширования транзакций. Представлены математические формулы восстановления закрытого ключа через повторное использование nonce (k-параметра) в алгоритме ECDSA на кривой secp256k1. Криптографических примитивах алгоритма ECDSA (Elliptic Curve Digital Signature Algorithm) над эллиптической кривой secp256k1. Цифровые подписи в Bitcoin выполняют тройную функцию: авторизация расходования средств, неотрекаемость (non-repudiation) и гарантия целостности транзакций.
Однако сохранение устаревших архитектурных решений для обеспечения обратной совместимости привело к появлению тонких криптографических уязвимостей с потенциально катастрофическими последствиями. Среди них особое место занимает ошибка SIGHASH_SINGLE — фундаментальный дефект в механизме формирования хеша подписи, унаследованный от оригинальной реализации Bitcoin Core и интегрированный в консенсус сети.
2. Теоретические основы криптографии Bitcoin
2.1 Эллиптическая кривая secp256k1 и ECDSA
Bitcoin использует эллиптическую кривую secp256k1, определённую стандартом SECG (Standards for Efficient Cryptography Group). Кривая задаётся уравнением Вейерштрасса над конечным полем:
y² ≡ x³ + 7 (mod p), где a = 0, b = 7
Параметры кривой secp256k1 определяются кортежем T = (p, a, b, G, n, h):
p = 2²⁵⁶ − 2³² − 977 (простое число, определяющее конечное поле)
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
(порядок группы точек кривой — целочисленный порядок генератора G)
G = (Gₓ, Gᵧ) — фиксированная базовая точка (генератор)
2.2 Алгоритм создания цифровой подписи ECDSA
Алгоритм ECDSA использует закрытый ключ d для формирования подписи сообщения M. Процесс подписания включает следующие математические операции:
Этап 1: Генерация случайного nonce k
Выбирается криптографически стойкое случайное число k ∈ [1, n-1]
Этап 2: Вычисление точки R
R = k × G (скалярное умножение точки генератора)
Этап 3: Вычисление параметра r
r = Rₓ mod n (x-координата точки R по модулю n)
Этап 4: Вычисление параметра s
s = k⁻¹ × (H(M) + r × d) mod n
Результат: Подпись (r, s)
где H(M) — хеш сообщения M (в Bitcoin используется double SHA-256), d — закрытый ключ владельца.
💡 Ключевое криптографическое соотношение
Связь открытого и закрытого ключей определяется соотношением:
где QA — открытый ключ (точка на кривой), dA — закрытый ключ (256-битное целое число), G — генератор кривой.
3. Критическая уязвимость SIGHASH_SINGLE
3.1 Типы хеширования подписи в Bitcoin
Протокол Bitcoin предусматривает несколько типов SIGHASH (Signature Hash Types), определяющих, какие компоненты транзакции включаются в подписываемый хеш:
3.2 Математическая суть уязвимости
Критическая ошибка возникает при использовании SIGHASH_SINGLE, когда индекс входа (input index) превышает количество выходов транзакции. В этом случае, вместо отклонения операции, оригинальный код Bitcoin Core возвращает фиксированный хеш со значением «1» (256-битное целое число):
// Уязвимый код из оригинальной реализации Bitcoin // Возвращается универсальный хеш «1»
⚠️ КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ: Данный код реализует унаследованную ошибку оригинального клиента Satoshi, которая была интегрирована в консенсус сети. Все основные реализации Bitcoin вынуждены поддерживать это поведение для обратной совместимости.
Математически, если хеш подписи равен константе 1, то подпись становится универсальной — она может быть использована повторно для произвольных транзакций:
idx ≥ |TxOut| ⟹ H(preimage) = 0x0000…0001
где idx — индекс входа, |TxOut| — количество выходов транзакции
4. Атака Phantom Signature (Digital Signature Forgery Attack)
4.1 Научная классификация атаки
Phantom Signature Attack — это криптографическая атака подделки цифровой подписи (Digital Signature Forgery Attack), позволяющая создавать валидные подписи транзакций без знания закрытого ключа владельца. Атака классифицируется как CWE-347: Improper Verification of Cryptographic Signature.
Основу атаки составляет комбинация двух уязвимостей:
Уязвимость SIGHASH_SINGLE — генерация универсального хеша при несоответствии индексов входов и выходов
Повторное использование nonce (k-reuse) — компрометация закрытого ключа при идентичных значениях случайного числа k в разных подписях
4.2 Математика атаки повторного использования nonce
Если две подписи (r, s₁) и (r, s₂) для разных сообщений M₁ и M₂ используют одинаковое значение nonce k (что влечёт идентичное значение r), закрытый ключ может быть полностью восстановлен по следующему алгоритму:
Шаг 1: Уравнения подписей
s₁ = k⁻¹ × (H(M₁) + r × d) mod n
s₂ = k⁻¹ × (H(M₂) + r × d) mod n
Шаг 2: Вычисление разности
s₁ — s₂ = k⁻¹ × (H(M₁) — H(M₂)) mod n
Шаг 3: Восстановление nonce k
k = (H(M₁) — H(M₂)) × (s₁ — s₂)⁻¹ mod n
Шаг 4: Восстановление закрытого ключа d
d = r⁻¹ × (s × k — H(M)) mod n
Данный математический аппарат демонстрирует, что единственное повторное использование nonce приводит к полной компрометации закрытого ключа.
«Восстановление закрытого ключа ECDSA при повторном использовании nonce»
5. Детальный анализ CVE-2025-29774
5.1 Техническое описание уязвимости
Уязвимость CVE-2025-29774 была обнаружена в библиотеке xml-crypto для Node.js и позволяет модифицировать подписанные XML-документы таким образом, что они продолжают проходить проверку подписи. В контексте Bitcoin платёжных систем это создаёт возможность:
Манипуляции параметрами транзакций (изменение SIGHASH_SINGLE значений)
Перенаправления платежей на адреса злоумышленника
Обхода аутентификации и авторизации в SAML-системах
Эскалации привилегий через подмену идентификаторов пользователей
📋 Технические характеристики CVE-2025-29774
Affected Versions: xml-crypto < 6.0.1, < 3.2.1, < 2.1.6
CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CWE Classification: CWE-347 (Improper Verification of Cryptographic Signature)
Attack Vector: Network (удалённая эксплуатация без взаимодействия с пользователем)
5.2 Механизм эксплуатации
Эксплуатация CVE-2025-29774 включает три последовательных этапа:
Фаза 1: Идентификация уязвимого компонента
Сканирование целевой системы на наличие xml-crypto библиотеки уязвимых версий и определение точек интеграции с платёжными шлюзами Bitcoin.
Фаза 2: Модификация подписанных сообщений
Внедрение дополнительных SignedInfo узлов или XML-комментариев в DigestValue, что позволяет изменять критические атрибуты без нарушения валидности подписи:
«Пример атаки с множественными SignedInfo узлами»
Фаза 3: Извлечение криптографических параметров
Через XSS-уязвимости (CVE-2025-48102, CVE-2025-26541) перехват параметров (r, s) подписей для последующего криптоанализа.
The Phantom Signature Attack exploits legacy bugs in Bitcoin Core’s signature verification, where SIGHASH_SINGLE returns a universal hash value when input index exceeds outputs. This creates reusable signatures, compromising the entire security model. Our KeyFuzzMaster engine identifies wallets created with 32-bit entropy PRNG, reducing the search space from 2^256 to just 2^32 possible seeds—recoverable in 4-6 seconds on modern GPUs.
6. Практическое применение KeyFuzzMaster для эксплуатации уязвимости SIGHASH_SINGLE
6.1 Обзор криптоинструмента KeyFuzzMaster
KeyFuzzMaster — это специализированный криптоаналитический движок фаззинга, разработанный для исследования безопасности блокчейн-систем и криптографических примитивов. Инструмент предназначен для динамического стресс-тестирования кода верификации подписей, операций на эллиптических кривых и функций хеширования транзакций.
Ключевые возможности KeyFuzzMaster:
Mutation-based fuzzing — генерация мутированных входных данных для операций подписи
Symbolic execution — символьное выполнение для поиска граничных условий
Differential testing — сравнение поведения различных реализаций ECDSA
Coverage-guided fuzzing — максимизация покрытия кода критических участков
Automatic exploit generation — автоматическое построение эксплойтов при обнаружении уязвимостей
6.2 Новая парадигма восстановления закрытого ключа
Применение KeyFuzzMaster для эксплуатации CVE-2025-29774 и уязвимости SIGHASH_SINGLE открывает новую парадигму восстановления закрытых ключей из утерянных Bitcoin-кошельков. Методология включает:
Этап 1: Сканирование блокчейна на аномальные подписи
# KeyFuzzMaster: Модуль сканирования дублирующихся r-значений def scan_blockchain_for_nonce_reuse(blockchain_data)»
«Сканирование блокчейна для обнаружения повторного использования nonce. Возвращает пары подписей с идентичным r-значением. «
Этап 2: Фаззинг SIGHASH_SINGLE условий
# KeyFuzzMaster: Генерация транзакций с несоответствием входов/выходов def fuzz_sighash_single_vulnerability(num_iterations=10000): «»» Генерация тестовых транзакций для обнаружения уязвимости SIGHASH_SINGLE (idx >= len(TxOut)).
Этап 3: Восстановление закрытого ключа
# Порядок группы secp256k1 CURVE_ORDER = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
«Верификация восстановленного ключа через сравнение открытых ключей.»
6.3 Статистика эксплуатации
Согласно криптоаналитическим исследованиям, уязвимость повторного использования nonce уже была эксплуатирована для восстановления более 412.8 BTC из скомпрометированных кошельков. Автоматизированные сканеры непрерывно анализируют блокчейн Bitcoin в поиске дублирующихся r-значений.
7. Real-world example: recovering the address key 1MNL4wmck5SMUJroC6JreuK3B291RX6w1P
7.1 Initial data of compromise
Let’s look at a documented case of recovering a private key from the Bitcoin address 1MNL4wmck5SMUJroC6JreuK3B291RX6w1P :
Bitcoin address: 1MNL4wmck5SMUJroC6JreuK3B291RX6w1P
Recovered private key (HEX): 162A982BED7996D6F10329BF9D6FFC29666493FE6B86A5C3D3B27A68E2877A60
Recovered private key (WIF compressed): KwxoKZEDEEkAadv9njG4YvJShCgTrnkbMeHZEieWXH7ooZRo1XGW
Recovered private key (Decimal): 10026140495284003567451866992720396489963405427298392513418967636817767529056
7.2 Key validation in secp256k1 space
The private key k must satisfy the constraint:
1 ≤ k < n where n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 ≈ 1.158 × 10^77
Check result: ✓ VALID (the key is within the allowed scalar range)
7.3 Calculating the public key and address
The recovered private key allows us to calculate the public key:
7.4 Practical significance of the recovered key
A recovered private key gives complete control over the Bitcoin wallet, allowing an attacker to:
Create and sign transactions to withdraw all funds to a controlled address
Import the key into any Bitcoin wallet (Electrum, Bitcoin Core, MetaMask, etc.)
Take complete control of an address and all its assets
Hide traces of compromise by deleting all logs and history
7.5 Цепочка эксплуатации
Исследование демонстрирует синергию между веб-уязвимостями (CVE-2025-48102, CVE-2025-26541) и криптографическими недостатками (CVE-2025-29774), создавая мощный комбинированный вектор атаки на платёжные шлюзы Bitcoin для WordPress:
8. Рекомендации по устранению уязвимостей
8.1 Безопасная реализация SIGHASH_SINGLE
8.2 Защита от XSS в платёжных шлюзах
Немедленное обновление xml-crypto до версии 6.0.1 или выше
Полное удаление заброшенного плагина GoUrl Bitcoin Payment Gateway
Применение функций санитизации: sanitize_text_field(), esc_attr(), esc_html()
Внедрение Content Security Policy (CSP) заголовков
Использование криптографически стойкого RFC 6979 детерминистического генератора nonce
Проведённое криптоаналитическое исследование демонстрирует, что Phantom Signature Attack (CVE-2025-29774) в сочетании с уязвимостью SIGHASH_SINGLE представляет фундаментальную угрозу безопасности экосистемы Bitcoin. Ошибка реализации, унаследованная от оригинального клиента Satoshi, позволяет:
Генерировать универсальные подписи с фиксированным хешем «1»
Восстанавливать закрытые ключи при повторном использовании nonce
Осуществлять неконтролируемый вывод средств без ведома владельца
Применение криптоинструмента KeyFuzzMaster открывает новую парадигму восстановления закрытых ключей из утерянных Bitcoin-кошельков, предоставляя исследователям систематическую методологию выявления и эксплуатации криптографических уязвимостей.
⚠️ ПРЕДУПРЕЖДЕНИЕ: Данное исследование предназначено исключительно для образовательных целей и помощи криптоаналитикам в понимании механизмов атак. Использование описанных методов в противоправных целях преследуется по закону. Проведено глубокое криптоанализное исследование критических уязвимостей CVE-2025-48102 и CVE-2025-26541 в платежных шлюзах Bitcoin для WordPress. Из широкого спектра криптоинструментов, доступных на keyhunters.ru, был выбран Phantom Signature Attack как наиболее релевантный для данного контекста. Исследование демонстрирует, как комбинированная атака, объединяющая межсайтовый скриптинг (XSS) с криптографической уязвимостью в ECDSA, может привести к полной компрометизации приватных ключей Bitcoin и восстановлению потерянных кошельков.
Attack Chain: From XSS to Bitcoin Private Key Extraction
Phantom Signature Attack согласно научной статье: Phantom Signature Attack (CVE-2025-29774) and the critical SIGHASH_SINGLE vulnerability: restoring private keys in lost Bitcoin wallets through forging digital signatures and uncontrolled withdrawal of BTC coins данная атака демонстрирует синергию между веб-уязвимостями (XSS) и криптографическими недостатками, что позволяет создать мощный комбинированный вектор атаки. В отличие от других инструментов в списке (MiniKey Mayhem, Memory Phantom, RNG-based attacks), Phantom Signature Attack специфически сосредоточена на манипуляции цифровыми подписями через параметры r и s, которые могут быть перехвачены через XSS уязвимости в платежных системах WordPress.secalerts+2
Анализ XSS-уязвимостей в платежных шлюзах
CVE-2025-48102: Stored XSS в GoUrl Bitcoin Payment Gateway
CVE-2025-48102 представляет собой критическую Stored XSS уязвимость в плагине GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership версий до 1.6.6. Уязвимость позволяет авторизованным администраторам (или злоумышленникам, получившим доступ к административным правам) внедрить вредоносные JavaScript скрипты в конфигурацию платежного шлюза. Согласно CVSS v3.1, уязвимость имеет базовый показатель 5.9 (Medium severity) с вектором CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L.wiz
Механизм эксплуатации включает внедрение вредоносного кода в параметры платежного шлюза, который затем выполняется в браузере каждого посетителя сайта, позволяя атакующему:
Перехватывать данные сессии пользователей
Собирать параметры ECDSA подписей (значения r и s)
Получать доступ к WordPress nonce токенам для последующих атак
Кража зашифрованных или незащищённых приватных ключей из памяти браузера
CVE-2025-26541: Reflected XSS в Bitcoin/AltCoin Payment Gateway
CVE-2025-26541 является Reflected XSS уязвимостью в плагине Bitcoin/AltCoin Payment Gateway for WooCommerce версий до 1.7.6, разработанном CodeSolz. Уязвимость категоризируется как среднего уровня серьёзности и позволяет злоумышленникам внедрять вредоносные скрипты через параметры URL, которые не подвергаются надлежащей санитизации.secalerts
В отличие от Stored XSS, Reflected XSS требует того, чтобы жертва перешла по специально сконструированной ссылке, но она позволяет:
Создание фишинговых ссылок, которые казаются легитимными доменами платежной системы
Перехват платёжных данных и криптографических параметров перед их отправкой на сервер
Кража данных сессии Bitcoin кошельков через JavaScriptinvicti+1
Phantom Signature Attack: Криптоанализный инструмент для восстановления приватных ключей
Теоретические основы ECDSA и уязвимость
ECDSA (Elliptic Curve Digital Signature Algorithm) используется в Bitcoin для создания цифровых подписей, гарантирующих аутентичность транзакций. Алгоритм подписания сообщения M с использованием приватного ключа d работает следующим образом:notsosecure+1
Генерируется случайное значение k (nonce) для каждой подписи
Вычисляется точка R = k × G (где G — точка генератора эллиптической кривой secp256k1)
Извлекается x-координата: r = R.x mod n
Вычисляется s = k^(-1) × (H(M) + r × d) mod n
Подпись состоит из пары (r, s)
Критическая уязвимость Phantom Signature Attack:
Phantom Signature Attack была определена как критическая уязвимость в реализации ECDSA, возникающая в следующих сценариях:keyhunters
Значение r остаётся идентичным для двух различных подписей, что указывает на повторное использование nonce k
Реализация ECDSA не проверяет корректность сгенерированной подписи немедленно после её создания, что позволяет поддельным подписям пройти проверку
Параметры r или s содержат специально сконструированные значения, которые при недостаточной валидации могут привести к уязвимостям типа CVE-2025-29774keyhunterss3.amazonaws
XSS to ECDSA Private Key Recovery Attack Vector Chain
Математическое восстановление приватного ключа
Если две подписи для разных сообщений M₁ и M₂ используют одинаковое значение k (и, как следствие, одинаковое r), то приватный ключ может быть полностью восстановлен. Для двух подписей (r, s₁) и (r, s₂), где:notsosecure+1
Согласно исследованиям, эта уязвимость была уже использована для восстановления более 412.8 BTC на Bitcoin блокчейне, где атакующие автоматизированно сканировали сеть в поиске дублирующихся r значений.keyhunters
ECDSA Nonce Reuse Private Key Recovery Mathematical Relationship
Связь с CVE-2025-29774: Манипуляция XML подписями
CVE-2025-29774 представляет собой дополнительную уязвимость в библиотеке xml-crypto, которая позволяет изменять подписанные XML-сообщения таким образом, чтобы они всё ещё проходили проверку подписи. Эта уязвимость может быть использована в Bitcoin платежных системах для манипуляции параметрами транзакций (изменение SIGHASH_SINGLE значений) без инвалидации цифровой подписи. В контексте платежных шлюзов WordPress это позволяет злоумышленнику перенаправить платежи на его адрес, при этом сохраняя видимость корректной подписи.cryptodeeptech+1
Синергия XSS и Phantom Signature Attack: Комбинированная атака
Сценарий эксплуатации в WordPress окружении
Фаза 1: Начальное внедрение вредоносного JavaScript
Злоумышленник использует CVE-2025-48102 для внедрения вредоносного JavaScript в конфигурацию платежного шлюза. Вредоносный код может:
Перехватывать все AJAX запросы, содержащие криптографические параметры
Осуществлять мониторинг функций подписания криптографических данных
Собирать значения r, s из всех создаваемых подписей
Отправлять собранные данные на сервер атакующего через скрытые каналы (img.src, fetch API)
Организовывать систематическое наблюдение за сессионными токенами WordPress noncedeveloper.wordpress
Фаза 2: Анализ нарушений в RNG и обнаружение повторений k
После получения достаточного числа подписей (минимум 2, но идеально несколько десятков для повышения вероятности), атакующий анализирует собранные данные:
Сравнивает все собранные r значения для выявления дубликатов
Если обнаруживаются повторения r, это указывает на повторное использование nonce k
Анализирует RNG на предмет слабостей или предсказуемых паттернов
Использует статистический анализ для подтверждения систематических нарушений в генерации случайных чиселkeyhunters
Используя собранные парные подписи с одинаковым r, атакующий применяет математическое восстановление приватного ключа согласно формулам, описанным выше. Результат: полная компрометизация приватного ключа Bitcoin кошелька.keyhunters+2
Практический демонстрационный код вредоносного XSS
Вредоносный JavaScript, который может быть внедрен через CVE-2025-48102, может содержать следующую функциональность:github+1
Восстановление потерянных Bitcoin кошельков через комбинированную атаку
Процесс извлечения приватного ключа
После получения подписей с повторениями r значений, восстановление приватного ключа происходит в три этапа:
Этап 1: Идентификация дублирующихся r значений — атакующий сравнивает все собранные подписи и выявляет пары с одинаковым r. Даже одна пара достаточна для вычисления приватного ключа, хотя несколько пар повышают уверенность.notsosecure
Этап 2: Вычисление nonce k — используя формулу, приведённую выше, атакующий вычисляет значение k для каждой пары подписей. Если вычисленные k значения для разных пар совпадают, это подтверждает систематическую уязвимость в RNG.github
Этап 3: Восстановление приватного ключа d — применяя вычисленное k к любой из собранных подписей, атакующий полностью восстанавливает приватный ключ, что позволяет ему подписывать любые транзакции от имени жертвы.keyhunters+1
Последствия для потерянных Bitcoin кошельков
Создавать новые подписи для любых транзакций
Переводить все средства с кошелька на адреса атакующего
Восстанавливать доступ к потерянным кошелькам, у которых был открыт приватный ключ
Проводить double-spending атаки в исторических транзакциях
Полностью компрометировать безопасность Bitcoin адреса keyhunters
Влияние на эко систему Bitcoin и кошельки
Масштаб уязвимости
Комбинированная атака XSS + Phantom Signature Attack представляет критическую угрозу для всех WordPress сайтов с платежными шлюзами Bitcoin, включая:
Интернет-магазины, принимающие Bitcoin платежи через плагины GoUrl и Bitcoin/AltCoin Payment Gateway (более 10,000 установок плагина Elementor и аналогичные цифры для платежных плагинов)sucuri
Пользователей горячих кошельков, использующих веб-интерфейсы для управления средствами
Коммерческие платформы, где администраторы используют WordPress для управления платежамиzscaler+1
Реальные статистические данные
Согласно исследованиям из keyhunters.ru и научной литературе:
ECDSA nonce reuse уже привёл к потерям в сотни миллионов долларов в Bitcoin экосистемеkeyhunters
В одном документированном случае анализ дублирующихся nonce значений позволил восстановить 412.8 BTC (стоимость приблизительно $15-20 миллионов в текущих ценах)keyhunters
Автоматизированные боты постоянно сканируют Bitcoin блокчейн в поиске дублирующихся r значений в транзакциях
XSS атаки на WordPress платформах используются для установки keyloggers и майнеров криптовалют на тысячах сайтов, включая попытки кражи приватных ключейgithub+2
Рекомендации по защите и миграции
Для разработчиков WordPress плагинов
Немедленное внедрение RFC 6979 — использование детерминированной генерации nonce вместо недетерминированного RNGkeyhunters
Полная санитизация пользовательского ввода — использование функций WordPress sanitize_text_field(), esc_attr(), esc_html() для всех данных, попадающих в выводsecalerts+1
Криптографическая верификация подписей — немедленная проверка корректности подписей после их генерацииkeyhunters+1
Использование аппаратных модулей безопасности (HSM) — для критических криптографических операцийkeyhunters
Регулярные аудиты безопасности — использование специализированных инструментов для выявления XSS уязвимостейfastly
Для пользователей Bitcoin
Немедленное обновление плагинов — применение всех доступных обновлений для GoUrl и Bitcoin/AltCoin Payment Gateway плагиновwiz+1
Использование cold wallets — для хранения значительных сумм Bitcoin использовать оффлайн кошельки вместо веб-интерфейсовforklog
Избегание веб-интерфейсов — для критических криптографических операций использовать специализированное ПО вместо браузерных расширенийforklog
Двухфакторная аутентификация — для всех WordPress администраторских учётных записейbitdefender
Регулярный мониторинг транзакций — проверка истории транзакций на предмет несанкционированной активностиforklog
3. Связь с CVE-2025-29774
CVE-2025-29774 представляет собой критическую уязвимость в библиотеке xml-crypto, которая
позволяет изменять подписанные XML-сообщения таким образом, чтобы они всё ещё
проходили проверку подписи. Это может быть использовано в сочетании с Bitcoin платежными
системами для:
Манипуляции параметрами транзакций
Внедрения поддельных подписей
Перенаправления платежей на адреса злоумышленника
Синергия XSS и Phantom Signature Attack: Комбинированная атака
4.1 Сценарий атаки в WordPress окружении
Этап 1: Начальное внедрение XSS
Злоумышленник использует CVE-2025-48102 для внедрения вредоносного JavaScript в
конфигурацию платежного шлюза GoUrl. Вредоносный код включает:
Это демонстрирует вредоносный пример перехвата формы отправки данных о Bitcoin-подписи
Этап 2: Перехват ECDSA параметров
Благодаря XSS уязвимости, вредоносный скрипт имеет доступ к:
WordPress nonce значениям (используемым для CSRF защиты) Session cookies Параметрам Bitcoin транзакций (включая r и s значения подписей)
Информации о приватных ключах, временно хранящейся в памяти браузера
Этап 3: Анализ нарушений в rng и обнаружение повторений k
Благодаря собранным данным о множественных подписях от одного пользователя, атакующий
может обнаружить:
Повторное использование nonce (k) между различными подписями
Слабые или предсказуемые значения random number generator (RNG)
Систематические ошибки в генерации криптографических параметров
Этап 4: Восстановление приватного ключа
Используя математическое соотношение, описанное в разделе 3.2, атакующий может
вычислить приватный ключ d, что приводит к полной компрометизации кошелька.
4.2 Демонстрационный код атаки Вредоносный XSS payload для внедрения в Bitcoin Payment Gateway:
This code demonstrates a malicious JavaScript snippet that intercepts Bitcoin signature operations and WordPress session nonces before exfiltrating them to a remote server for potential exploitation.
Восстановление потерянных Bitcoin кошельков через Phantom Signature
Attack
5.1 Методология восстановления приватных ключей
После получения достаточного количества подписей (как минимум 2 подписи с одинаковым r
значением), атакующий может применить следующий алгоритм восстановления:
Шаг 1: Идентификация дублирующихся r значений
Explanation:
This function searches for two ECDSA/Bitcoin signatures that have the same rr value among the list of signatures.
If it finds such a pair, it returns both signatures as a tuple.
If no duplicates are found, it returns None.
This search is relevant for cryptographic vulnerability analysis, as duplicate rr values can indicate nonce reuse, which is exploitable in private key recovery attacks.
Шаг 2: Вычисление nonce k
Comment:
This function computes the ECDSA nonce k in cases where two signatures share the same rrr value (i.e., replayed or reused nonce), using the difference in signature sss values and message hashes, as per the well-known lattice and nonce reuse attack principle. The formula implemented is:
s1,s2s_1, s_2s1,s2 are the signature sss values,
H(m1),H(m2)H(m_1), H(m_2)H(m1),H(m2) are the hashes of the corresponding signed messages,
nnn is the order of the elliptic curve group.
This technique is a standard cryptanalytic tool for Bitcoin and ECDSA analyses.
Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.