Blockchain and Crypto-Currencies

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Basic Concepts

  • Смарт-контракти визначаються як програми, які виконуються на блокчейні при виконанні певних умов, автоматизуючи виконання угод без посередників.
  • Decentralized Applications (dApps) будуються на основі смарт-контрактів, маючи зручний фронт-енд для користувача та прозорий, піддаваний аудиту бек-енд.
  • Токени та монети (Tokens & Coins) відрізняються тим, що монети служать цифровими грошима, тоді як токени представляють цінність або право власності в конкретних контекстах.
  • Utility Tokens надають доступ до послуг, а Security Tokens означають право власності на активи.
  • DeFi означає Decentralized Finance, пропонуючи фінансові послуги без центральних органів.
  • DEX та DAOs позначають Decentralized Exchange Platforms і Decentralized Autonomous Organizations відповідно.

Consensus Mechanisms

Механізми консенсусу забезпечують безпечну та узгоджену валідацію транзакцій у блокчейні:

  • Proof of Work (PoW) покладається на обчислювальну потужність для верифікації транзакцій.
  • Proof of Stake (PoS) вимагає від валідаторів утримувати певну кількість токенів, зменшуючи споживання енергії порівняно з PoW.

Bitcoin Essentials

Transactions

Bitcoin-транзакції включають передачу коштів між адресами. Транзакції підтверджуються цифровими підписами, що гарантує, що лише власник приватного ключа може ініціювати перекази.

Key Components:

  • Мультипідписні транзакції (Multisignature Transactions) вимагають кількох підписів для авторизації транзакції.
  • Транзакції складаються з inputs (джерело коштів), outputs (призначення), fees (оплачуються майнерам) та scripts (правила транзакцій).

Lightning Network

Має на меті підвищити масштабованість Bitcoin, дозволяючи виконувати кілька транзакцій у каналі і лише надсилати фінальний стан у блокчейн.

Bitcoin Privacy Concerns

Атаки на приватність, такі як Common Input Ownership та UTXO Change Address Detection, використовують шаблони транзакцій. Стратегії на кшталт Mixers і CoinJoin підвищують анонімність, ускладнюючи зв’язки між транзакціями користувачів.

Acquiring Bitcoins Anonymously

Методи включають готівкові обміни, майнінг та використання міксерів. CoinJoin змішує кілька транзакцій, щоб ускладнити відстеження, тоді як PayJoin маскує CoinJoin як звичайні транзакції для підвищення приватності.

Bitcoin Privacy Atacks

Summary of Bitcoin Privacy Attacks

У світі Bitcoin приватність транзакцій і анонімність користувачів часто викликають занепокоєння. Ось спрощений огляд кількох поширених методів, за допомогою яких атакуючі можуть скомпрометувати приватність Bitcoin.

Common Input Ownership Assumption

Зазвичай рідко коли inputs від різних користувачів поєднуються в одній транзакції через складність процесу. Тому два input-адреси в одній транзакції часто вважаються такими, що належать одному власнику.

UTXO Change Address Detection

UTXO, або Unspent Transaction Output, має бути повністю витрачений у транзакції. Якщо лише частина відправляється на іншу адресу, решта йде на нову change-адресу. Спостерігачі можуть припустити, що ця нова адреса належить відправнику, що порушує приватність.

Example

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

Social Networks & Forums Exposure

Користувачі іноді діляться своїми Bitcoin-адресами онлайн, що робить легким пов’язати адресу з її власником.

Transaction Graph Analysis

Транзакції можна візуалізувати у вигляді графів, що виявляє потенційні зв’язки між користувачами на основі потоку коштів.

Unnecessary Input Heuristic (Optimal Change Heuristic)

Цей евристичний метод базується на аналізі транзакцій з кількома inputs і outputs, щоб вгадати, який output є change, що повертається відправнику.

Example

2 btc --> 4 btc
3 btc     1 btc

Якщо додавання більшої кількості входів робить change output більшим за будь-який окремий вхід, це може ввести евристику в оману.

