lý lịch
lý lịch
Thế giới blockchain tuân theo luật rừng tối. Trong thế giới này, bất cứ lúc nào chúng ta cũng có thể phải hứng chịu những cuộc tấn công không xác định từ bên ngoài. Là người dùng bình thường, chúng ta không làm điều ác, nhưng hiểu cách thức làm điều ác của tin tặc là điều rất cần thiết.
Nhóm bảo mật SlowMist đã phát hành trước đâyHướng dẫn tự trợ giúp về Blockchain Dark Forest, trong đó đề cập khá nhiều đến các phương thức tấn công Discord của bên dự án NFT, nhằm giúp bạn đọc hiểu rõ hơn về các phương thức lừa đảo liên quan, bài viết này sẽ vạch trần một trong những phương thức lừa đảo đó là đánh cắp dự án thông qua các bookmark độc hại .Mã thông báo tài khoản Discord của bên được sử dụng để xuất bản thông tin sai lệch nhằm lôi kéo người dùng truy cập các trang web lừa đảo, từ đó đánh cắp tài sản kỹ thuật số của người dùng.
sự cố câu cá
Mô tả hình ảnh
Nguồn: https://twitter.com/SerpentAU/status/1503232270219431941
Mô tả hình ảnh
Nguồn: https://twitter.com/sentinelwtf/status/1496293768542429187
Dấu trang được đề cập trong phần diễn giải này là dấu trang của trình duyệt. Nội dung của dấu trang này có thể là một đoạn mã độc JavaScript. Khi người dùng Discord nhấp vào, mã JavaScript độc hại sẽ được thực thi trong miền Discord nơi người dùng được đặt và Discord Token sẽ bị đánh cắp. Kẻ tấn công sẽ nhận được Sau khi Discord Token của bên dự án có thể trực tiếp và tự động chiếm lấy các quyền liên quan của tài khoản Discord của bên dự án.
kiến thức nền tảng
Để hiểu rõ sự việc này, bạn đọc cần có kiến thức nền tảng nhất định, các trình duyệt ngày nay đều có trình quản lý bookmark riêng, tiện lợi nhưng cũng dễ bị kẻ gian lợi dụng. Bằng cách cẩn thận xây dựng một trang lừa đảo độc hại, bạn có thể chèn một đoạn mã JavaScript vào dấu trang yêu thích của mình. Khi nạn nhân nhấp vào dấu trang, nó sẽ được thực thi trong miền của tab trình duyệt hiện tại.
Lấy hình ảnh trên làm ví dụ, nạn nhân đã mở trang web chính thức của discord.com và nhấp vào dấu trang độc hại “Xin chào, Thế giới!” trên trang này để thực thi một câu lệnh bật lên. Có thể tìm thấy nguồn thực thi cho thấy bất hòa. com.
Ở đây có một khái niệm miền. Trình duyệt có các chính sách bảo vệ, chẳng hạn như chính sách cùng nguồn gốc. Theo logic, các hoạt động không thuộc về discord.com sẽ không phản hồi các trang trong miền discord.com, nhưng dấu trang bỏ qua hạn chế này.
Có thể thấy trước rằng một chức năng nhỏ như vậy của dấu trang cũng hàm ý các vấn đề về bảo mật, cách thêm dấu trang thông thường sẽ thấy rõ ràng URL của dấu trang:
Người đọc có một chút nhận thức về bảo mật sẽ trực tiếp thấy rằng có một vấn đề rõ ràng với thông tin URL.
Tất nhiên, nếu đó là một cấu trúc có cấu trúc tốt khiến bạn phải kéo và thả bộ sưu tập vào thanh dấu trang vào trang thì sao? Bạn có thể thấy rằng video trình diễn trong liên kết Twitter đã xây dựng một trang quy nạp như vậy: Kéo trang này vào trang được đánh dấu của bạn.
Điều đó có nghĩa là, bạn có thể thêm một liên kết vào thanh dấu trang bằng cách kéo một liên kết, miễn là tập lệnh lừa đảo đủ thực tế, người dùng không đủ nhận thức về bảo mật sẽ dễ dàng bị tuyển mộ.
Để thêm vào thanh dấu trang bằng cách kéo và thả, bạn chỉ cần tạo một thẻ a. Sau đây là mã mẫu:
Bookmarklet có thể thực thi giống như mã trong bảng điều khiển công cụ dành cho nhà phát triển khi được nhấp và sẽ bỏ qua các chính sách CSP (Chính sách bảo mật nội dung).
Bạn đọc có thể nghi ngờ Khi một liên kết như javascript:() được thêm vào thanh dấu trang của trình duyệt, trình duyệt sẽ không đưa ra bất kỳ lời nhắc nào?
Tác giả so sánh trình duyệt Google và Firefox tại đây.
Dùng Google Chrome kéo thả thêm link URL bình thường không cần nhắc chỉnh sửa gì cả.
Sử dụng Google Chrome, kéo và thả để thêm các liên kết độc hại cũng sẽ không có bất kỳ lời nhắc chỉnh sửa nào.
Nếu bạn dùng trình duyệt Firefox nếu add link bình thường sẽ không có thông báo nhắc nhở.
Sử dụng trình duyệt Firefox, nếu bạn thêm một liên kết độc hại, một cửa sổ sẽ xuất hiện nhắc người chỉnh sửa xác nhận việc lưu.
Có thể thấy khả năng bảo mật xử lý của trình duyệt Firefox cao hơn ở khía cạnh thêm dấu trang.
trình diễn kịch bản
Bản demo sử dụng Google Chrome. Với tiền đề là người dùng đăng nhập vào Discord trên web, người ta cho rằng nạn nhân đã thêm một dấu trang độc hại theo hướng dẫn của trang lừa đảo. Thông tin cá nhân như Mã thông báo sẽ được gửi đến kẻ tấn công kênh thông qua webhook Discord do kẻ tấn công thiết lập.
Dưới đây là ví dụ về nạn nhân nhấp vào dấu trang lừa đảo:
Sau đây là bản trình diễn mã JavaScript do kẻ tấn công viết để lấy Mã thông báo và thông tin cá nhân khác, đồng thời nhận thông tin đó thông qua webhook của Máy chủ Discord.
Tác giả thêm một vài chi tiết tấn công có thể gây nghi ngờ:
1. Tại sao nạn nhân nhận được nó sau một cú nhấp chuột?
Từ kiến thức cơ bản, chúng tôi biết rằng dấu trang có thể được chèn vào tập lệnh JavaScript. Với điều này, bạn có thể làm hầu hết mọi thứ, kể cả lấy thông tin thông qua gói giao diện người dùng webpackChunkdiscord_app do Discord đóng gói. Tuy nhiên, để ngăn điều xấu xảy ra, tác giả sẽ không cung cấp cho bạn mã tấn công chi tiết.
2. Tại sao kẻ tấn công lại chọn Discord webhook để nhận?
Vì định dạng của webhook Discord là
https://discord.com/api/webhooks/xxxxxx trực tiếp là tên miền chính của Discord, bỏ qua các vấn đề như chính sách cùng nguồn gốc. Người đọc có thể tạo một webhook Discord mới để thử nghiệm.
3. Tôi có thể làm gì nếu nhận được Token?
tóm tắt
tóm tắt
Các cuộc tấn công luôn xảy ra. Đối với những người dùng đã bị tấn công bằng mã độc, nên thực hiện ngay các hành động sau để khắc phục:
Đặt lại mật khẩu tài khoản Discord của bạn ngay lập tức.
Sau khi đặt lại mật khẩu, hãy đăng nhập lại vào tài khoản Discord để làm mới Mã thông báo, nhằm vô hiệu hóa Mã thông báo mà kẻ tấn công lấy được.
Xóa và thay thế liên kết webhook ban đầu vì webhook ban đầu đã bị xâm phạm.
Nâng cao nhận thức về bảo mật, kiểm tra và xóa các dấu trang độc hại đã được thêm vào.
Với tư cách là người dùng, điều quan trọng cần biết là bất kỳ bổ sung và mã nào cũng có thể độc hại và có rất nhiều tiện ích mở rộng trên web trông rất thân thiện và linh hoạt. Dấu trang không thể ngăn chặn các yêu cầu mạng, tại thời điểm người dùng kích hoạt thực thi theo cách thủ công, vẫn cần phải duy trì một trái tim đáng ngờ.