Mở khóa thiết bị Android bằng Brute-Force

Ngày nay, ngay cả những người không làm việc trong lĩnh vực DFIR cũng biết rằng việc đoán mật khẩu thủ công không phải là phương pháp nhanh nhất, mà việc mất quyền truy cập vĩnh viễn vào thiết bị và dữ liệu của nó là kết quả phổ biến nhất. Các nhà sản xuất thiết bị và nhà phát triển phần mềm đã làm việc xuất sắc trong việc bảo vệ dữ liệu người dùng. Và ngay cả khi không có giới hạn về số lần thử đăng nhập, việc bẻ khóa PIN Android thủ công với hàng nghìn, hàng triệu tổ hợp có thể rõ ràng không phải là lựa chọn.

Một điện thoại Android bị khóa với thời gian chờ mật khẩu

Vậy, làm thế nào để mở khóa thiết bị Android cho mục đích pháp y? Tìm các lỗ hổng cho phép bạn xâm nhập vào hệ thống, bỏ qua các hạn chế (ít nhất là một phần của chúng), và khởi động cuộc tấn công brute force tự động.

Nói thì dễ, làm thì khó.

Các thiết bị Android cực kỳ đa dạng. Mặc dù chúng chia sẻ các tính năng bảo mật chung, không có giải pháp phổ quát nào. Các giải pháp có sẵn nhắm vào các nhóm mô hình chipset cụ thể, đó là lý do tại sao mỗi phương thức brute force mật khẩu Android trong Belkasoft X đều có quy trình làm việc riêng — tùy thuộc vào việc bạn đang xử lý các thiết bị dựa trên MediaTek, Kirin hay Unisoc.

Giới thiệu ngắn gọn về brute force màn hình khóa Android

Hầu hết các thiết bị Android đến các phòng thí nghiệm pháp y ngày nay đều có dữ liệu người dùng được mã hóa. Các khóa mã hóa được sử dụng để bảo vệ chúng được trích xuất trong Môi trường Thực thi Đáng tin cậy (TEE) sau khi thiết bị khởi động và người dùng nhập mật khẩu. Những khóa này dựa trên các khóa cụ thể của thiết bị và các khóa được dẫn xuất từ mật khẩu màn hình khóa của người dùng.

Các cuộc tấn công brute force pháp y khai thác các lỗ hổng cụ thể của chipset, chẳng hạn như khai thác các lỗ hổng trong quá trình khởi động như ROM khởi động không an toàn hoặc chế độ gỡ lỗi. Cụ thể, Belkasoft X có thể làm gián đoạn chuỗi khởi động an toàn, có được khả năng thực thi mã ở mức thấp và trích xuất các khóa cần thiết để brute force mật khẩu từ TEE. Cuộc tấn công brute force này hoạt động ngoại tuyến—tránh được việc điều chỉnh bình thường của Android (trì hoãn xử lý dữ liệu hoặc giới hạn thử nghiệm). Tốc độ đoán mật khẩu phụ thuộc vào độ phức tạp của hàm dẫn xuất khóa và khả năng tính toán của máy trạm pháp y kỹ thuật số.

Quá trình này không tương tác với dữ liệu người dùng được trích xuất từ thiết bị, do đó xác suất thay đổi thông tin hoặc mất dữ liệu ít hơn.

Màn hình Belkasoft X hiển thị lời nhắc hỏi liệu người dùng có muốn brute force mật khẩu di động không

Đặc điểm brute force Unisoc

Các bộ xử lý chi phí thấp của Unisoc (trước đây là Spreadtrum) được tìm thấy trong nhiều thiết bị Android giá rẻ. Một số mô hình SoC này có các lỗ hổng cho phép thực thi mã trong BootROM khi khởi động thiết bị ở Chế độ Tải xuống Spreadtrum (SPD) qua USB. Belkasoft X sử dụng những lỗ hổng này để có thể chạy mã riêng của mình trong các giai đoạn khởi động sớm nhất, trích xuất nội dung khóa mã hóa và brute force mật khẩu ngoại tuyến. Các lỗi BootROM không thể được sửa chữa thông qua cập nhật phần mềm (vì chúng ở trong bộ nhớ chỉ đọc), do đó các SoC bị ảnh hưởng vẫn không an toàn mãi mãi.

Phương pháp brute force này là một phần của quy trình thu thập Spreadtrum và dễ thực hiện và tương đối nhanh. Bạn chỉ cần cài đặt một số driver, đưa thiết bị Unisoc vào chế độ SPD và bắt đầu quá trình.

Đặc điểm brute force MediaTek (MTK)

Các SoC MediaTek cung cấp năng lượng cho nhiều loại thiết bị Android (đặc biệt là điện thoại tầm trung như Xiaomi, Vivo, Oppo). Nhiều thiết bị trong số này không có phần tử bảo mật chuyên dụng và chỉ dựa vào TEE để bảo mật—và quan trọng là, BootROM của MTK có các lỗ hổng đã biết mở ra cánh cửa cho các cuộc tấn công brute force. Cụ thể, nó cho phép tải lên và thực thi mã không được ký trước khi khởi động an toàn được triển khai.