Forced Address Reuse

Зловмисники можуть надсилати невеликі суми на раніше використані адреси, сподіваючись, що одержувач у майбутніх транзакціях поєднає ці кошти з іншими входами, тим самим пов’язавши адреси між собою.

Correct Wallet Behavior

Гаманці повинні уникати використання монет, отриманих на вже використані, порожні адреси, щоб запобігти цьому privacy leak.

Other Blockchain Analysis Techniques

  • Exact Payment Amounts: Транзакції без здачі (change) імовірно відбуваються між двома адресами, що належать одному й тому ж користувачу.
  • Round Numbers: Кругла сума у транзакції вказує на платіж, а не круглий вихід, швидше за все, є здачею.
  • Wallet Fingerprinting: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використовуване програмне забезпечення і, можливо, адресу здачі.
  • Amount & Timing Correlations: Розкриття часу або сум транзакцій може робити їх відстежуваними.

Traffic Analysis

Моніторинг мережевого трафіку може дозволити зловмисникам пов’язати транзакції або блоки з IP addresses, порушуючи приватність користувачів. Це особливо актуально, якщо якась організація керує великою кількістю Bitcoin nodes, що підвищує їхню здатність відслідковувати транзакції.

More

For a comprehensive list of privacy attacks and defenses, visit Bitcoin Privacy on Bitcoin Wiki.

Анонімні транзакції Bitcoin

Способи анонімного отримання Bitcoin

  • Cash Transactions: Придбання bitcoin за готівку.
  • Cash Alternatives: Купівля подарункових карток і обмін їх онлайн на bitcoin.
  • Mining: Найприватніший спосіб заробити bitcoin — майнінг, особливо в режимі соло, оскільки майнінг-пули можуть знати IP-адресу майнера. Mining Pools Information
  • Theft: Теоретично крадіжка bitcoin також могла б бути методом анонімного отримання, хоча це незаконно і не рекомендовано.

Mixing Services

Використовуючи mixing service, користувач може відправити bitcoins і отримати назад інші bitcoins, що ускладнює відстеження первісного власника. Але це вимагає довіри до сервісу, що він не зберігає логи і дійсно поверне кошти. Альтернативою можуть бути Bitcoin-казино.

CoinJoin

CoinJoin об’єднує кілька транзакцій від різних користувачів в одну, ускладнюючи зіставлення входів та виходів. Незважаючи на ефективність, транзакції з унікальними розмірами входів та виходів усе ще можуть бути відстежені.

Приклади транзакцій, що, ймовірно, використали CoinJoin: 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a та 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238.

For more information, visit CoinJoin. For a similar service on Ethereum, check out Tornado Cash, which anonymizes transactions with funds from miners.

PayJoin

Варіант CoinJoin, PayJoin (або P2EP), маскує транзакцію між двома сторонами (наприклад, покупцем і продавцем) як звичайну транзакцію, без характерних однакових виходів CoinJoin. Це робить її вкрай важко виявлюваною і може анулювати евристику common-input-ownership, що використовується сервісами моніторингу транзакцій.

2 btc --> 3 btc
5 btc     4 btc

Транзакції, подібні до наведених вище, можуть бути PayJoin, що підвищує конфіденційність і при цьому залишається невідрізненними від стандартних bitcoin-транзакцій.

Використання PayJoin може суттєво порушити традиційні методи спостереження, роблячи його перспективним напрямом у прагненні до приватності транзакцій.

Найкращі практики конфіденційності в криптовалютах

Wallet Synchronization Techniques

Щоб підтримувати приватність і безпеку, важливо синхронізувати гаманці з блокчейном. Виокремлюються два методи:

  • Full node: Завантажуючи весь блокчейн, full node забезпечує максимальну конфіденційність. Усі коли-небудь виконані транзакції зберігаються локально, ускладнюючи для противників ідентифікацію, які саме транзакції чи адреси цікавлять користувача.
  • Client-side block filtering: Цей метод передбачає створення фільтрів для кожного блоку в блокчейні, що дозволяє гаманцям виявляти релевантні транзакції, не розкриваючи конкретні інтереси спостерігачам мережі. Легкі гаманці завантажують ці фільтри і витягають повні блоки лише у разі збігу з адресами користувача.

