Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar
Chú ếch ngốc nghếch

.ics là gì vậy?

Jos Hoàng Tiên

.ics là đuôi mở rộng của tệp tin calendar, nó tích hợp các lịch, ghi chú lịch vào thiết bị.

Tính tương thích của file ics

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.

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar

Đă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.

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar
Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar
Kỹ thuật tấn công lừa đảo bằng File .ics của CalendarKỹ thuật tấn công lừa đảo bằng File .ics của Calendar

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:59umvk1cmeq4vvr3qbh3qrof8c@google.com

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;CN=spoof@company.com:mailto:mrd0x@hotmail.com

Đố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;CN=fakeattendee@company.com;X-NUM-GUESTS=0:mailto:lol@gmail.com

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ó CN=johnathan@company.com và mailto:mrd0x@gmail.com. Mình có thể tải ảnh của Johnathan lên địa chỉ mrd0x@gmail.com 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;CN=ceo@company.com:mailto:mrd0x@hotmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
TRUE;CN=victim@gmail.com;X-NUM-GUESTS=0:mailto:victim@gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=
TRUE;CN=ciso@company.com;X-NUM-GUESTS=0:mailto:mrd0x3@hotmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=
TRUE;CN=cfo@company.com;X-NUM-GUESTS=0:mailto:mrd0x3@gmail.com

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) (ORGANIZER@SPOOFED.com)

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ỹ thuật tấn công lừa đảo bằng File .ics của Calendar

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.

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar

Và cả hai người dùng giả mạo đều đã chấp nhận cuộc họp.

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar

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ụ: CN=johnathan@company.com và mailto: johnathan@gmail.com

Kỹ thuật tấn công lừa đảo bằng File .ics của Calendar

Đăng nhận xét

Mới hơn Cũ hơn