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

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

Изучаем безопасность крипты, исследуя реальные атаки и уязвимости
Download Telegram
#hack #defi

По горячим следам: час назад "что-то взломано" на 10 млн. долларов - вероятно Cream, но может быть и Yearn (это не первый случай, когда из-за сложной транзакции сразу не увидеть, кто именно пострадал).

Транзакция - https://etherscan.io/tx/0x0fe2542079644e107cbf13690eb9c2c65963ccb79089ff96bfaf8dced2331c92
Средства на данный момент находятся здесь https://etherscan.io/address/0x24354d31bc9d90f62fe5f2454709c32049cf866b
Прямо сейчас с этого аккаунта производятся ещё какие-то действия, будем наблюдать.

UPD: На Etherscan аккаунт уже помечен сообщением с указанием на "flash loan exploit targeting Cream Finance"
#hack #defi

Развитие событий:

5 минут назад с контракта, использованного для взлома, на адрес взломщика было выведено большое число разнообразных токенов.
https://etherscan.io/address/0x961d2b694d9097f35cfffa363ef98823928a330d#tokentxns

Сейчас на адресе - токенов более чем на 100 млн. долларов, плюс $11 млн в ETH.
https://etherscan.io/address/0x24354d31bc9d90f62fe5f2454709c32049cf866b
#hack #defi

Взлом Cream, последовательность действий взломщика:
https://twitter.com/BlockSecTeam/status/1453393444047441923

Влияние пункта (6) на цену yUSD в оракуле Cream:
https://twitter.com/0xPaladinSec/status/1453389115018391557

UPD: Более детальный список шагов взлома, здесь ключевой пункт уже под номером 19
https://twitter.com/Mudit__Gupta/status/1453401698563596293
За ссылку спасибо @noonemanman
#hack #defi

Cream Finance предложили вчерашнему взломщику вернуть похищенное в обмен на вознаграждение в 10% от суммы.

Предложение было отправлено в виде данных в транзакции https://etherscan.io/tx/0x606bdd12584ccda8a3ecdb9e4bd43046d066d2b223d857121eec51820f34cc89
#nft #flashloan

Накрутка цены NFT-криптопанка: смарт-контрактом берётся Flash Loan, покупается криптопанк; предыдущий владелец - другой смарт-контракт, эфир оттуда сразу возвращается, Flash Loan выплачивается.
https://twitter.com/bertcmiller/status/1453876703273627656

Комментарий о возможном использовании такого в атаках на оракулы цен NFT:
https://twitter.com/Dogetoshi/status/1453880592144244736
#rugpull

AnubisDAO - около $60 миллионов "внезапно" переведено на неизвестный кошелёк.
https://twitter.com/Dogetoshi/status/1454059079001837578?t=tAOCYhVejePz773kBwfXxA&s=19

По предшествующим транзакциям и упоминаниям адресов был найден твиттер подозреваемого, но аккаунт "исчез на глазах" - был удалён.
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