Crypto Offensive
1.2K subscribers
2 photos
72 links
Чат: https://t.me/cryptooffensive_chat

Чтобы понять, как что-то работает, выясните, как это сломать (С) Талеб

Изучаем безопасность крипты, исследуя реальные атаки и уязвимости
Download Telegram
Crypto Offensive
#incident #bzx bZx - утечка приватных ключей на Polygon и BSC. На Ethereum всё спокойно. https://twitter.com/bZxHQ/status/1456603269355094021 У кого зааппрувлены там токены - нужно отозвать разрешения. https://twitter.com/bZxHQ/status/1456609005682319360
#hack #history #bzx

Минутка истории...

Первый взлом bZx (февраль 2020)
https://mudit.blog/bzx-hack-analysis-defi-legos/amp/

Второй взлом (сентябрь 2020)
https://cointelegraph.com/news/defi-platform-bzx-sees-new-8m-hack-from-one-misplaced-line-of-code

"Нулевой" взлом (январь 2020) - тут взлома не было, разработчики из 1inch нашли уязвимость в bZx, те под разными предлогами отказывались выплатить баунти
https://blog.1inch.io/yes-we-hacked-bzx-fulcrum-but-one-month-ago-3f7e5c437ee3
#hack #MONO
Час назад взломан MonoX.finance - DeFi-сервис single-token пулов ликвидности.
Выведено средств на $31 миллион.
Транзакция взлома: https://etherscan.io/tx/0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
#hack #grim
30млн$ взлом Grim Finance на блокчейне Fantom через #reentrancy баг: https://ftmscan.com/tx/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6

Фунция depositFor(token, _amount, user) не была защищена от reentrancy.
В ней идет вызов к IERC20(token).safeTransferFrom(msg.sender, address(this), _amount)

Атакующий размещает ликвидность на SpiritSwap и получает LP-токены, вызывает depositFor(token=ATTACKER, user=ATTACKER), получает управление контракт ATTACKER, который вызывает depositFor() с теми же параметрами несколько раз, на последнем шаге вызывает depositFor(token=Spirit-LP, user=ATTACKER). За каждый шаг минтятся соответствующие LP-токены, в итоге их больше чем надо, в конце они выводятся и выводятся Spirit-LP токены и соответствующая ликвидность больше, чем должно
#rugpull #CHEEMIES

Разработчик контракта оставил для себя возможность кражи токенов у холдеров, не пытаясь даже скрыть это. И такое бывает, поэтому всегда нужно DYOR

https://etherscan.io/address/0x50dac1065fa42ce6e1fa706ef670b3a0516934e6#code
#challenge #defi

Damn Vulnerable DeFi is the wargame to learn offensive security of DeFi smart contracts.

https://www.damnvulnerabledefi.xyz/
#MONO

В недавно взломанном MonoX.finance контракт позволял покупать и продавать токены, новая цена определялась по формуле
price*reserve/(reserve+-amount)

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

Детальный разбор тут: https://medium.com/@Knownsec_Blockchain_Lab/knownsec-blockchain-lab-i-kill-myself-monox-finance-security-incident-analysis-2dcb4d5ac8f
This media is not supported in your browser
VIEW IN TELEGRAM
Как перейти от хакинга Web2 к хакингу Web3? (ЧАСТЬ 1/3)
(с) Adrian Hetman https://twitter.com/adrianhetman/status/1475550508354093072

Первым делом прочтите как работает Ethereum. Книга Антонопоулоса “Mastering Ethereum”:
https://github.com/ethereumbook/ethereumbook

Следующий шаг - Solidity, это самый популярный язык для написания смарт-контрактов:
https://solidity-by-example.org/
https://www.youtube.com/channel/UCJWh7F3AFyQ_x01VKzr9eyA/featured

Понимание, как работают DeFi-приложения, поможет находить баги:
https://twitter.com/finematics
https://github.com/OffcierCia/DeFi-Developer-Road-Map

Один из самых забавных способов научиться - это проходить CTFы:
https://ethernaut.openzeppelin.com
https://capturetheether.com/challenges
https://damnvulnerabledefi.xyz

