ImageGate: Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Nhà nghiên cứu Check Point xác định điểm một kiểu tấn vector công mới được đặt tên ImageGate mà cho phép nhúng phần mềm độc hại trong hình ảnh và các tập tin đồ họa. Hơn nữa, các nhà nghiên cứu đã phát hiện ra phương pháp của tin tặc thực thi mã độc hại trong những hình ảnh thông qua các ứng dụng social media như Facebook và LinkedIn.

ImageGate: Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Theo nghiên cứu, những kẻ tấn công đã xây dựng được một khả năng mới để nhúng mã độc vào một tập tin hình ảnh thành công tải nó lên trang web social media. Những kẻ tấn công khai thác một cấu hình sai trên cơ sở hạ tầng social media để cố tình ép buộc nạn nhân của họ để tải về các tập tin hình ảnh. Điều này dẫn đến lây nhiễm thiết bị của người sử dụng ngay sau khi nhấp chuột của người dùng cuối vào file đã download.

Trong tuần vừa qua, toàn bộ ngành công nghiệp an ninh mạng đang theo sát sự lây lan lớn của ransomware Locky qua social media, đặc biệt trong chiến dịch trên Facebook của mình. Nhà nghiên cứu Check Point mạnh mẽ tin rằng kỹ thuật ImageGate mới tiết lộ cách chiến dịch này đã được thực hiện tốt, một câu hỏi đặc ra đã có câu trả lời ngay bây giờ.

Các nhà nghiên cứu Check Point phát hiện các vector tấn công ảnh hưởng đến các trang web lớn và các mạng xã hội trên toàn thế giới, bao gồm cả Facebook và LinkedIn. Check Point đã cập nhật các vector tấn công của Facebook và LinkedIn vào đầu tháng 9.

Xem video demo

Trong trường hợp của ransomware Locky, một khi người dùng tải về và mở file độc hại mà họ nhận được – tất cả các tập tin trên thiết bị cá nhân của họ sẽ được tự động mã hóa và họ chỉ có thể được truy cập vào chúng sau khi trả tiền chuộc. Ước lượng ngành công nghiệp là chiến dịch vẫn đang hoành hành và tích lũy các nạn nhân mới mỗi ngày.

Theo nhiều người dành nhiều thời gian trên các trang mạng xã hội, tin tặc đã chuyển sang tập trung vào họ để tìm một cách để đặt nền tảng. Bọn tội phạm mạng hiểu các trang web này thường “whitelisted” và vì lý do này họ đang liên tục tìm kiếm các kỹ thuật mới để sử dụng phương tiện truyền thông xã hội như các host cho các hoạt động độc hại. Để bảo vệ người dùng chống lại các mối đe dọa tiên tiến nhất, Check Point phấn đấu để xác định mục tiêu tiếp theo của kẻ tân công.

Phương pháp bảo vệ

Check Point khuyến cáo các biện pháp phòng ngừa sau đây:

  1. Nếu bạn đã nhấp vào một hình ảnh và trình duyệt của bạn bắt đầu tải về một tập tin, không mở nó. Bất kỳ trang web social media sẽ hiển thị các hình ảnh mà không cần tải bất kỳ tập tin.
  2. Không mở bất kỳ file ảnh với phần mở rộng bình thường (như SVG, JS hay HTA).

CẬP NHẬT: ngày 20 tháng 12

Facebook Proof of Concept # 1

Facebook là một trong những website nổi bật nhất đã được chứng minh lỗ hổng ImageGate dẫn đến cuộc tấn công. Các cuộc tấn công trên Facebook bao gồm nhiều giai đoạn, trong đó biện pháp an ninh bị phá vỡ.

Để bắt đầu tấn công, kẻ tấn công craft một payload mà cuối cùng sẽ được tải về bằng bạo lực vào máy tính của nạn nhân, và sẽ thực hiện một phần mềm độc hại thực hoặc mã độc hại.

Đầu tiên, kẻ tấn công nhúng nội dung độc hại bên trong hình ảnh sử dụng HEX editor (hoặc bất kỳ trình soạn thảo khác) theo cấu trúc hình ảnh.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Và đây là kết quả:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Những hình ảnh với các payload được tải lên và tải về để xem, nếu các payload đã bị hỏng bởi việc tải lên đến máy chủ của Facebook.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Tuy nhiên, chiến thuật này là không đơn giản như vậy, như Facebook gạt các payload ra khỏi hình ảnh.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Tuy nhiên vấn đề trên có thể được khắc phục bằng cách tải lên API hình ảnh đồ họa và tùy chỉnh fuzzer. logic chính của fuzzer là như sau:

  • Thay đổi một vài thứ cơ của hình ảnh và tiêm các payload ở đâu đó trong tập tin.
  • Tải lên hình ảnh đó lên Facebook.
  • Lấy hình ảnh sau khi Facebook rip các payload và tái tạo lại nó.
  • Kiểm tra các payload tồn tại trong hình ảnh.
  • Dừng nếu nó hoạt động.
  • Di chuyển các byte payload X.
  • Tự điều chỉnh các vị trí payload (theo đầu ra và hành vi của hệ thống)

