Mở đầu về lỗ hổng OLE

Tại Black Hat USA 2015, Haifei Li & Bing Sun đã trình bày về khả năng tấn công OLE (Object Linking and Embedding), đặc biệt là khi được sử dụng trong các tài liệu Office. Trước đây, các lỗ hổng ActiveX liên quan đã được có trong báo cáo về Internet Explorer (ví dụ, nghiên cứu của Will Dormann – chuyên gia phân tích lỗ hổng tại CERT/CC).

Mở đầu về lỗ hổng OLE

Từ đó, Microsoft đã bổ sung thêm nhiều giải pháp để khắc phục lỗi trong Internet Explorer, bao gồm Per-Site/Per-User ActiveX và Enhanced Protected Mode. Nhưng những giải pháp khắc phục đó không được áp dụng trong Office – như đã được chỉ ra bởi Li & Sun. Vì vậy loạt bài này sẽ tập trung sâu bên trong của các lỗ hổng OLE: DLL hijacking (DLL hijacking)

Kỹ thuật

DLL hijacking xuất hiện khi Office tìm kiếm một DLL trong cùng thư mục chứa các tài liệu Office. Những kẻ tấn công đặt một DLL được thiết kế đặc biệt và tài liệu Office trong cùng thư mục và sau đó chờ đợi, hoặc lôi kéo một nạn nhân để mở tài liệu. Khi mở tài liệu này, mã độc sẽ được thực thi với các đặc quyền của nạn nhân.

Các đối tượng OLE được nạp bởi CLSID (hoặc ProgID). DLL hijacking có thể xuất hiện mặc dù các đối tượng được nạp không phải là một đối tượng OLE. Để Office xác định xem một đối tượng có phải là một đối tượng OLE không, đầu tiên nó phải nạp đối tượng (COM- Component Object Model) trong bộ nhớ. Sau đó, nếu là một đối tượng OLE, đối tượng được truy vấn để xem. Khi đối tượng được nạp, mã khởi tạo sẽ được thực thi.

Mở đầu về lỗ hổng OLE

Các công cụ thương mại

Một công cụ đơn giản được tạo ra để tìm DLL hijacking và các vấn đề khác về OLE. Phương pháp được thực hiện như sau:

  • Lặp thông qua tìm kiếm các CSLID và tạo ra một tập tin PowerPoint cho mỗi CLSID.
  • Mở các tệp tin PowerPoint.

Trong khi mở PowerPoint, chạy Process Monitor, tìm kiếm các tệp tin DLL được nạp từ thư mục hiện tại.

Tự kiểm tra nếu các DLL tìm thấy có thể được sử dụng để thực thi mã tùy ý.

Mở đầu về lỗ hổng OLE

Thực hiện các kiểm tra trên một số hệ thống, từ Windows Vista đến Windows 10, và Office 2007 đến Office 2016 đã phát hiện 15 vấn đề khác nhau liên quan đến các DLL hijacking, có thể khai thác thông qua 24 CLSID đặc biệt. Microsoft phát hành MS15-132, điều đó đã chỉ ra 5 trong số các vấn đề mà đã được báo cáo.

Video Demo

conmaz