Các nhà nghiên cứu an ninh mạng vừa tiết lộ chi tiết về một "backdoor được cài sẵn từ nhà máy" (factory-shipped backdoor) được cấy vào ít nhất 20 mẫu router của hãng Zbtlink (Trung Quốc).
Theo một báo cáo mới từ VulnCheck, thành phần độc hại này xuất hiện trong tất cả 21 bản firmware hiện có của Zbtlink trong suốt hơn 2 năm qua. Các backdoor này được thiết kế để tự động khởi chạy và cố gắng gửi tín hiệu beacon tới hạ tầng command-and-control (C2) tại Trung Quốc với tần suất 35 giây một lần.
Chúng ngụy trang dưới dạng một Linux kernel thread, nhưng thực tế là các tiến trình userland chạy với root privileges, trộn lẫn các chức năng thực sự của mình với các tiến trình kworker hợp lệ khác. Các mã độc "gọi về máy chủ" này đã được đặt tên mã là ENDLESSDOORS.
"Về bản chất, ENDLESSDOORS là một công cụ nhỏ có tên gọi rctl (remote control linux)," Jacob Baines, Giám đốc Công nghệ của VulnCheck cho biết. "Được tải lên GitHub vào ngày 14 tháng 1 năm 2015 và chưa bao giờ được cập nhật lại, kho lưu trữ ít người biết đến này triển khai một client và server command and control đơn giản."
"Server lắng nghe trên cổng 7000 để các client kết nối. Nó có thể gửi cho client các lệnh shell riêng lẻ hoặc yêu cầu client tạo một reverse bash shell."
Tiến trình công việc "kworker" chạy trên dòng Zbtlink AX3000 mà VulnCheck phân tích là một phiên bản tùy chỉnh của rctl, được cấu hình để liên lạc với các địa chỉ sau:
- 47.107.224[.]89
- rbdg4nzqadui[.]wikaba[.]com
Hơn nữa, quá trình này không có bước bắt tay (handshake), thương lượng hay xác thực nào. Một khi mã độc gửi thông báo "hello" đến server cùng với địa chỉ LAN MAC, nó được lập trình để thực thi bất cứ thứ gì server gửi lại.
"Một chuỗi được dành riêng là rctlbash sẽ ra lệnh cho mã độc mở kết nối thứ hai đến cổng 7001, cấp phát một pseudo-terminal, khởi tạo /bin/sh và cầu nối nó," Baines giải thích. "Đó là một root shell tương tác trực tiếp."
"Giao thức này chỉ có hai lệnh: chạy lệnh này với quyền root và cấp cho tôi một root shell. Bất kỳ ai trên đường truyền mạng đều có thể chiếm quyền điều khiển (hijack) giao tiếp giữa client và server. Bất kỳ ai kiểm soát việc phân giải tên miền rbdg4nzqadui.wikaba[.]com, hoặc địa chỉ mà nó trỏ tới, đều có thể kiểm soát bất kỳ mã độc ENDLESSDOORS nào đang cố gắng gọi về máy chủ."
Kẻ tấn công có thể tận dụng lỗ hổng này để chiếm quyền điều khiển các luồng giao tiếp rctl gửi đi và giành được một root shell trực tiếp, từ đó kiểm soát router mà không cần thiết bị phải có thể truy cập được từ internet.
Danh sách các mẫu Router bị ảnh hưởng
VulnCheck lưu ý rằng mọi firmware được liệt kê trên trang tải xuống của zbtlink.com đều nhúng mã độc rctl và khởi động nó khi boot bằng một script init.d có tên "skworker". Danh sách các mẫu máy bị ảnh hưởng bao gồm:
- CPE2801
- WE1026-5G-WD
- WE1326
- WE2007
- WE2008-DSIM
- WE2416
- WE3326
- WE5927
- WE5931
- WE5931AC
- WE826-T3-DSIM
- WG108
- WG1602
- WG1608-DSIM
- WG209
- WG2105
- WG2107
- WG259
- WG3526
- Z8102AX-2DSIM
Mỗi mẫu máy này đều được phát hiện là đang gọi đến cùng một nhóm bốn endpoints chính và phụ:
- zbtctl.epplink[.]net (47.100.190[.]96)
- 47.107.224[.]89
- online-string[.]com (45.32.81[.]152)
- rbdg4nzqadui.wikaba[.]com (43.248.136[.]125)
Phản hồi từ nhà sản xuất
Tại thời điểm viết bài, người dùng truy cập trang tải xuống firmware trên website của Zbtlink sẽ thấy thông báo sau:
Chúng tôi đã phát hiện các lỗ hổng bảo mật firmware ảnh hưởng đến một số phiên bản firmware router nhất định.
Như một biện pháp phòng ngừa, các phiên bản firmware bị ảnh hưởng đã tạm thời được gỡ bỏ khỏi các kênh tải xuống. Đội ngũ kỹ thuật của chúng tôi đang làm việc tích cực để phát triển và xác thực các bản vá firmware bảo mật.
Chúng tôi sẽ thông báo cho bạn ngay lập tức khi firmware đã được sửa lỗi và xác thực bảo mật sẵn sàng để phát hành. Chúng tôi xin lỗi vì sự bất tiện này. Cảm ơn sự thông cảm của quý khách.
The Hacker News đã liên hệ với nhà sản xuất router Trung Quốc để biết thêm thông tin và sẽ cập nhật bài viết nếu nhận được phản hồi.
Trong thời gian chờ đợi, khách hàng được khuyến nghị kiểm tra danh sách tiến trình (process list), quét hệ thống tệp để tìm các tệp như /usr/sbin/kworker, /usr/lib/librctl.so, /etc/kworker.cfg và /etc/init.d/skworker, đồng thời chặn các điểm truy cập gửi dữ liệu ra ngoài (egress points).