Lưu ý: các API đò họa trở về hình ảnh nhỏ hơn so với bản gốc, do đó hình ảnh sẽ không chứa các dữ liệu hình ảnh đầy đủ với các payload. Chúng tôi quản lý để thấy rằng nếu chúng ta loại bỏ s720x720 từ URL, có thể truy cập các hình ảnh ban đầu có chứa các dữ liệu hình ảnh đầy đủ với payload của chúng tôi.

Bằng cách làm này, kẻ tấn công có thể tải lên payload của mình bên trong hình ảnh để máy chủ của Facebook.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Một khi trở ngại này được loại bỏ, kẻ tấn công sẽ cần phải đi xa hơn để đảm bảo thành công. Để làm điều đó, kẻ tấn công upload các tập tin độc hại trong các form của hình ảnh với độ phân giải cao hơn 962X541. Điều này là cần thiết vì nó không đòi hỏi thêm một mã thông báo để liên kết của tập tin. Nếu một mã thông báo được thêm vào, các cuộc tấn công sẽ thất bại. Một khi hình ảnh được tải lên, kẻ tấn công sẽ sao chép liên kết của tập tin, mà sẽ giống như thế này: http://scontent-lhr3-1.xx. fbcdn.net/t31.0-8/14086313_295633347470226_3946240742478472027_o.jpg

Bước tiếp theo là thay đổi kiểu nội dung, từ một .jpg chỉ để một octet-steam. Kẻ tấn công có thể thay đổi các kiểu nội dung chỉ đơn giản bằng cách thêm một dấu chấm ở cuối URL như hình dưới đây:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Những kẻ tấn công thêm một tham số dl = 1, mà nguyên nhân Facebook để tải về các hình ảnh thay vì trình bày nó.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Để hiểu những gì sẽ xảy ra khi dl = 1 được thêm vào, chúng tôi cung cấp phân tích chi tiết:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Như có thể thấy trong hình trên, các máy chủ Facebook có thêm một tiêu đề tập tin đính kèm Content-DispositionL, nhưng không chỉ định một tên tập tin. Kẻ tấn công có thể thao tác các component của Chrome CoreWebkit để thay đổi tên tập tin. Trong thành phần của Chrome CoreWebkit, chức năng PopulateURLResponse sẽ được gọi khi nhận được dữ liệu từ máy chủ:

Như có thể thấy trong hình trên, các máy chủ Facebook có thêm một tiêu đề tập tin đính kèm Content-DispositionL, nhưng không chỉ định một tên tập tin. Những kẻ tấn công có thể thao tác các component của Chrome CoreWebkit để thay đổi tên tập tin. Trong thành phần của Chrome CoreWebkit, chức năng PopulateURLResponse sẽ được gọi khi nó nhận được dữ liệu từ máy chủ:

Chức năng này sẽ quản lý tất cả các component response có chứa tên tập tin, các dòng sau đây sẽ gọi đến GetSuggestedFileName

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Nếu hàm tại headers-> EnumerateHeader không tìm thấy tên tập tin trong giá trị content-disposition”  sẽ bị xóa do đó giá trị sẽ được lấy từ các URL như đã thấy trong các hàm sau.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Đó là hàm sẽ gọi đến GetFileNameFromURL content_disposition.empty () sẽ là True như đã thấy trong hình dưới đây:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Hàm GetFileNameFromURL gọi hàm ExtractFileName nếu URL là hợp lệ và không about: // hay “data: //.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thôngImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Gọi đến hàm DoExtractFileName

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Tiếp theo, đoạn mã tiếp cận hàm DoExtractFileName để chiết xuất tên dẫn tập tin từ đường dẫn mà ở giữa có các dấu gạch chéo “/” cuối cùng đi theo là dấu chấm phẩy “;”.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Sử dụng thông tin này, kẻ tấn công có thể thao tác các URL và thay đổi tên tập tin ở client side nếu thêm /filename.extension; vào URL. Bằng cách làm này, kẻ tấn công có thể đưa những hình ảnh độc hại như một tập tin hấp dẫn như facebook_password.exe ví dụ:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

https://scontent-lhr3-1.xx. fbcdn.net/t31.0-8/14102894_1137188709676282_2198558191558447569_o.jpg/facebook_password.exe;.?dl=1