Використання Tor для анонімності

Оскільки Bitcoin працює в peer-to-peer мережі, рекомендовано використовувати Tor для маскування вашої IP-адреси, що підвищує приватність при взаємодії з мережею.

Запобігання повторному використанню адрес

Щоб захистити приватність, важливо використовувати нову адресу для кожної транзакції. Повторне використання адрес може скомпрометувати приватність, пов’язавши транзакції з одним і тим самим суб’єктом. Сучасні гаманці відмовляють від повторного використання адрес через свій дизайн.

Стратегії приватності транзакцій

  • Multiple transactions: Розбиття платежу на кілька транзакцій може змащувати суму платежу, ускладнюючи атаки на приватність.
  • Change avoidance: Вибір транзакцій, які не потребують change outputs, покращує приватність, порушуючи методи виявлення здачі.
  • Multiple change outputs: Якщо уникнути change неможливо, створення кількох change outputs теж може підвищити приватність.

Monero: маяк анонімності

Monero вирішує потребу в абсолютній анонімності в цифрових транзакціях, встановлюючи високий стандарт конфіденційності.

Ethereum: Gas and Transactions

Understanding Gas

Gas вимірює обчислювальні ресурси, необхідні для виконання операцій в Ethereum, і вимірюється у gwei. Наприклад, транзакція, що коштує 2,310,000 gwei (або 0.00231 ETH), включає gas limit і base fee, а також tip для стимулювання майнерів. Користувачі можуть встановити max fee, щоб не переплачувати; надлишок повертається.

Executing Transactions

Транзакції в Ethereum передбачають відправника й отримувача, які можуть бути адресами користувачів або смарт-контрактів. Вони вимагають оплати і мають бути включені в блок. Основна інформація в транзакції включає отримувача, підпис відправника, value, опціональні data, gas limit і fees. Примітно, що адреса відправника виводиться з підпису, тому вона не обов’язково включається в дані транзакції.

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

Value-Centric Web3 Red Teaming

  • Інвентаризуйте компоненти, що несуть вартість (signers, oracles, bridges, automation), щоб зрозуміти, хто може переміщувати кошти і як.
  • Замапте кожен компонент на відповідні MITRE AADAPT тактики, щоб виявити шляхи ескалації привілеїв.
  • Репетируйте ланцюжки атак flash-loan/oracle/credential/cross-chain, щоб підтвердити вплив і задокументувати вразливі передумови.

Value Centric Web3 Red Teaming

Web3 Signing Workflow Compromise

  • Supply-chain tampering of wallet UIs може модифікувати EIP-712 payloads безпосередньо перед підписанням, збираючи валідні підписи для delegatecall-based proxy takeovers (наприклад, slot-0 overwrite of Safe masterCopy).

Web3 Signing Workflow Compromise Safe Delegatecall Proxy Takeover

Account Abstraction (ERC-4337)

  • Звичні режими відмов смарт-акаунтів включають обходи контролю доступу EntryPoint, unsigned gas fields, stateful validation, ERC-1271 replay та fee-drain через revert-after-validation.

Erc 4337 Smart Account Security Pitfalls

Smart Contract Security

  • Mutation testing для виявлення «сліпих зон» у наборах тестів:

Mutation Testing With Slither

References

DeFi/AMM Exploitation

Якщо ви досліджуєте практичну експлуатацію DEXes і AMMs (Uniswap v4 hooks, rounding/precision abuse, flash‑loan amplified threshold‑crossing swaps), перегляньте:

Defi/AMM Hook Precision

Для multi-asset weighted pools, які кешують virtual balances і можуть бути отруєні, коли supply == 0, вивчіть:

Defi Amm Virtual Balance Cache Exploitation

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks