Trình duyệt bí mật ẩn trong phần cài đặt của Google
(matan-h.com)- Trong popup Manage my account trên Android có thể mở ra một màn hình đi tới các website thông thường, và cũng có thể truy cập từ Settings cùng bộ ứng dụng Google
- Đường vào lần lượt đi qua tab Security trong phần quản lý tài khoản Google, Password Manager, trợ giúp về mã hóa trên thiết bị, chính sách quyền riêng tư và menu Search
- Màn hình này thậm chí có thể phát YouTube nhưng không có lịch sử truy cập hay thanh địa chỉ, và khi bấm quay lại thì sẽ trở về màn hình cài đặt thay vì lịch sử web
- Trong console JavaScript có thể thấy đối tượng
mmcùng các hàmcloseView(),requestSecurityKeyHandshake(),updateSecurityKey(), nhưng công dụng thực tế của một số hàm vẫn chưa được xác nhận - Ban đầu Google trả lời đây không phải lỗ hổng bảo mật và việc vượt qua kiểm soát của phụ huynh cũng là hành vi có chủ đích, nhưng sau khi công khai và được báo chí đưa tin 3 ngày thì cho biết sẽ xem xét lại báo cáo
Trình duyệt ẩn mở bên trong cài đặt Android
- Nhiều ứng dụng trên Android có popup Manage my account, và có thể truy cập cả trong các ứng dụng chính như Settings và bộ ứng dụng Google
- Qua vài bước, bên trong popup sẽ hoạt động như một trình duyệt có thể đi tới các website thông thường
- Settings → Google hoặc trong ứng dụng có thể chọn tài khoản, chọn “Manage my account”
- Trong tab “Security”, chọn “Password Manager”
- Chọn biểu tượng
Settingsở góc trên bên phải - Chọn “Set up on-device encryption” → “Learn more about on-device encryption”
- Trong menu hamburger, chuyển tới “Privacy Policy”
- Nhấn menu 9 chấm ở phía trên, đợi khoảng 5 giây rồi chọn “Search”, hoặc đi tới mục
Google - Nếu đăng xuất khỏi tài khoản Google thì có thể dùng nó như trình duyệt để đi tới nơi mình muốn
- Ở trạng thái này còn có thể phát video YouTube, và màn hình sẽ mở bên trong ứng dụng Settings hoặc ứng dụng đã vào ban đầu
-
Điểm khác với trình duyệt thông thường
- Không lưu lịch sử truy cập
- Khi kết thúc phiên, tự động đăng xuất khỏi tài khoản Google đang đăng nhập
- Không có thanh địa chỉ
- Khi nhấn phím quay lại, nó không quay về trang web trước mà trở lại phần cài đặt của Password Manager
Đối tượng JavaScript mm và phản ứng của Google
- Có thể kiểm tra đối tượng JavaScript
mmtrong console JavaScript di động như eruda - Đối tượng
mmcó ba hàmcloseView(): Đóng trình duyệt, hoạt động tương tự như khi nhấn phím quay lạirequestSecurityKeyHandshake(): Chưa xác nhận được chức năng, nhưng tên gọi cho thấy đây có vẻ là hàm nhạy cảmupdateSecurityKey(): Chưa xác nhận được chức năng, nhưng tên gọi cho thấy đây có vẻ là hàm nhạy cảm
- Vì trình duyệt này được mở từ luồng tính năng on-device encryption, suy đoán rằng hai hàm chưa được xác nhận có thể liên quan đến thiết lập khóa mã hóa cục bộ vẫn chỉ dừng ở mức phỏng đoán
- Với báo cáo ban đầu, Google trả lời đây không phải lỗ hổng bảo mật và việc vượt qua kiểm soát của phụ huynh là “Intended Behavior”
- Sau khi bài viết được công khai, nhiều cơ quan truyền thông tiếng Anh và tiếng Nga cùng các nơi khác đã đưa tin, và 3 ngày sau khi công khai Google cho biết sẽ xem xét lại báo cáo đó
- Có thảo luận liên quan tại Hacker News discussion
2 bình luận
Mỗi lần vào phần quản lý mật khẩu đều có cảm giác hơi bị chậm một nhịp... hóa ra không phải chỉ là cảm giác của mình nhỉ
Ý kiến trên Hacker News
Tôi đã tìm hiểu một chút, và khi nhấn "Manage my account" thì nó không ở lại trong ứng dụng Cài đặt mà chuyển sang một Activity được nhúng bên trong Google Play Services
Cuối cùng trình duyệt là
com.google.android.gms/.auth.folsom.ui.GenericActivity, và có vẻ nó không dùng Chrome, tức phần triển khai WebView hệ thống mặc định trên điện thoại của tôiAndroid có thể tạo giao diện giữa mã Android và mã JavaScript bằng
addJavascriptInterface, và có vẻ GMS dùng cái này khá nhiều, nên trông như một bề mặt tấn công đáng để xem sauGiao diện đáng ngờ
mmnằm trongMagicArchChallengeView, và được nối tới lớpbwuzđã bị làm rối mã. Bản thânbwuzgần như trống rỗng nhưng lại nối tiếp tới một vài lớp làm rối mã khácNếu tìm theo chuỗi thì thấy hai lớp
"qvc"và"pdn"phơi ra các hàm liên quan;pdncó vẻ là phần cốt lõi, cònqvccó các log lỗi hữu ích cho thấy từng tham số là gìsetVaultSharedKeysmong đợi một mảng đối tượng JSON chứagaiaId,epoch, và hai giá trịkey, rồi biến chúng thành danh sách và chuyển cho một lớp trừu tượng có vẻ liên quan sâu đến bảo mật tài khoảnaddEncryptionRecoveryMethodmong đợigaiaId, danh sách miền bảo mật và khóa công khai của thành viên, rồi cũng chuyển cho cùng lớp trừu tượng đóTôi phải dừng ở đây để đi làm, nhưng có vẻ không chỉ giao diện này mà cả các giao diện khác mà GMS phơi ra cho WebView cũng đáng để đào sâu hơn
https://developer.android.com/reference/android/webkit/WebVi...
Dù là Blink thì nhiều khả năng nó cũng không mới bằng bản do Chrome cung cấp. Nhìn liên kết tài liệu thì có vẻ đúng là WebKit
https://2021.stateofthebrowser.com/speakers/alex-russell/
gaiaIdlà viết tắt của Google Accounts and ID Administration ID; ai đặt cái tên này cho một ID duy nhất trên toàn Google chắc hẳn đã rất tự hào, mà cũng đáng thế thậtTôi không hiểu nó khác gì các WebView nhúng khác. Chẳng phải gần như ứng dụng nào cũng có WebView nhúng cho những chỗ như "xem chính sách quyền riêng tư" sao?
Hiển thị HTML thường dễ hơn nhiều so với việc giao toàn bộ chính sách quyền riêng tư cho nhà phát triển ứng dụng xử lý
Theo trí nhớ của tôi thì ngay cả việc cấu hình WebView cho phép nhiều tên miền hay URL cũng khá khó. Tôi không phải nhà phát triển Android, và lần cuối đụng vào cũng đã vài năm rồi
Chuyện quản lý khóa hiện vẫn khá suy đoán, vì tác giả chưa thử kiểm tra nó thực sự làm gì, nên hiện mới chỉ ở mức “có hai phương thức trông đáng sợ nhưng chưa rõ là gì”
Cũng hơi giống cách ngày trước vào Internet từ tệp trợ giúp CHM khi trình duyệt bị chặn
Chết thật, lộ tuổi mất rồi
Giống hệt cách tôi từng lách ứng dụng kiểm soát của phụ huynh trên Windows hồi nhỏ
Tôi chỉ được dùng máy tính 1 tiếng, và khi hết giờ thì nó sẽ đóng mọi ứng dụng trừ các ứng dụng Microsoft Office vì được coi là phục vụ học tập
Tôi bấm linh tinh một lúc rồi bằng cách nào đó mở được trình duyệt bên trong Outlook và chơi game Flash trên Miniclip
Tôi đổi trình duyệt web mặc định thành Terminal, rồi mở Word, tạo một liên kết và bấm vào đó
Bình thường Terminal mở theo cách thông thường sẽ bị hạn chế, kiểu như không chạy được ứng dụng khác, nhưng instance Terminal mở theo cách này có nhiều quyền hơn, nên có thể dùng
open /path/to/your/appđể chạy game từ đĩa đã gắn vào chẳng hạnKhi giáo viên coi tự học tới hỏi liệu chúng tôi có được chơi Starcraft không, tôi trả lời: “Thầy cũng biết mà, mấy máy này bị khóa khá kỹ, nên nếu bọn em chơi được trò này thì chắc là nhà trường đã cho phép rồi.” Tôi vẫn không tin là câu đó lại có tác dụng
Nếu một đứa trẻ tự tìm ra cách hack này để vào được các trang bị chặn, thì tôi nghĩ nó xứng đáng được hưởng thành quả đó
Một cách lách tương tự cũng từng tồn tại trong trang giấy phép của
aboutĐi theo liên kết tới giấy phép là bạn có một trình duyệt. Khá hữu ích khi muốn mở trình duyệt trên những thứ như head unit trên xe hơi hoặc xe đạp Peloton
Trông như danh sách mọi tệp trong hệ thống tệp vậy
Trải nghiệm của người báo lỗi cho Google này làm tôi nhớ đến trải nghiệm của mình
Tôi: Google Sheets có lỗi làm nội dung đã xóa bị lộ cho bên thứ ba
Google: Không phải lỗi. Hoạt động đúng như thiết kế. Đóng issue
Tôi: Thật sao? Tôi đã thực sự bị thiệt hại khi dùng ứng dụng này
Google: Thực ra đúng là lỗi, nhưng đây là issue đã được biết từ lâu nên không thuộc diện bug bounty. Đóng issue
Tôi: Gmail có lỗi cho phép email giả mạo xóa trạng thái DKIM thất bại và trông như hợp lệ
Google: "Won't fix (Intended Behavior)"
Tôi: Thật sự Google cố ý để email giả mạo trông như bình thường trong giao diện sao?
Google: Thực ra đây là issue đã được biết đến
Hơn nữa, các bài báo ban đầu còn cố liên hệ lỗ hổng đó với các vụ hack từ Trung Quốc/Nga. Kiểu tuyên truyền đó nên trả lại cho chính Google. Google là công ty Mỹ và đã để cửa hậu mở toang để bất kỳ ai, dù ở nước ngoài hay trong nước, đều có thể khai thác. Thực tế cả hai phía đều đã khai thác
Google thực sự có vấn đề. Tôi không biết từ sau năm 2019 đã xảy ra chuyện gì, nhưng tình hình không ổn
Tôi: Google Play Services có lỗi
Google: Không phải lỗi. Hoạt động đúng như thiết kế. Đóng issue
Tôi: Tôi đã đăng lỗi lên blog, và báo chí đưa tin rất lớn
Google: Có vẻ chúng tôi đã sai! Đúng là lỗi thật. Chúng tôi sẽ liên hệ lại sau vài tuần
Hôm nay tôi mới biết có thứ gọi là bảng điều khiển JavaScript trên di động
https://eruda.liriliri.io/
Bạn có thể mở công cụ dành cho nhà phát triển từ máy tính khác và mọi thông tin được đồng bộ qua WebSocket. Tôi từng dùng một lần để gỡ lỗi sự cố trên thiết bị của khách hàng
data:text/html,, nhưng cái này nhiều tính năng đến đáng ngạc nhiênTôi từng làm kiểu này ở sảnh chờ trong lúc bố mẹ đi giao dịch ngân hàng
Hồi đó mấy thẻ best viewed in Netscape Navigator đúng là mỏ vàng. Quy trình gần như y hệt, cứ bấm thử cho đến khi hiện ra mấy thẻ đó rồi từ đó nhảy sang công cụ tìm kiếm
Sau đó tôi vào một trang stream đầy adware mờ ám, rồi ngay lúc chuyển sang video khác thì toàn bộ máy tính của Tesla bị treo cứng và tôi phải hard reboot cả xe
Làm tôi nhớ đến các phiên bản Windows ngày xưa. Nhấn F1 có thể kích hoạt nhiều lệnh chạy khác nhau thông qua Windows Help
explorer.exerồi chọn Run”