Ở giai đoạn này, các tập tin sẽ không chạy được,phần đầu tập tin không phải là một PE header. Tuy nhiên, kẻ tấn công có thể thay đổi header để một định dạng đó hoặc có thể là một hình ảnh hoặc một thực thi, như  định dạng .hta . Bằng cách này, các ứng dụng mà thực hiện nó quyết định khả năng của mình.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Một khi tất cả các bước này được hoàn thành, tất cả những gì kẻ tấn công cần làm là gửi hình ảnh đến một người nào đó thông qua Facebook.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Và payload sẽ được thực thi trên thiết bị của họ.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

The Facebook Proof of Concept #2

Lần này, cuộc tấn công dựa trên Facebook messenger. Kẻ tấn công sẽ hành động vào các bước sau đây:

Kẻ tấn công Đính kèm một hình ảnh cho messenger và sau đó làm thay đổi các kiểu nội dung request đó sẽ thay đổi các dữ liệu để octet-stream như trước. Lần này chúng ta cần phải sử dụng một hình ảnh content-type: image / svg + xml

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Những kẻ tấn công sử dụng svg + xml content-type đ làm cho Facebook trình bày các tập tin đính kèm dưới dạng tập tin hình ảnh và thay đổi các kiểu nội dung octet-stream nếu không thì trình duyệt sẽ lưu các tập tin như hình ảnh.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Khi nạn nhân click vào hình ảnh, tập tin sẽ được tải về. Khi nạn nhân mở file đó sẽ được thực thi theo phần mở rộng tập tin, ví dụ HTA trong demo của chúng tôi.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Nhấp chuột vào các tập tin sẽ khởi động các cuộc tấn công và  kẻ tấn công sẽ có thể hoàn toàn kiểm soát máy tính của nạn nhân!

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Reproduce Steps in LinkedIn

LinkedIn cũng dễ bị kiểu tấn công vector ImageGate, với sự thay đổi nhỏ. Để thực hiện các cuộc tấn công tương tự, kẻ tấn công cần thay đổi hình ảnh hồ sơ cá nhân của mình với những hình ảnh độc hại có chứa các payload.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Lấy URL từ proxy, và hủy bỏ các hoạt động, cách này hình ảnh sẽ không được hiển thị trong hồ sơ của mình nhưng sẽ tồn tại trên máy chủ LinkedIn CDN.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnhImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Sẽ có đường dẫn như sau:

http://media.licdn. com/media/AAEAAQAAAAAAAAiEAAAAJDk5YzJjMzAzLTU2ZjEtNDk2OC1iNzQ5LWZjYzcXXXXXXXXXXX.jpg

Lần này những kẻ tấn công sẽ có cách tiếp cận khác nhau, tạo ra một liên kết đến URL sử dụng Anchor Tag:

<p>LinkedIn POC<br>

<a href=”http://media.licdn.com/media/AAEAAQAAAAAAAAiEAAAAJDk5YzJjMzAzLTU2ZjEtNDk2OC1iNzQ5LWZjYzcXXXXXXXXXXX.jpg” download=”linkedin_password.hta”>Download this image1</a>

</p>

Sử dụng tham số mới HTML5 tải về và tên tập tin có thể thay đổi tên tập tin từ  client side, nhưng công việc này chỉ áp dụng same origin policy. Điều này có nghĩa Anchor Tag cần phải được trên cùng một tên miền với các tập tin tải về để làm việc.

Câu hỏi đặt ra: làm thế nào Anchor Tag sẽ chọn tên tập tin?

Để hiểu rõ chúng ta cần phải quay trở lại mã nguồn Webkit core và xem tên tập tin được lựa chọn:

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

Nếu downloadAttr trong Anchor Tag của các suggestedName sẽ là tên của tham số tải về, chỉ khi yêu cầu được làm từ isSameOrigin nếu không nó không thể thay đổi nó trên client side. Tuy nhiên như đã thấy trước đây, tên tập tin có thể được điều khiển thông qua /filename.extension; kẻ tấn công có thể bổ sung vào Anchor Tag.

<a href=”http://media.licdn.com/media/AAEAAQAAAAAAAAiEAAAAJDk5YzJjMzAzLTU2ZjEtNDk2OC1iNzQ5LWZjYzcXXXXXXXXXXX.jpg/linkedin_password.hta;aaaa” download=”will_not_be_selected_as_file_name.jpg“> press here

</a>

Và tên tập tin thực sự thay đổi! Có thể sử dụng các kỹ thuật tương tự để kiểm soát các tên tập tin trên client side thậm chí nếu nó không tuân thủ các  same origin policy như đề cập đến trong mã nguồn WebKit. Nếu nạn nhân tải và mở tập tin, payload sẽ được thực thi.

ImageGate Check Point phát hiện ra một phương pháp mới để phân phối phần mềm độc hại thông qua hình ảnh

checkpoint