Thiết bị camera an ninh này được Xiaomi bán ra thị trường với hai phiên bản: Home Camera và Home Camera 2. Nếu phiên bản Home Camera chỉ có các chức năng cơ bản như quay phim, chụp hình và streaming qua internet như các IP Camera thông thường, thì phiên bản Home Camera 2 có bổ sung thêm các tính năng ưu việt hơn như nhận diện khuôn mặt, sử dụng cảm biến CMOS mạnh mẽ hơn, xử lí âm thanh,…
 Như trái tim của hầu hết các thiết bị IoT trên thị trường, firmware là nơi chứa các đoạn mã script và chương trình xử lí của thiết bị. Hầu hết các lỗ hổng trong các thiết bị IoT đều được phát hiện và khai thác lỗi chương trình có trong firmware. Thật may mắn, nhà cung cấp Xiaomi cho phép chúng ta tải về firmware cho cả hai thiết bị này tại địa chỉ: http://www.yitechnology.com/firmware_home.php?id=4
Dưới đây là hai phiên bản mới nhất được tải về từ trang web của nhà cung cấp.
Firmware:
  • Home Camera: 1.8.6.1B_201604071151home
  • Home Camera 2: 2.1.1_20160516110700home
Công việc đầu tiên của chúng ta là kiểm tra thành phần của hai firmware này, tìm kiếm các chương trình chính của thiết bị cũng như các tệp tin cấu hình hoặc các thông tin thú vị khác như mật khẩu mặc định, private key,…
Mình sử dụng bộ công cụ quel thuộc binwalk, file, strings để thăm dò và extract các thành phần trong firmware.
Chúng ta có thể thấy, nhà sản xuất không thực hiện việc nén hay áp dụng một kĩ thuật mã hoá nào đó, nên chúng ta có thể dễ dàng sử dụng lệnh file để tìm kiếm dấu hiệu nhận dạng của file firmware này. Chúng ta có thể đoán qua được, bên trong Camera này là một hệ thống Linux nhúng, có file system để lưu trữ những chương trình có thực hiện công việc mở cổng dịch vụ giao tiếp với client như httpd, telnetd, sshd, .. và các tệp tin cấu hình,…
Chúng ta thấy có một file system JFFS2, khả năng đây là phân vùng /home lưu các chương trình điều khiển của thiết bị. Filesystem này được lưu ở vị trí từ offset thứ 64 trong file firmware này, nhiệm vụ của chúng ta ở đây là dump filesystem này ra.
Tiếp theo đó, ta cần mount file system này vào máy của mình để xem bên trong nó có những gì. Trên máy ảo Ubuntu, ta thực hiện lệnh:
Vậy chúng ta đã có thể xem được cấu trúc thư mục và các tệp tin bên trong file system này.
Chúng ta có thể thấy, từ offet thứ 512 của file firmware này, lưu thông tin của UBI filesytem, ở phiên bản này nhà sản xuất không sử dụng JFFS2 nữa, mà sử dụng UBI Filesystem. Để extract file system này ra, chúng ta sử dụng lệnh.
Xem thông tin file system vừa extract,
Cài đặt ubi_reader
Sau khi extract, chúng ta có được cấu trúc thư mục và tệp tin của firmware này.
 http://pastebin.com/1mspchfG 
99 directories, 783 files 
Hà Trung Hiếu – FTI 
Tin liên quan: