Chúng tôi rất vui mừng được giới thiệu một loạt các blog phân tích kỹ thuật tập trung vào các lỗ hổng và tiếp xúc phổ biến (CVEs) khác nhau, được xác định và khắc phục bằng các công nghệ phát hiện mối đe dọa tiên tiến của chúng tôi. Tất cả các nghiên cứu được thực hiện bởi các sinh viên tốt nghiệp tham gia vào OPSWAT Chương trình học bổng an ninh mạng ra mắt vào tháng 9/2023.
Trong blog này, chúng tôi sẽ giải thích lỗ hổngbaor mật CVE- 2020-14425 của Foxit PDF Reader và cách các tổ chức có thể tự bảo vệ mình khỏi bị khai thác.
Trình đọc PDF Foxit
Foxit PDF Reader là một công cụ PDF được phát triển bởi Foxit Software , cung cấp nhiều tính năng để tạo, xem, chỉnh sửa và ký số tài liệu PDF. Phiên bản miễn phí của Foxit Reader đã trở nên phổ biến và được hơn 700 triệu người dùng sử dụng.
Để nâng cao khả năng và tính linh hoạt của nó, Foxit PDF Reader hỗ trợ các tiện ích mở rộng JavaScript, cung cấp cho người dùng các tùy chọn tùy chỉnh; Tuy nhiên, điều này cũng gây ra rủi ro bảo mật tiềm ẩn, khiến phần mềm trở thành mục tiêu của những kẻ tấn công.
CVE- 2020 - 14425
Một lỗ hổng trong Foxit PDF Reader trước phiên bản 10.0 cho phép kẻ tấn công thực thi mã từ xa trên thiết bị của nạn nhân khi một tệp PDF đặc biệt crafted được mở. Lỗ hổng này xảy ra do điểm yếu bảo mật của hàm JavaScript app.opencPDFWebPage. Nếu Foxit Reader được cấu hình để sử dụng trình duyệt mặc định để mở các URL nhúng trong tệp PDF, mã độc được nhúng trong tệp thực thi có thể thực thi mà không cần kích hoạt hộp thoại cảnh báo bảo mật.
Tệp PDF được tạo để khai thác CVE này có thể được phân phối thông qua chiến dịch lừa đảo qua email hoặc các liên kết nhúng độc hại. Nếu người dùng mở tệp PDF bị xâm nhập bằng phiên bản Foxit Reader dễ bị tấn công, kẻ tấn công có thể giành quyền kiểm soát thiết bị của nạn nhân thông qua thực thi mã từ xa.
Phân tích CVE-2020-14425
Các tệp PDF được sắp xếp bằng cấu trúc dựa trên cây, bao gồm phần tiêu đề, phần nội dung, bảng tham chiếu chéo và phần trailer.
- Tiêu đề bắt đầu bằng %PDF-1.x, cho biết phiên bản của định dạng PDF. Hiện tại, phiên bản định dạng dao động từ 1.0 đến 1.7. Phần tiêu đề cũng bao gồm siêu dữ liệu tài liệu, chẳng hạn như tác giả, ngày tạo và các thông tin liên quan khác.
- Phần thân bao gồm toàn bộ nội dung của tệp PDF, được cấu trúc thành các đối tượng như trang, luồng văn bản, phông chữ, biểu mẫu, mã JavaScript và các yếu tố khác.
- Bảng tham chiếu chéo (bảng Xref) giữ tham chiếu và độ lệch byte cho tất cả các đối tượng trong tệp PDF. Nó cho phép truy cập nhanh vào các đối tượng mà không cần phải đọc toàn bộ tệp.
- Đoạn giới thiệu lưu trữ thông tin bổ sung cần thiết để định vị bảng xref, chẳng hạn như tổng số mục nhập trong bảng xref và con trỏ đến đầu bảng.
Vì phần thân chứa các đối tượng nhạy cảm của tệp PDF, các cuộc tấn công thường tập trung vào việc tiêm mã độc vào thành phần này.
Các tệp PDF đã trở thành mục tiêu của những kẻ tấn công do tính phổ biến của chúng. Vì các tệp PDF có thể chứa mã JavaScript, chúng có thể được sử dụng để thực hiện các cuộc tấn công khác nhau khi được mở bởi trình duyệt, chẳng hạn như Từ chối dịch vụ (DoS), Chuyển hướng mở hoặc Tập lệnh chéo trang (XSS).
Ngoài ra, kẻ tấn công có thể sử dụng một số kỹ thuật có thể khai thác như Use After Free (UAF) và Buffer Overflow (BoF). Họ cũng có thể khai thác xử lý lỗi phần mềm để thực hiện một cuộc tấn công Thực thi mã từ xa (RCE) trên hệ thống của nạn nhân. Do đó, một tệp PDF có thể mang ransomware, mã hóa dữ liệu trên máy và yêu cầu một khoản tiền chuộc đáng kể để khôi phục hoặc những kẻ tấn công có thể giành toàn quyền kiểm soát máy của nạn nhân.
Trong Foxit Reader, khi một URL trang web được nhúng, người dùng có hai tùy chọn xem: hiển thị trang web trong Foxit Reader hoặc sử dụng trình duyệt mặc định trên thiết bị của người dùng. Trong cấu hình mặc định, Foxit Reader truy cập nội bộ vào trang web được nhúng. Trong nội dung PDF, để yêu cầu mở một trang web, Foxit Reader sử dụng hàm OpencPDFWebPage, một JavaScript giao diện lập trình ứng dụng được thiết kế để bắt đầu mở URL trang web được nhúng trong PDF.
Tuy nhiên, một lỗ hổng xác thực đầu vào không đúng cách tồn tại trong này giao diện lập trình ứng dụng, cho phép kẻ tấn công nhập đường dẫn tệp cục bộ vào hàm opencPDFWebPage. Do đó, hàm có thể mở tệp độc hại với đường dẫn đính kèm và thực thi tệp thực thi này. Lỗ hổng này cho phép kẻ tấn công khởi chạy tải trọng được lưu trữ trên máy của nạn nhân và thực thi mã từ xa.
Tùy chọn mở trang web trong Foxit Reader, một yêu cầu cho IE 10 trở lên, sẽ kích hoạt một cuộc đối thoại cảnh báo trong một nỗ lực khai thác, trong khi nếu tùy chọn được đặt để sử dụng trình duyệt mặc định, nó sẽ bỏ qua cảnh báo bảo mật.
Khai thác lỗ hổng bảo mật
Với lỗ hổng được xác định, một vectơ tấn công tiềm năng liên quan đến một cuộc tấn công lừa đảo sử dụng tệp PDF làm trình tải để thực thi tải trọng đính kèm ẩn. Trong trường hợp này, tác nhân đe dọa gửi tệp ZIP chứa tệp PDF và tệp thực thi ẩn cho nạn nhân, nhằm đánh lừa họ mở tài liệu. CVE trong Foxit Reader sau đó cho phép mã JavaScript nhúng chạy tệp thực thi ẩn, thiết lập kết nối reverse shell với máy của kẻ tấn công.
Để tiêm mã JavaScript vào tệp PDF, kẻ tấn công có thể trực tiếp sửa đổi tệp nội dung PDF hoặc sử dụng các công cụ như Foxit Phantom PDF. Mã độc xác định đường dẫn tệp độc hại và thực thi mã độc hại bằng chức năng opencPDFWebPage.
Sau khi chuẩn bị các tệp PDF độc hại, kẻ tấn công ẩn tệp thực thi và nén thư mục thành tệp ZIP. Để trốn tránh các biện pháp bảo vệ bảo mật chương trình chống vi-rút, kẻ tấn công có thể mã hóa tệp ZIP bằng mật khẩu trước khi gửi cho nạn nhân.
Nếu nạn nhân trích xuất và mở file PDF độc hại bằng phiên bản Foxit Reader dễ bị tấn công, mã độc nhúng trong file thực thi sẽ được thực thi, tạo điều kiện cho kẻ tấn công xâm phạm thiết bị của nạn nhân thông qua reverse shell.
Khắc phục
Các Công nghệ nâng cao nhận dạng mã độc với đa ứng dụng xử lý công nghệ trong Metadefender Core phát hiện các tệp độc hại được nén bằng mật khẩu, cho phép người quản trị xác định chính xác các mối đe dọa này. Với sự tích hợp của hơn 30 công cụ diệt vi-rút kết hợp, tỷ lệ phát hiện phần mềm độc hại đạt hơn 99,99%. Hơn nữa, với Deep CDR (Giải trừ vũ khí và tái thiết nội dung) công nghệ, Metadefender Core có thể loại bỏ hiệu quả mã JavaScript có khả năng gây hại và tái tạo các tệp đã được Làm sạch, an toàn khi sử dụng.
Ngoài ra, MetaDefender Endpoint có thể nhận diện các phiên bản ứng dụng dễ bị tấn công và tự động cập nhật lên các bản vá mới nhất, tăng cường bảo mật điểm cuối trước các mối đe dọa tiềm ẩn trong tương lai.