Tôi đã hack điện thoại bảo mật hàng đầu VN như thế nào?
TL;DR:
Lỗ hổng trong điện thoại BPhone cho phép hacker bẻ khóa chức năng chống trộm
--------------
Những ngày cuối năm 2021, tôi tham gia BPhone Fan Club để hóng hớt thông tin sau vụ ra mắt chiếc tai nghe mấy trăm nghìn ăn đứt tai nghe chục củ. Tính xác thực về chất lượng của tai nghe AirB này như thế nào thì tôi tạm chưa bàn tới ở đây, chỉ có điều là tham gia group này một thời gian, tôi dường như được rõ thêm về định nghĩa: như thế nào là tẩy não. Mặc cho sự thật rành rành nhưng ở trong group này, đen cũng thành trắng, người ta bẻ lái, đánh tráo khái niệm rồi tự thủ dâm tinh thần với nhau. Có những ngày đồng nghiệp hỏi tôi có ổn không, vì cả ngày ko làm việc mà chỉ có ngồi cười như thằng điên, tất cả cũng chỉ là do một vài post của group tinh hoa công nghệ B* kia chòi lên newfeed của tôi ...
Sau đó không lâu, vào ngày 19/12/2021, tập đoàn này tiếp tục ra mắt chiếc điện thoại thần kỳ, với các tính năng CAO CẤP bảo mật cao, CHỤP ẢNH cực đẹp, GIÁ cực ngon, và là chiếc ĐIỆN THOẠI quốc dân...
Xem livestream giới thiệu sản phẩm, tôi cũng thấy chiếc điện thoại này khá hợp lý với người dùng tầm trung tại VN, chỉ tầm 3tr5->6tr đã có thể mua được. Trước đó, mỗi chiếc điện thoại Bphone có giá dao động từ 7-8tr trở lên, vượt quá so với túi tiền của người Việt. Âu cũng là mừng khi có một chiếc điện thoại có thể thay thế VSmart làm điện thoại quốc dân!
Xem xét tiếp về phần bảo mật của chiếc điện thoại mà đó giờ vẫn luôn được nổ rất to là BẢO MẬT CAO, KHÔNG THỂ BỊ PHÁ VỠ. Tôi đã tự hỏi mình, sau bao nhiêu năm kể từ ngày sản xuất ra chiếc điện thoại "bảo mật" đầu tiên, họ có bao giờ tự kiểm tra lại xem mình "bảo mật" ở chỗ nào chưa. Lý do là vì tầm 3-4 năm trước, khi chiếc Bphone3 ra đời, tôi cũng đã mua 1 chiếc về để nghiên cứu, xem họ "bảo mật" cái gì, "bảo mật" ở chỗ nào, kết quả hồi đó đã khiến tôi thất vọng, chiếc Bphone bị bẻ khóa chức năng chống trộm trong vòng chưa tới 5 giây.
Trên FB của CEO NTQ có nói "... có đến 89% khách hàng (Bphone) tìm lại được máy thất lạc". Và có so sánh với Samsung, Iphone, là tại sao những chiếc Iphone, Samsung kia cũng bị mất mà không thấy ai trả lại cả, rồi lại thủ dâm điện thoại của mình bảo mật cao...
Theo tôi nghĩ lý do thực sự không chắc đã là do tính năng cao cấp của điện thoại, mà nó nằm ở giá trị của cái điện thoại: "Bạn không thể bị lợi dụng khi bạn vô dụng".
Sau 4 năm làm điện thoại, họ vẫn hô hào về chiếc điện thoại BẢO MẬT CAO, tôi cũng thấy làm lạ khi chưa có ai nói về những gì họ thực sự làm. Tôi cũng khá ngứa ngáy trong người nên ngay khi ra mắt đã đặt lấy luôn một chiếc về để kiểm tra xem lỗ hổng tôi đã tìm được 4 năm trước có còn tồn tại hay không. Và cũng không bất ngờ lắm khi nó vẫn còn nguyên trong chiếc điện thoại BẢO MẬT CAO tầm vũ trụ này, kết quả là cũng chỉ mất 5s để vượt qua cơ chế chống trộm của Bphone đời mới nhất.
Lần này tôi quyết định sẽ không giữ kín thông tin nữa, mà sẽ công khai toàn bộ thông tin về lỗ hổng cũng như cách khai thác để mọi người cùng biết sự thật về chiếc điện thoại BẢO MẬT CAO level vũ trụ này. Tôi cũng đã nghĩ về việc report cho Bkav, tuy nhiên Bkav trả cho mỗi lỗ hổng như này được có tầm 3tr, trong khi tôi mua máy cùng với công cụ cũng đã hết ngót nghét 20tr rồi.
############## Phần kỹ thuật
###########################################################################
Tôi phát hiện lỗ hổng này khá lâu rồi nên không còn nhớ mọi việc bắt đầu như thế nào nữa. Bằng một cách nào đó tôi biết được trên Bphone có một phần mềm tên BMS làm nhiệm vụ bảo vệ và lock máy khi nhận được lệnh báo mất máy từ số điện thoại chủ nhân.
![]() |
Ảnh: tinhte.vn |
```
pm list packages | grep bms
pm path com.bkav.bphone.bms
adb pull /system/priv-app/BMS/BMS.apk
```
File thu được có hash như sau:
Dịch ngược app BMS không khó, tôi là một dân tay ngang cũng có thể đọc hiểu code dịch ngược một cách dễ dàng!
Dựa vào thông tin của file Manifest, tôi biết được một số service/receiver sau có ảnh hưởng tới tính năng chống trộm của Bphone:
Service BmsFirebaseMessagingService có chức năng gửi yêu cầu đến máy chủ để kiểm tra trạng thái lock của máy và gọi WebAntiTheftUtils.checkAndLock() để lock máy nếu cần thiết.
Thứ làm tôi thấy thú vị và tò mò đó là họ có quảng cáo Bphone có tính năng chống trộm ngay cả khi điện thoại KHÔNG CÓ INTERNET. Tôi tự hỏi bằng cách nào mà họ có thể kiểm tra trạng thái máy mà KHÔNG CẦN INTERNET? Theo suy đoán của tôi, Bphone giao tiếp với server thông qua tin nhắn SMS để kiểm tra trạng thái lock của máy, mặc dù nó mất thêm chi phí gửi tin nhắn nhưng không đáng là bao.
SmsAntiTheft.buildMessage() sẽ tạo ra message để gửi đến server, trong message này bao gồm một số thông tin đã được mã hóa của máy như: chip id, IMEI, ... Tất cả các tin nhắn này sẽ được bắt đầu với chuỗi "BMSCS" và được gửi đến một trong các số điện thoại sau.
Class này có method onTransact(), chức năng chính của method này là lắng nghe và đọc TẤT CẢ SMS gửi tới BPhone, rồi xử lý các tác vụ tương ứng (có gửi nội dung đi đâu hay ko thì tôi ko biết). Trong method này có một phần mã nguồn đáng chú ý như sau:
BMSCS2
Zoa726rjSxiXzCVLH4gn5JIw3MmtRtCLZBkG+ZTkVBBiTa3Xj0PyvjRkKngmDPUFlRR2pQMsFdb2ZaQmM4cNtpbgyoVrQ1I6g5f7/Rthw+k=
## .
Sử dụng các key trên, tôi lấy được nội dung message mà server trả về cho điện thoại. Để tự giải mã message tương tự bạn có thể sử dụng link này https://tinyurl.com/2p9fde46:
IMEI bắt buộc phải trùng với device hiện tại để chương trình xử lý tiếp, GUID sẽ được lưu lại vào db của device, nếu GUID đã tồn tại trong máy thì không xử lý tiếp. Chung quy lại ở đây chúng ta cần một IMEI chính xác và một GUID mới để có thể đi tiếp!
f:<mã lệnh>(với 6 là khóa máy)fd: <hash của mã mở khóa máy>
Trong đó, hashedPasscode = md5("bkis" + real_pass_code + "bkavtulu"), ví dụ md5("bkis000000bkavtulu") = 7ab40fff43adf528cbec9bc311bbbe70
...
Tóm lại tại bước này, điều kiện và kết quả của kỳ vọng đó là:
- Chúng ta có một IMEI trùng với device,
- GUID mới chưa tồn tại trong máy
=> Như vậy, dựa vào lỗi KHÔNG KIỂM TRA người gửi và sử dụng FIXED KEY trong mã nguồn, ta hoàn toàn có thể fake một SMS của server và ép Bphone bị lock với passcode bất kỳ.
IMEI anh xem đăng sau máy hoặc trọng hộp à anh hoặc bóc máy ra không biết có IMEI ghi đè lên chip không
ReplyDeletebay màu video rồi :D
ReplyDeletebay đâu
DeleteThis comment has been removed by the author.
ReplyDeletehảo hán =)) rất dũng cảm
ReplyDeleteĐã backup
ReplyDeleteđây là hack được trong điều kiện lý tưởng rồi, đó là biết được imei. Vậy trong điều kiện thực tế, ví dụ như máy bị rơi, hoặc bị đánh cắp, muốn hack được điện thoại thì phải làm thế nào nhỉ?
ReplyDeleteTa hãy share trang này ngay và luôn. Dìm chết Quảng
DeleteImei máy bạn cầm điện thoại lật ra phía sau lưng là thấy. Nó đi theo điện thoại (physically) mà. Thường trộm điện thoại họ sẽ có được cái máy trong tay rồi. Còn ko thì ai đó lật mặt xong dt. Nhanh tay chụp lại là xong.
DeleteBphone mặt sau k có imei nhé. Cái này là hắn có sẵn imei rồi
Deletengười ta cho bạn cái cuốc để tự tìm hiểu, ăn sẵn nó quen cái gì cũng hỏi :)
Deletesocial engineering?
Deletesự thật thì máy bphone 3 của mình đã từng quên mk và ra tiệm sửa ngta chạy lại ngon lành, mất 250k; nên đừng nói là bảo mật hàng đầu, máy không có mk thì người ta vẫn dùng được chứ không phải như ông q nói đâu.
DeleteNếu quên mật khẩu mà phải chạy lại về máy trắng ( mất dữ liệu rồi ) thì có gì đâu, bảo mật là vượt qua pass máy hoặc trường hợp chủ máy khóa máy chứ ?
Delete@suytdeptrai điện thoại của ông thì chả v, máy bị khóa thì nếu ông không phải chủ thì có mà mở bằng niềm tin. Mình đọc xong bài viết rồi, lỗ hỏng này chỉ cần thêm vài dòng lệnh là fix lại được ngay.
Delete@Active3 sao bạn nói ngu thế, lỗ hổng nào mà chả có cách fix, quan trọng là fix trước hay sau khi bị khai thác thôi. Nói chuyện huề vốn vcl =)))
Delete"bảo mật hàng đầu vn"
ReplyDeleteKhông thể tin nổi, Thật không thể tin nổi =))
ReplyDeletechết toi quảng nổ rồi
ReplyDeletea còng nguyễn từ quảng =)))))))))))))))
ReplyDeletemấu chốt là có imei đúng k ? như clip là đã biết dc imei, bt lấy trộm thì lấy imei kiểu gì nhỉ ?
ReplyDeleteMặt sau Bphone không có imei, liệu có làm được khi không biết imei của máy không vậy ?
ReplyDeleteVậy là BPhone nó đọc hết tin nhắn của mình :).
ReplyDeletekhông hẳn là đọc hết mà chỉ là đọc các ký tự đầu. Nếu không đúng với regex thì nó không đọc nữa.
DeleteBản thân dùng trình tin nhắn mặc định của nó đồng nghĩa với việc nó toàn quyền xem tất cả nội dung SMS rồi bác
DeleteĐưa về fastboot rồi fastboot oem get-psid được không nhỉ
DeleteHoặc ADB shell mình nhớ cũng lấy được imei
Deletelàm thế này thì lại giết bác Quảng r
ReplyDelete*#06#
ReplyDeletetừ thời dùng màn hình trắng đen là đã biết mấy code này để lấy thông tin rồi. Chỉ thêm 1 động tác search để biết cách lấy imei no.mà sao lại có người comment ở trên nhỉ.
Deletenếu vào được phần bàn phím để gõ *#06# thì máy đã mở được trước đó rồi. cần gì lấy imei để mở nữa?
DeleteMáy đang khoá, bấm check niềm tin à bạn
DeleteNếu đưa về fastboot được thì fastboot oem get-psid là lấy đc imei mà
DeleteHay quá à, bro quá, còn ngày trước thì những kĩ thuật sửa chữa điện thoại nó tháo tung điện thoại ra, tháo ổ cứng điện thoại ra, cho vào đế đọc và xoá luôn ứng dụng đó để bypass
ReplyDeletehay đấy. thử tháo sim ra xem nó còn tự khoá khi không cần internet được ko bạn
ReplyDeletenhư t thấy bản chất là phải biết được imei bằng 1 cách nào đó để thực hiện sms fake gửi về máy, tuy nhiên trong TH imei k in lên khay sim, mặt lưng , k thể gõ lệnh *#06# thì khá khó khăn thực hiện việc này
ReplyDeletechính chúng tôi cũng không thể tin nổi
ReplyDeletetheo t thì chắc IMEI nằm đâu đó trong phần cứng :thonk:
ReplyDeleteBài viết rất hay.
ReplyDeletecách này chỉ thực hiện khi nắm đc khóa là imei, còn không thì không làm được
ReplyDeleteXem kiểu này bác Quảng còn mánh khóe bào chữa nào nữa :))
ReplyDeleteXem kiểu này bác Quảng còn mánh khéo bào chữa nào nữa :))
ReplyDeleteĐã có ai có imei thử chưa ae? sao không được nhỉ? mãi máy con vợ vẫn chưa bị khóa =)))
ReplyDeletevẫn chưa tìm đc ra cách bác ý lấy imei :))))))
ReplyDeleteNhân viên cũ :))
ReplyDeleteTôi mạo muội xin dự đoán là bằng cách nào đó người hack spoof SIM và trick blocked phone để get IMEI send đến 1 phone khác.
ReplyDeleteai thử test trên bphone chưa. cho ae hóng kết quả nào
ReplyDeletecode kiểu này thì chả bay
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteCòn quảng nổ thì còn ghét sản phẩm của bkav
ReplyDeleteĐọc cho vui thôi chứ mình ko có sài Bk =))
ReplyDeletetập đoàn công nghệ đầu hàng VN
ReplyDeletecheck qua sms thì rút sim xong reset máy thì chắc dùng được như ipod touch nhỉ, nếu mà root được xong xoá luôn cái bms thì bao nhiêu công nổ của tnt đi tong hết à:))))
ReplyDeleteRespect chủ post!
ReplyDeleteGenK lại có bài để viết rồi :))
ReplyDeletechưa có bro nào mở khóa đc theo cách trong bài à.
ReplyDeletenhưng có thắc mắc, liệu có bị khóa lại sau 1 lúc mở bằng cách fake mã k?
ReplyDeleteThis comment has been removed by the author.
ReplyDeletehôm qua xem trên youtube thấy vài video nói về vụ bphone này, hôm nay mở ra xem lại bay màu hết trơn. không lẽ bkav thao túng luôn cả bên youtube à
ReplyDeletelzi đủ quyền lực mức đấy :v
Deletecòn đầy video về bkav có sao đâu
hôm qua t thấy 2 video bóc phốt, trong đó t có đăng kí 1 kênh. hôm nay xem lại video chẳng còn, kênh tui đăng kí cũng không thấy luôn
Deletexin link bạn ơi
DeleteThật tôi thấy Bkav với cộng đồng tinh hoa giờ cứ như là một hội tự nhục với nhau ấy. Lúc báo bug thì lại bảo hack fake biện hộ, bao che (rồi chắc đang âm thầm đi fix bug rồi nhỉ) để giấu cái điểm khuyết của mình đi vậy. Rồi cái cộng đồng thì toàn là mấy con dân hùa đi khen, tâng bốc đến phát ớn, còn chê/nói khuyết điểm thì bị ném gạch, bị bảo là ko yêu nước. Giống như là từ khi bác Phúc cầm con B2 khen là cứ nghĩ mình tốt lắm vậy.
ReplyDeleteSản phẩm bọn này chán thật sự, cái tai nghe chip thì rẻ, loại chíp bình dân mà gắn vào bán cả triệu
ReplyDeleteem bán thuốc cường dương. Anh Quảng có đọc bài này thì mua thuốc ủng hộ em nhé https://shoptinhyeu.vn
ReplyDeleteBác ơi. Bạn có thể trích xuất phần mềm eSim trên bphone 3 và B86 để cài lên điện thoại android bình thường được không bạn. Khi đó có thể dùng esim vật lý cho các máy khác không phải bphone
ReplyDeletevào phần commend còn thấy mấy ông Bfan với nv đc cài vào, chắc để ai cx bt
ReplyDelete