Các nhà nghiên cứu từ công ty bảo mật Lyrebirds (Đan Mạch) cho biết, các cuộc tấn công bắt đầu bằng cách thu hút người dùng truy cập các trang web độc hại. Các trang web này có chứa mã JavaScript độc hại được lưu trữ ngầm trên trang web, hoặc ẩn bên trong các quảng cáo. Mã JavaScript sau đó mở kết nối websocket đến modem cáp dễ bị tấn công và khai thác lỗ hổng tràn bộ đệm trong bộ phân tích phổ (spectrum analyzer) - một cấu phần phát hiện nhiễu và các vấn đề kết nối khác trên modem từ các nhà sản xuất khác nhau. Từ đó, những kẻ tấn công từ xa có thể giành quyền kiểm soát hoàn toàn các modem, cho phép chúng thay đổi cài đặt DNS, biến modem thành một phần của mạng botnet và thực hiện một loạt các hành động trái phép khác.
Lỗ hổng này được các nhà nghiên cứu đặt tên là Cable Haunt, như các nhà nghiên cứu đã đặt tên cho bản PoC tấn công. Lỗ hổng tồn tại trên các phiên bản firmware khác nhau của các modem cáp: Sagemcom F@st 3890, Sagemcom F@st 3686, Technolor TC7230, Netgear C6250EMR và Netgear CG3700EMR.
Kiểu tấn công này cũng có thể hoạt động với Compal 7284E và Compal 7486E. Do máy chủ phân tích phổ tồn tại trên các modem cáp khác, nên việc khai thác cũng có khả năng hoạt động trên các dòng modem khác. Bản PoC tấn công của Lyrebirds hoạt động tốt với Technolor TC7230 và Sagemcom F@st 8690. Với một số tinh chỉnh, mã tấn công sẽ hoạt động trên các loại modem khác được liệt kê là dễ bị tấn công. Lỗ hổng được gán mã định danh CVE-2019-19494. Một lỗ hổng cụ thể hơn chỉ bị khai thác trên modem Technicolor TC7230 được gán mã định danh CVE-2019-19495.
“Lỗ hổng cho phép kẻ tấn công từ xa có thể kiểm soát hoàn toàn modem cáp, thông qua một điểm cuối trên modem”, các nhà nghiên cứu của Lyrebirds cho biết. “Modem cáp của người dùng có chức năng trao đổi lưu lượng truy cập Internet cho tất cả các thiết bị trên mạng. Do đó, lỗ hổng Cable Haunt có thể bị khai thác để chặn tin nhắn riêng tư, chuyển hướng lưu lượng truy cập hoặc tham gia mạng botnet”.
Có ít nhất hai cách khai thác để có thể có được quyền truy cập từ xa, tức là khai thác từ Internet bởi một kẻ tấn công nằm ngoài mạng cục bộ.
Cách đầu tiên và đơn giản nhất là dùng JavaScript độc hại khiến trình duyệt có thể kết nối với modem. Thông thường, một cơ chế được gọi là chia sẻ tài nguyên nguồn gốc chéo (cross-origin resource sharing - CORS) ngăn ứng dụng web từ một trang (chẳng hạn như tox.example.com) hoạt động trên một trang khác (chẳng hạn như 192.168.100.1, địa chỉ được sử dụng bởi hầu hết hoặc tất cả các modem dễ bị tấn công).
Tuy nhiên, websocket không được bảo vệ bởi CORS. Do đó, các modem sẽ chấp nhận JavaScript từ xa, cho phép kẻ tấn công tiếp cận điểm cuối và cung cấp mã cho nó. Khi khai thác Cable Haunt bằng cách truy cập modem thông qua trình duyệt, cuộc tấn công có thể đến từ bất kỳ nơi nào mà mã lệnh đang thực thi có thể truy cập IP trên mạng cục bộ.
Cuộc tấn công không hoạt động khi mục tiêu sử dụng trình duyệt Firefox, vì websocket được sử dụng bởi trình duyệt đó không tương thích với websocket được sử dụng bởi bộ phân tích phổ. Tin tặc vẫn có thể thực hiện tấn công từ xa bằng cách sử dụng JavaScript với kiểu tấn công DNS rebinding. Để bỏ qua chính sách same origin policy - một hạn chế ngăn chặn mã được cung cấp từ một tên miền thực thi trên một tên miền khác, tấn công DNS rebinding chiếm quyền kiểm soát các bảng DNS bên trong mạng cục bộ. Vì địa chỉ tên miền của trang tấn công được ánh xạ tới IP của modem dễ bị tấn công, nên sẽ có thể thực thi mã tấn công bằng JavaScript.
Bên cạnh lỗ hổng tràn bộ đệm, tấn công có thể xảy ra do thông tin đăng nhập mặc định đã biết được sử dụng để thực thi mã trên modem. Các thông tin đăng nhập mặc định này được thêm vào URL được mã tấn công sử dụng, ví dụ: http://username:password@malicy.example.com. Nhà đồng sáng lập Lyrebirds Kasper Tendrup cho biết, ông tin rằng có những phương pháp khác để có thể tấn công từ xa.
Bản PoC tấn công sử dụng các kỹ thuật thông minh khác để khai thác lỗ hổng. Do cấu trúc bộ nhớ của ngôn ngữ assembly MIPS thực thi bộ phân tích phổ, nên mã tấn công phải biết địa chỉ bộ nhớ chính xác để tấn công (thông thường, khai thác tràn bộ đệm sẽ được ghi trực tiếp vào ngăn xếp bộ nhớ). Để vượt qua sự hạn chế bởi cấu trúc bộ nhớ này, khai thác lỗ hổng Cable Haunt sử dụng Return Oriented Programming để di chuyển giữa các đoạn mã có sẵn và sau đó sửa đổi mã hiện có.
Khi kẻ tấn công khai thác lỗ hổng, chúng sẽ gửi lệnh đến máy chủ telnet của modem để cài đặt lớp reverse shell. Từ đó, kẻ tấn công có thể thực hiện các hành vi độc hại, bao gồm thay đổi cài đặt DNS, cài đặt firmware hoàn toàn mới, khiến modem tham gia vào mạng botnet và giám sát dữ liệu không được mã hóa đi qua modem.
Nghiên cứu của Lyrebirds cho thấy, khai thác lỗ hổng Cable Haunt có thể hoạt động trên khoảng 200 triệu modem chỉ riêng ở châu Âu. Tấn công có thể hoạt động trên một số lượng lớn hơn các modem trên toàn thế giới. Việc xác định xem một modem có nằm trong danh sách dễ bị tấn công hay không khá phức tạp với người dùng thông thường vì yêu cầu thực thi mã PoC trên thiết bị. Việc phát hiện các modem bị tấn công cũng khó khăn vì có nhiều cách để che giấu tấn công một khi tin tặc có quyền root trên thiết bị.
Cable Haunt là một lỗ hổng nghiêm trọng cần khẩn trương được vá. Trước khi có phản hồi chính thức từ nhà sản xuất thiết bị, người dùng cần chủ động kiểm tra với nhà sản xuất thiết bị hoặc ISP đã phát hành nó để vá lỗ hổng, phòng tránh khả năng bị tấn công.