BlockSec: Phân tích vụ trộm 7 triệu USD của DAO Maker
BlockSec
2021-08-12 15:16
本文约1551字,阅读全文需要约6分钟
Tự vệ?

Bài viết này đến từBlockSecBài viết này đến từ

Vào ngày 12 tháng 8, theo phản hồi của người dùng trong nhóm DAO Maker Telegram, dự án đã bị nghi ngờ bị hack và USDC trị giá 7 triệu đô la đã bị tin tặc rút đến một địa chỉ không xác định. Sau khi phân tích, nhóm BlockSec phát hiện ra rằng vụ việc là do rò rỉ khóa riêng tư hoặc bởi những người trong cuộc.

tiêu đề phụ

quá trình tấn công

  • Theo hệ thống phân tích giao dịch của chúng tôi (https://tx.blocksecteam.com), chúng tôi thấy rằng quá trình tấn công rất đơn giản.

0x26aa86261c834e837f6be93b2d589724ed5ae644bc8f4b8af2207e6bd70828f9

  • Hàm băm của giao dịch tấn công là:

Địa chỉ tham gia:

0x41b856701bb8c24cece2af10651bfafebb57cf49: ví nạn nhân;

0x1c93290202424902a5e708b95f4ba23a3f2f3cee: XXX, hợp đồng của kẻ tấn công;

0x0eba461d9829c4e464a68d4857350476cfb6f559: người đàn ông ở giữa;

0x054e71d5f096a0761dba7dbe5cec5e2bf898971c: Người tạo hợp đồng nạn nhân (cũng là kẻ tấn công).

Kẻ tấn công XXX (0x1c93290202424902a5e708b95f4ba23a3f2f3cee) gọi chức năng của hợp đồng ví nạn nhân (0x41b856701bb8c24cece2af10651bfafebb57cf49) để truy vấn số dư của người dùng, sau đó gọi rút tiềnFromUser để chuyển tiền vào tài khoản của anh ta. Cuộc tấn công đã hoàn tất. Vì thao tác chuyển giao là một thao tác đặc quyền nên thường cần phải xác minh danh tính của người gọi. Qua phân tích, chúng tôi thấy rằng kẻ tấn công có quyền thích hợp để chuyển số dư trong ví của nạn nhân.

Câu hỏi ở đây trở thành tại sao kẻ tấn công lại có quyền thích hợp? Thông qua phân tích sâu hơn, chúng tôi tìm thấy một giao dịch khác. Giao dịch này trao cho kẻ tấn công quyền chuyển tiền. Dấu vết giao dịch như sau: 0x2fba930502d27f9c9a2f2b9337a0149534dda7527029645752b2a6507ca6b0d6.

0x0eba461d9829c4e464a68d4857350476cfb6f559 gọi hàm GrantRole của hợp đồng nạn nhân để cấp cho kẻ tấn công 0x1c93 quyền chuyển tiền. Nhưng nếu bạn có thể gọi GrantRole để cấp quyền cho các tài khoản khác, thì 0x0eba4 phải có quyền quản trị viên. Vậy ai đã cấp đặc quyền quản trị của anh ấy?

Tiếp tục theo dõi, chúng tôi thấy rằng quyền quản trị của nó đã được hoàn thành bởi một giao dịch khác: 0x41b856701bb8c24cece2af10651bfafebb57cf49.

Tài khoản 0x054e71d5f096a0761dba7dbe5cec5e2bf898971c đặt tài khoản 0x0eba461d9829c4e464a68d4857350476cfb6f559 làm quản trị viên của hợp đồng nạn nhân.

Tuy nhiên, chúng tôi thấy rằng hợp đồng nạn nhân được tạo bởi 0x054e71d5f096a0761dba7dbe5cec5e2bf898971c.

tiêu đề phụ

khác

khác

tiêu đề phụ

cuối cùng

cuối cùng[Máy in tiền ảo] Phân tích tấn công chi tiêu gấp đôi của Popsicle Finance[Gót chân Achilles] Phân tích chuyên sâu các bước chính của cuộc tấn công Poly Network

BlockSec
作者文库