Наша цель создать фальшивый NFT стандарта ERC1155 и отправить его на адрес жертвы. Используя уязвимости этого токен-стандарта, мы заставим NFT отображаться в разделе NFT в Trust Wallet.
ERC1155
ERC1155 — это стандарт токенов на блокчейне Ethereum, который позволяет управлять как взаимозаменяемыми (fungible), так и невзаимозаменяемыми (non-fungible) токенами в рамках одного смарт-контракта. Это можно считать гибридом ERC20 и ERC721.
1. Множественные типы токенов: ERC1155 поддерживает в одном контракте как fungible (например, разные единицы одного токена), так и non-fungible (уникальные коллекционные предметы) токены.
2. Эффективные трансферы: Позволяет передавать сразу несколько токенов в одной транзакции — снижает комиссии и нагрузку на сеть.
3. Мета-токены: Более гибкое управление метаданными токенов.
4. Расширенные права и управление: Более продвинутые механизмы разрешений.
5. Сферы применения: В основном игры, коллекционные предметы и цифровые активы.
ERC1155 особенно популярен в игровой индустрии и цифровых коллекционках благодаря высокой производительности и удобству управления сложными активами.
Разбор мошенничества по косточкам
Создаётся смарт-контракт ERC1155. Контракт принимает tokenURI. Ниже — метаданные, которые подгружаются по этому URI.
Контракт мошенничества лежит в файле ERC1155.sol
tokenURI: https://okoro.net/bonewin.json
metadata.json
JSON:{ "name": "BONE Voucher 66 of 100", "description": "Поздравляем! Вы можете обменять этот ваучер SHIBARIUM NFT на 100 000 USDC на официальном сайте: https://bonewin.com/", "image": "https://okoro.net/bonewin.png", "attributes": [ { "trait_type": "Website", "value": "https://bonewin.com/" } ] }
После деплоя контракта атакующий вызывает функцию (например, airDrop.sol или любую другую) и раздаёт NFT жертвам. Как только NFT оказывается на кошельке жертвы — в Trust Wallet в разделе NFT появляется вот такая картинка:
Ссылки
https://gateway.pinata.cloud/ipfs/b...yc5rwcpbabmun6pfn2tz45ygewbjnmqij4/token.json