Belkasoft X cung cấp quy trình thu thập có thể xâm nhập vào quá trình khởi động của nhiều thiết bị dựa trên chipset MTK. Giống như các thiết bị dựa trên Unisoc, nó tải xuống hình ảnh thiết bị vật lý và nội dung mã hóa để quá trình brute force có thể được chạy ngoại tuyến.

Để brute force MTK thành công, bạn cần cài đặt driver cho khả năng giao tiếp cấp thấp với MTK sau đó đưa thiết bị vào chế độ BootROM (hoặc chế độ Preloader cho một số thiết bị). Toàn bộ quá trình bao gồm một số bước tiên quyết bổ sung và đòi hỏi nhiều sự chú ý hơn so với brute force Unisoc, nhưng vẫn tương đối dễ thực hiện và hoạt động khá nhanh.

Đặc điểm brute force Kirin

Các chipset HiSilicon Kirin, chủ yếu được sử dụng trong các thiết bị Huawei và Honor, trình bày một tình huống hơi khác. Các điện thoại hàng đầu của Huawei thường đi kèm với bảo mật mạnh mẽ (bao gồm triển khai TEE riêng của họ và trong các mô hình mới hơn cũng có phần tử bảo mật tích hợp cho thanh toán). Không giống như MTK hoặc Unisoc, không có nhiều khai thác BootROM cho Kirin được tiết lộ công khai. Thay vào đó, các công cụ DFIR sử dụng chế độ kỹ thuật cụ thể thiết bị của Huawei và các lỗ hổng bootloader.

Để brute force thiết bị dựa trên Kirin, bạn cần đưa nó vào chế độ Tải xuống USB (còn được gọi là chế độ cổng COM), cho phép giao tiếp USB với thiết bị và do đó cung cấp quyền truy cập vào các thành phần cần thiết cho các cuộc tấn công brute force. Kích hoạt chế độ này đòi hỏi một số nỗ lực thủ công: bạn cần mở thiết bị, tìm điểm kiểm tra và đoản mạch nó bằng cách sử dụng nhíp đầu nhỏ.

Trình diễn cách đoản mạch điểm kiểm tra của thiết bị Huawei

Belkasoft X hiện tại hỗ trợ brute force và thu thập dữ liệu cho các thiết bị chạy trên chipset Kirin 970 và 980. Quá trình này hoạt động ngoại tuyến, làm cho nó khá nhanh và an toàn. Quy trình thu thập phụ thuộc vào việc thiết bị đã nhận được một số bản vá bảo mật hay chưa. Một số mô hình không thể kết nối qua USB, một số cần cáp Harmony TCP để bắt đầu giao tiếp USB, và một số kết nối trực tiếp qua USB-C. Belkasoft X sẽ cho bạn biết phải làm gì.

Suy nghĩ cuối cùng: Đừng bỏ cuộc với bằng chứng bị khóa!

Hầu như mọi thiết bị đều có lỗ hổng phần cứng hoặc phần mềm. Các thiết bị rẻ tiền và cũ, thường được sử dụng làm điện thoại dùng một lần, thường dễ bị tổn thương hơn đối với brute force và thu thập, trong khi các thiết bị Android chất lượng cao thường được xây dựng như pháo đài (đây là một trò chơi chữ).

Tìm kiếm các khai thác không dễ dàng và mất thời gian để nghiên cứu và triển khai; đó là lý do tại sao nhiều phương pháp brute force chỉ nhắm vào các mô hình điện thoại và máy tính bảng cũ hơn. Nhưng dù sao, chúng ta không nên bỏ cuộc với bằng chứng bị khóa!

Hãy tưởng tượng: bạn nhận được một chiếc điện thoại bị khóa từ một nghi phạm không hợp tác. Đó là một mô hình mới, được cập nhật đầy đủ và khó để crack. Nhưng sau đó, trong quá trình điều tra một thiết bị khác được tìm thấy—một chiếc điện thoại cũ mà nghi phạm đã bỏ rơi nhiều năm trước. Nó cũng bị khóa, nhưng lần này công cụ DFIR của bạn (có thể là Belkasoft X) hỗ trợ nó. Đây là điểm mấu chốt: mọi người thường sử dụng cùng một mật khẩu trong nhiều năm, đôi khi là nhiều thập kỷ. Do đó, có khả năng cao là mật khẩu của thiết bị cũ giống với thiết bị mới.

Kiên nhẫn, sáng tạo và các công cụ phù hợp có thể biến một ngõ cụt thành thành công. Kiểm tra các mô hình thiết bị được Belkasoft X hỗ trợ: https://belkasoft.com/brute. Có thể một trong số chúng đang thu thập bụi trên một kệ trong bộ sưu tập bằng chứng của bạn?

Xem thêm