.ics là đuôi mở rộng của tập tin calendar, khi mở file này lên nó sẽ tích hợp các lịch, ghi chú lịch vào thiết bị. Nếu Hiện nay nhiều Hacker lợi dụng .ics để tấn công lừa đảo. Gần đây trong khi kiểm tra Google Calendar, mình nhận thấy rằng các tệp .ics có thể bị lạm dụng theo cách mà chúng chưa từng được sử dụng trước đây. Kỹ thuật này cho phép bạn tạo cuộc họp trên Calendar với người tổ chức, và người tham dự giả mạo.
Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Tính tương thích của file isc
Mình phát hiện ra rằng kỹ thuật này sẽ hoạt động trên tất cả các nhà cung cấp dịch vụ email phổ biến nhất (ví dụ: Google Workspace, O365), nếu mở trên Android hay iOS nó sẽ tích hợp vào Lịch của điện thoại. Nhưng nó hoạt động tốt hơn trên các mục tiêu của Google do cách Google hiển thị các tệp đính kèm .ics. Do đó, ví dụ minh họa dưới đây sẽ chỉ hướng đến mục tiêu là Google.
Quy trình tấn công
Có thể hiểu quy trình tấn công bằng file ics thế này, Hacker sẽ lừa bạn mở file ics lên, và khi đó các nội dung đã được lên lịch như cuộc họp, ghi chú sẽ được tích hợp vào Lịch trên thiết bị của bạn, đến ngày/tháng được lên lịch nó sẽ hiện thông báo lên và khi bạn mở thông báo ra nó sẽ chuyển link qua trang Web độc hại hoặc tải mã độc xuống máy của bạn.
Tải mẫu .ics
Cách dễ nhất để tải tệp .ics là tạo lời mời trên Google Calendar từ tài khoản Gmail này sang tài khoản Gmail khác và sau đó tải xuống tệp đính kèm email invite.ics.
Đăng nhập vào email khác, nhấp vào lời mời qua email và tải xuống tệp invite.ics.
Bây giờ chúng ta đã có tệp .ics để giả mạo nó.
Giả mạo
Mở tệp invite.ics bằng trình soạn thảo văn bản. Bạn sẽ thấy mỗi dòng ở định dạng key: value. Xóa dòng bắt đầu bằng UID.
# Xóa dòng này
UID:[email protected]
Bây giờ bạn có thể bắt đầu giả mạo danh bạ. Người tổ chức có thể bị giả mạo bằng cách sửa đổi giá trị CN=
như dưới đây.
ORGANIZER;[email protected]:mailto:[email protected]
Đối với những người tham dự, bạn có thể thêm bao nhiêu tùy thích và sửa đổi lại giá trị CN=
và đó là email mà người dùng sẽ nhìn thấy.
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;[email protected];X-NUM-GUESTS=0:mailto:[email protected]
Buộc người tham dự chấp nhận lời mời
Mọi người tham dự đều có khóa PARTSTAT=. Chỉ cần đặt nó thành PARTSTAT=ACCEPTED, nó sẽ xuất hiện như thể những người tham dự đã chấp nhận lời mời.
Thêm ảnh hồ sơ
Địa chỉ mailto: của người tham dự có thể là một email khác mà bạn sở hữu hoặc một email ngẫu nhiên. Đặc quyền của việc dùng email mà bạn sở hữu là bạn có thể đăng nhập vào tài khoản đó và tải lên ảnh hồ sơ của người mà bạn muốn giả danh.
Ví dụ: nếu một trong những người tham dự có [email protected] và mailto:[email protected]. Mình có thể tải ảnh của Johnathan lên địa chỉ [email protected] và đó là những gì người dùng sẽ thấy trong lời mời.
Lưu ý quan trọng
Đảm bảo rằng địa chỉ mailto: của người tổ chức là một email không phải của Google (không phải Gmail hoặc Google Workspace). Vì một số lý do nếu đó là email của Google, các nút “Yes/Maybe/No” không được bao gồm trong email. Đối với ví dụ này, mình sẽ sử dụng tài khoản Hotmail.
Tiêu đề Calendar và thời gian
Bạn có thể thay đổi tiêu đề calendar bằng cách sửa đổi khóa Summary: trong tệp .ics.
Bạn có thể sửa đổi thời gian bằng DTSTART: và DTEND:.
Tóm tắt quá trình
Mình sẽ tóm tắt lại các bước trong trường hợp bạn không hình dung được. Mình giả định rằng mình đã tải xuống tệp invite.ics.
Bước 1
Xóa dòng bắt đầu bằng UID trong tệp .ics.
Bước 2
Đánh lừa người tổ chức và những người tham dự bằng cách sửa đổi các giá trị CN= và mailto:. Đảm bảo giá trị mailto: của người tổ chức là email không phải của Google. Đồng thời đảm bảo rằng bạn đặt PARTSTAT = ACCEPTED cho tất cả những người tham dự ngoại trừ nạn nhân.
ORGANIZER;[email protected]:mailto:[email protected]
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
TRUE;[email protected];X-NUM-GUESTS=0:mailto:[email protected]
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=
TRUE;[email protected];X-NUM-GUESTS=0:mailto:[email protected]
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=
TRUE;[email protected];X-NUM-GUESTS=0:mailto:[email protected]
Bước 3
Sửa đổi tiêu đề Calendar thành bất kỳ tên nào bạn muốn.
SUMMARY:Mandatory Company Townhall Meeting
Bước 4
Đảm bảo rằng bạn đã đặt thời gian của lịch mời một cách chính xác. Thời gian hiển thị bên dưới là 2021-11-02 12 giờ trưa – 1 giờ chiều.
DTSTART:20211102T160000Z
DTEND:20211102T170000Z
Bước 5
Soạn email cho nạn nhân và đính kèm tệp .ics. Định dạng tiêu đề của email phải là như sau:
Invitation: CALENDAR-TITLE-HERE @ Wed Nov 2, 2021 12pm - 1pm (EDT) ([email protected])
Bước 6 – Tùy chọn
Thêm liên kết Google Meet vào nội dung email vì Google tách liên kết Google Meet trong tệp .ics.
Kết quả
Như mong đợi, người dùng nhìn thấy những tên giả mạo mà bạn đã ghi.
Và cả hai người dùng giả mạo đều đã chấp nhận cuộc họp.
Bằng cách di chuột qua các tên trên Google Calendar, mailto:email sẽ xuất hiện, vì vậy hãy cố gắng đặt nó thành một địa chỉ gần giống với email giả mạo.
Ví dụ: [email protected] và mailto: [email protected]
Ngoài ra, bạn cũng có thể tạo ghi chú cuộc họp bằng Google Calendar tại đây.