Tính năng Plug and Play (PnP) của Windows có thể bị lạm dụng để tải về các phần mềm của nhà cung cấp đã được ký số cho một thiết bị USB mô phỏng, sau đó thực thi các thành phần cài đặt có đặc quyền cao. Các nhà nghiên cứu đã kết hợp các thành phần này để chiếm quyền truy cập SYSTEM trên một máy tính Windows 11 đã được cập nhật đầy đủ.
Quy trình PnP tương tự có thể được kích hoạt thông qua Remote Desktop mà không cần phần cứng vật lý khi tính năng Plug and Play được hỗ trợ hoặc chuyển hướng USB (USB redirection) cấp thấp được bật. Microsoft cho biết tính năng chuyển hướng này không được phép theo mặc định.
Hai nhà nghiên cứu bảo mật Alejandro Hernando và Borja Martinez đã mô tả kỹ thuật này trong báo cáo "Plug And Pwn: Weaponizing Windows PnP Auto-Install" được chuẩn bị cho hội nghị DEF CON 34.
Mô phỏng thiết bị USB để thực thi mã đặc quyền
Họ đã xây dựng các công cụ để mô phỏng các thiết bị USB bất kỳ và cho biết rằng, trong những điều kiện nhất định, một người dùng không có đặc quyền có thể biến quy trình cài đặt PnP thành hành vi thực thi mã với quyền SYSTEM. Tài liệu về driver của chính Microsoft mô tả bước lựa chọn cơ bản: Windows nhận ID phần cứng và các ID tương thích của thiết bị, sau đó sử dụng chúng để tìm kiếm gói driver phù hợp.
Theo các nhà nghiên cứu, chuỗi tấn công vật lý bắt đầu bằng việc mô phỏng một thiết bị Sierra Wireless để Windows tự động cài đặt SwiService.exe, một dịch vụ chạy với quyền SYSTEM cung cấp hàm SetDNS. Họ sử dụng hàm này để chuyển hướng DNS, sau đó mô phỏng một đầu đọc Sony FeliCa mà trình cài đặt đi kèm của nó sẽ tải các tệp cấu hình qua giao thức HTTP không mã hóa và tạo tên tệp cục bộ dựa trên đường dẫn URL.
Các nhà nghiên cứu cho biết một lỗ hổng path-traversal cho phép họ đặt một tệp DLL vào thư mục System32. Khi kết nối lại thiết bị Sierra, hệ thống sẽ tải tệp DLL đã được cài cắm này và cấp quyền SYSTEM cho kẻ tấn công. Bản trình diễn của họ được thực hiện trên hệ thống Windows 11 đã cập nhật đầy đủ, do đó kết quả này không nên được khái quát hóa cho các phiên bản Windows chưa được kiểm tra.
Tấn công từ xa thông qua Remote Desktop (RDP)
Biến thể tấn công từ xa thay thế thiết bị vật lý bằng lưu lượng USB tổng hợp qua RDP. Công cụ Python của các nhà nghiên cứu giả mạo danh tính USB và trình diện một thiết bị Intel RealSense ảo, khiến Windows thực hiện quy trình cài đặt thiết bị theo đường dẫn đã bị chuyển hướng.
Họ tuyên bố rằng phần mềm RealSense kết quả có thể bị lạm dụng thông qua kỹ thuật chiếm quyền ưu tiên tìm kiếm DLL (search-order hijack) đối với tệp CRYPTBASE.dll từ một thư mục cài đặt mà người dùng có quyền ghi, cho phép người dùng có đặc quyền thấp thực thi mã với quyền SYSTEM. Microsoft cũng tài liệu hóa rằng các thiết bị ngoại vi USB cấp thấp được chuyển hướng sẽ sử dụng cùng quy trình cài đặt driver như trên máy tính vật lý.
Cấu hình và các biện pháp hạn chế
Đường dẫn tấn công từ xa phụ thuộc hoàn toàn vào cấu hình máy tính, không phải là một chế độ mặc định của Windows. Microsoft khẳng định rằng Remote Desktop Services không cho phép chuyển hướng Plug and Play và RemoteFX USB theo mặc định. Hướng dẫn chuyển hướng USB của họ cũng yêu cầu Plug and Play phải được bật trước khi tính năng chuyển hướng USB cấp thấp có thể hoạt động.
Các quản trị viên không cần tính năng này có thể để nó ở trạng thái tắt. Microsoft cũng cung cấp các chính sách hạn chế cài đặt thiết bị để cho phép hoặc chặn thiết bị dựa trên ID phần cứng, ID phiên bản thiết bị hoặc lớp thiết lập (setup class). Trên máy chủ Remote Desktop, các chính sách này cũng có hiệu lực đối với các thiết bị được chuyển hướng.
Kết luận
Chuỗi tấn công vật lý có một điều kiện tiên quyết quan trọng: kẻ tấn công phải có khả năng tiếp cận và cắm một thiết bị USB mô phỏng vào máy mục tiêu.
Nghiên cứu này cho thấy việc lạm dụng quy trình cài đặt đặc quyền hợp lệ kết hợp với các điểm yếu trong các gói phần mềm của bên thứ ba đã được ký số. Các cơ chế khai thác cụ thể đối với các sản phẩm của Sierra, Sony và Intel hiện vẫn là kết quả nghiên cứu độc lập và cần được xác nhận thêm từ phía các nhà cung cấp.