Форварднул из телеграм канала DEFI Scam Check:
Описание взлома Origin Protocol. 7,7 млн $ украдено.
Немного технических подробностей, как был вскрыт протокол OriginProtocol с его OriginalUSD ($OUSD)
1. Флэшлоан - 70k ETH от биржи dYdX
2. Обмен 17.5к Эфира на 7.86 млн USDT на Uniswap
3. Обмен 52.5к Эфира на 20.99 млн DAI на Uniswap
4. Вызов функции rebase для атаки контракта
5. Производство 7,5 млн OUSD из 7,5 млн USDT (Здесь все еще идет по плану).
6. Вызов мультифункции производства токенов OUSD (MintMultiple):
6.1 Производство 20,5 млн OUSD из 20,5 млн DAI
6.2 Производство 2k OUSD с 2k USDT (здесь идет атаки re-entrancy (повторного расходования) с учетом того, что 2k USDT – поддельные токены
7. Обмен 300к OUSD на 158.5 к USDT на Uniswap. Здесь идет занижение цены OUSD по отношению к USDT на 40%.
8. Обмен 1 млн OUSD на 520.7 к USDT на Sushiswap. Также занижение цены.
!Здесь начинается магия!
За счет манипулирования ценой OUSD – злоумышленник может выкупить взятые в займ OUSD на 40% дешевле, оставив по сути у себя 40% от суммы в стейблах.
9. Выкуп 33.27 млн. OUSD после перебазирования за 19,5 млн DAI, 3,9 млн USDC и 9,4 млн USDT
10. Обмен 10,4 млн USDT на 22,9 тыс. ETH на Uniswap
11. Обмен 3,9 млн USD C на 8,3 тыс ETH на Uniswap
12. Своп 19 млн ДАИ до 47,9к ETH на Uniswap
!ЗДЕСЬ ВОЗНИКАЕТ ПРИБЫЛЬ!
Т.к. залог его в протоколе был 20,5 млн DAI – он смог получить обратно не 20,5 млн OUSD, а 33,27 млн. Вызывая функцию перебазирования (опрос контракта по уровню цены, вернув его к исходному уровню) он по факту из 33,27 млн OUSD смог вернуть = 10,4+3,9+19 = 33,7 млн USD
13. Выкуп флешлоан (займа) 70К ETH на dYdX
После этой манипуляции злоумышленник произвел:
- 7 сделок, в которых он выкупил свой OUSD
- 2 сделки по обмену 300k OUSD на USDT на Uniswap
- 4 сделки со сбором прибыли (обмен всех USDT и USDC на ETH на Uniswap и вывод DAI и ETH из атакующего контракта)
Наконец, он использовал саморазрушение для уничтожения контракта.
В результате злоумышленник смог получить ~$7,7 млн: - 2,249,821 DAI - 11,804 ETH
Кроме того, злоумышленник внес 333 ETH в Tornado Cash и попытался отмыть деньги с помощью:
1. Uniswap обмен ~4338 ETH на 120 WBTC
2. Обменял на CURVE 120 WBTC к ~120 renBTC
3. REN вывод ~120 BTC на четыре адреса: - bc1qdky68q9uv24ah8mf8uykj8x437u2hlrz6k4vzg - bc1q2atlthkh04hsnk76w08ek5stk28wxgzhh8xvnu - bc1qr0v3zz5wl0wjt79hj7yq57f3tkswj79jmjaynh - bc1q4f645352dsam42ag3uym8rt0qzxwd8qlqe336h
При взломе протокола $OUSD хакер намеренно или просто "устал", но оставил маленький штрих.
Вызов функции collect был осуществлен с того же адреса, что и у взломщика ValueDeFI
https://t.me/Defiscamcheck/392