Mở khóa tính năng ẩn của ThinkPad: mô phỏng thiết bị USB
- Đã phát hiện cách biến laptop ThinkPad X1 Carbon thế hệ 6 thành một thiết bị USB có thể lập trình.
- Bằng cách kích hoạt bộ điều khiển xDCI, có thể mô phỏng các thiết bị USB tùy ý (bàn phím, ổ lưu trữ, v.v.).
- Có thể dùng RawGadget và syzkaller để fuzz USB host hoặc chạy Facedancer.
- Tất cả những việc này đều có thể thực hiện mà không cần phần cứng bên ngoài.
Giới thiệu
- Raw Gadget là một mô-đun nhân Linux dùng để mô phỏng thiết bị USB với khả năng tùy biến rất cao.
- Để mô phỏng thiết bị USB, cần có một thành phần phần cứng đặc biệt gọi là USB Device Controller (UDC).
- Thông thường PC không có UDC, còn nó thường được tích hợp trong các máy tính bo mạch đơn như Raspberry Pi.
Khảo sát
- Khi khảo sát mã nhân Linux liên quan đến bộ điều khiển xHCI, đã phát hiện thiết bị xHCI hỗ trợ chuyển đổi vai trò.
- Qua tìm kiếm trực tuyến, đã tìm thấy các thảo luận về việc chuyển đổi vai trò của thiết bị xHCI.
- Đã kiểm tra ACPI để xác nhận liệu xDCI có được kích hoạt trong ACPI hay không.
Kích hoạt xDCI
- Không tìm thấy thiết lập liên quan đến xDCI trong phần cài đặt BIOS.
- Sau khi kiểm tra trực tiếp image BIOS, đã phát hiện thiết lập liên quan đến xDCI bị ẩn.
Sử dụng xDCI
- Đã kích hoạt xDCI thông qua thiết lập
Advanced của BIOS.
- Đã xác nhận thiết bị xDCI xuất hiện trong
lspci.
Tóm tắt
- Đã tìm ra cách kích hoạt tính năng bộ điều khiển thiết bị USB ẩn trên laptop ThinkPad X1 Carbon thế hệ 6.
- Nhờ đó, laptop có thể mô phỏng thành nhiều loại thiết bị USB khác nhau.
Cảm nghĩ
- Việc kích hoạt xDCI đã mở ra những khả năng sử dụng mới cho chiếc laptop.
Ý kiến của GN⁺
- Bài viết này mở ra một hướng mới cho việc hack phần cứng và tùy biến, bằng cách chỉ ra cách kích hoạt tính năng ẩn trên laptop ThinkPad để mô phỏng thiết bị USB.
- Những tác vụ trước đây cần phần cứng riêng nay có thể thực hiện chỉ với một chiếc laptop, nên điều này có thể rất hữu ích cho các nhà phát triển và nhà nghiên cứu.
- Bài viết đưa ra một thử thách thú vị cho những người có tò mò kỹ thuật, đồng thời giúp khám phá cách tận dụng tối đa tiềm năng của thiết bị sẵn có.
1 bình luận
Ý kiến trên Hacker News
g_mass_storageđể đưa bộ nhớ đó ra cho USB host. Tuy nhiên, băng thông trở thành trở ngại chính vì mức cải thiện tốc độ mà hệ thống nhận được không lớn.