ПРОДОЛЖЕНИЕ НИЖЕ --->
Как перейти от хакинга Web2 к хакингу Web3? (ЧАСТЬ 2/3)

Дальше - чтение Post Mortem о разных взломах/багах, много статей есть на блоге Immunefi:
https://twitter.com/immunefi
например на тему манипуляции ценовым оракулом:
https://medium.com/immunefi/enzyme-finance-price-oracle-manipulation-bug-fix-postmortem-4e1f3d4201b5


Отчеты об аудитах от известных компаний - это кладезь знаний
https://twitter.com/trailofbits
https://twitter.com/ConsenSysAudits
https://twitter.com/OpenZeppelin
https://twitter.com/peckshield

Настройте собственную среду для разработки/тестирования.
Изучите основы Hardhat:
https://hardhat.org
и Brownie:
https://github.com/eth-brownie/brownie
Разберитесь с Web3.js / Web3.py

ПРОДОЛЖЕНИЕ НИЖЕ --->
#hack #SashimiSwap

Взлом децентрализованной биржи SashimiSwap:

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

В результате - сумма к выдаче была вычислена по части маршрута, а обмен произведён по полному маршруту, и атакующий получил "лишние" токены Wrapped ETH.
https://twitter.com/blocksecteam/status/1476516736422019082

Аналогичная атака была проведена и против BSC-версии того же SashimiSwap.
#rugpull #airdrop #EtherWrapped #YEAR

Токен под названием EtherWrapped (не путать с Wrapped Ether), также известный под кратким названием YEAR, был распространён путём раздачи на web-сайте на основе статистики действий получателей за 2021 год (отсюда имя YEAR).
https://etherscan.io/address/0x9010a15184da16e3a7c5b4aa50094dfe3bb36989#code

Ловушка заключалась в сочетании функций renounceOwnership и _burnMechanism.
Когда токен уже торговался на Uniswap, владелец контракта вызвал renounceOwnership с адресом контракта Uniswap, тем самым заблокировав держателям токена возможность его продажи проверкой в _burnMechanism. Теперь токен можно было только покупать.

Через некоторое время создатель токена вывел накопившуюся ликвидность с Uniswap. На этом существование YEAR фактически завершилось.
https://twitter.com/cat5749/status/1476813266462539779
#hack #tinyman #algorand

Tinyman - главный DEX на блокчейне Algorand - подвергся взлому 1-2 января.

Непосредственно в процессе взлома было выведено средств на 3 миллиона долларов.
Затем вывод средств был продолжен другими участниками сети - белыми и чёрными хакерами-подражателями, а также обычными пользователями, выводящими предоставленную ими ликвидность.
https://tinymanorg.medium.com/official-announcement-about-the-incidents-of-01-01-2022-56abb19d8b19

В сентябре 2021 года компания Runtime Verification провела аудит контрактов Tinyman:
https://runtimeverification.com/blog/runtime-verification-audits-tinyman/

При аудите был обнаружен похожий баг - "A02: Leaking Funds When Burning LP Tokens..."
https://github.com/runtimeverification/publications/blob/main/reports/smart-contracts/Tinyman.pdf

Баг A02 указан как исправленный, и проявлялся немного иначе - при сжигании LP токенов оба актива возвращались в одинаковом количестве.
Во время взлома же возвращалось разное количество, но одного и того же актива.
​​#guide

JiuZhou - классификация багов в смарт-контрактах Solidity: 49 типичных багов в 9 категориях. С описанием и примерами уязвимого кода

https://github.com/xf97/JiuZhou
#vulnerability #anyswap #multichain #approve

Пользователям сервиса AnySwap - anyswap.exchange, также известного под новым названием Multichain - multichain.org, во избежание финансовых потерь необходимо отозвать аппрувы (разрешения) на токены WETH, PERI, OMT, WBNB, MATIC, AVAX.

https://medium.com/multichainorg/action-required-critical-vulnerability-for-six-tokens-6b3cbd22bfc0