Các nhà nghiên cứu an ninh mạng đã mô tả chi tiết một kỹ thuật hậu khai thác (post-exploitation) cho phép kích hoạt Chrome DevTools Protocol (CDP) bên trong một tiến trình Google Chrome hoặc Microsoft Edge đang chạy trên Windows. Kỹ thuật này cho phép kẻ tấn công truy cập vào cookie, dữ liệu đã lưu và các phiên trình duyệt đã được xác thực.
Kỹ thuật này giả định rằng kẻ tấn công đã có quyền thực thi mã trên máy chủ Windows và không liên quan đến việc khai thác lỗ hổng bảo mật của Chrome hoặc Edge.
Yêu cầu về việc thực thi mã trước đó và quyền truy cập đủ để thao tác với tiến trình mục tiêu đặt kỹ thuật này vào một kịch bản sau xâm nhập (post-compromise) hẹp hơn so với một lỗi trình duyệt có thể khai thác từ xa.
SpecterOps cho biết các nhà quản trị hệ thống có thể tìm kiếm các dấu hiệu của việc chèn tiến trình (process injection) nhắm vào chrome.exe và msedge.exe bằng cách sử dụng Sysmon Event ID 8 và 10.
"Kể từ khi App-Bound Encryption được kích hoạt, chúng tôi đã thấy sự gia tăng của những kẻ tấn công sử dụng Chrome Remote Debugging để trích xuất cookie," Google cho biết trong một bài đăng vào tháng 3 năm 2025.
Google đã thay đổi hành vi gỡ lỗi từ xa của Chrome bắt đầu từ phiên bản Chrome 136 sau khi quan sát thấy sự gia tăng của những kẻ tấn công sử dụng Chrome Remote Debugging để trích xuất cookie sau khi giới thiệu App-Bound Encryption (ABE). Công ty cho biết việc đánh cắp cookie bằng giao diện gỡ lỗi đã được thảo luận từ năm 2018.
Chrome 136 bỏ qua các tham số --remote-debugging-port và --remote-debugging-pipe khi chúng nhắm vào thư mục dữ liệu mặc định của Chrome, trừ khi chúng đi kèm với một --user-data-dir không tiêu chuẩn. Thư mục dữ liệu không tiêu chuẩn sử dụng một khóa mã hóa khác, mà Google cho biết sẽ bảo vệ dữ liệu của Chrome khỏi những kẻ tấn công.
Theo SpecterOps, công cụ CDP-Enable-BOF thực hiện một phương pháp khác bằng cách kích hoạt máy chủ gỡ lỗi từ bên trong một tiến trình chrome.exe hoặc msedge.exe hiện có. Beacon Object File (BOF) x64 sau đó sẽ để lộ ngữ cảnh hiện tại của trình duyệt qua một cổng CDP được yêu cầu.
CDP Bên Trong Trình Duyệt Đang Chạy
BOF được xây dựng dựa trên các nghiên cứu trước đó của DeathFlamingo, người đã tài liệu hóa việc chèn CDP vào trình duyệt Edge đang chạy vào tháng 12 năm 2025, và dựa trên nghiên cứu "Modern Session Hijacking by Living off the DevTools Protocol" của Cedric Van Bockhaven.
Về cơ bản, CDP-Enable-BOF thực hiện các bước sau:
- Tìm tiến trình Chrome hoặc Edge đang hoạt động được yêu cầu và cửa sổ cấp cao nhất của nó.
- Xác định vị trí module chrome.dll hoặc msedge.dll đã tải.
- Phân giải các Chromium symbol nội bộ bằng cách sử dụng các masked byte signatures.
- Cấp phát bộ nhớ từ xa cho hai stub nhỏ và một khối ngữ cảnh (context block).
- Tạm thời cài đặt một thủ tục cửa sổ từ xa (remote window procedure).
- Thực thi lệnh gọi cuối cùng trên luồng giao diện người dùng (UI thread) của trình duyệt.
- Gọi hàm StartRemoteDebuggingServer nội bộ của Chromium trên cổng được yêu cầu.
Theo kho lưu trữ, việc thực thi lệnh gọi cuối cùng trên luồng giao diện người dùng của trình duyệt được sử dụng để làm cho kỹ thuật này trở nên đáng tin cậy trong các môi trường có CFG, TLS và các thực thi nhạy cảm với CET. BOF yêu cầu một tiến trình trình duyệt đang chạy và giới hạn ở các hệ thống x64.
Chiếm Quyền Kiểm Soát Trình Duyệt Qua CDP
Khi điểm cuối (endpoint) đã sẵn sàng, CDP-Toolkit của SpecterOps có thể tương tác trực tiếp với trình duyệt hoặc tự động hóa các bề mặt WebUI nội bộ của nó. Các quy trình hậu khai thác chính bao gồm:
- Thu thập cookie: Sử dụng Storage.getCookies để yêu cầu trạng thái cookie của trình duyệt mà không cần đọc cơ sở dữ liệu cookie từ đĩa.
- Thu thập dữ liệu trình duyệt: Có thể lấy lịch sử, dấu trang, các tiện ích mở rộng đã cài đặt, ảnh chụp màn hình và siêu dữ liệu mật khẩu đã lưu thông qua CDP và các trang do trình duyệt hiển thị.
- Khôi phục mật khẩu đã lưu: Có thể thực thi quy trình tự động điền (autofill) của Chromium đối với một nguồn gốc (origin) phù hợp và đọc các giá trị trường tên người dùng và mật khẩu kết quả qua CDP.
- Chiếm quyền kiểm soát trình duyệt (Browser takeover): Có thể tạo một mục tiêu trình duyệt ẩn hoặc chạy nền để screencasting tương tác, hoặc proxy các yêu cầu HTTP và HTTPS thông qua các mục tiêu trình duyệt mang trạng thái đã xác thực của nạn nhân.
Chế độ screencast để lại cookie, bộ nhớ trình duyệt, trạng thái xác thực doanh nghiệp, hành vi WebAuthn, các tiện ích mở rộng và hành vi JavaScript đặc thù của trình duyệt bên trong phiên bản Chrome hoặc Edge đang chạy trên hệ thống bị xâm nhập.
Chế độ proxy thực hiện các yêu cầu ngược dòng thông qua các mục tiêu trình duyệt mang trạng thái xác thực của nạn nhân trên điểm cuối bị xâm nhập, bảo toàn cookie và user agent của trình duyệt nơi CDP để lộ chúng.
Tính năng Device Bound Session Credentials (DBSC) của Google, bắt đầu có sẵn cho người dùng Windows từ Chrome 146, liên kết việc làm mới phiên làm việc với một khóa được hỗ trợ bởi phần cứng và được thiết kế để ngăn cookie bị đánh cắp được làm mới trên một thiết bị khác.
SpecterOps không mô tả việc trích xuất khóa riêng tư đó. Công ty cho biết việc hoạt động thông qua ngữ cảnh trình duyệt đã được xác thực có thể lách qua các biện pháp bảo vệ nhằm ngăn chặn việc phát lại (replay) bên ngoài thiết bị.
Phát hiện và Giới hạn Phiên bản
Tài liệu Sysmon của Microsoft xác định Event ID 8 là CreateRemoteThread, ghi lại khi một tiến trình tạo một luồng trong một tiến trình khác, và Event ID 10 là ProcessAccess, ghi lại khi một tiến trình mở một tiến trình khác.
Microsoft lưu ý rằng Event ID 8 có thể chỉ ra việc chèn mã, trong khi ProcessAccess có thể tạo ra một lượng lớn nhật ký và thường nên được sử dụng với các bộ lọc để loại bỏ các hoạt động thông thường.
Các phiên bản trình duyệt sau này được Google và Microsoft ghi nhận bao gồm:
- Chrome: Kho lưu trữ liệt kê bản 147.0.7727.102 đã được kiểm thử.
- Edge: Kho lưu trữ liệt kê bản 147.0.3912.98 đã được kiểm thử.
Sự phát triển này diễn ra một ngày sau khi AmnesiaStealer bị tiết lộ, nhắm mục tiêu vào người dùng macOS với một stream_module cho phép kẻ tấn công kiểm soát tương tác ẩn đối với trình duyệt Chromium.