
Tóm tắt
Vào cuối năm 2023, các nhà nghiên cứu bảo mật đã phát hiện ra một lỗ hổng bảo mật chuỗi nghiêm trọng ảnh hưởng đến Giao diện người dùng web Cisco IOS XE, cho phép kẻ tấn công chưa xác thực chiếm quyền kiểm soát hoàn toàn các thiết bị bị ảnh hưởng. Chuỗi tấn công này kết hợp hai lỗ hổng bảo mật - CVE-2023-20198 và CVE-2023-20273 - khi bị khai thác cùng nhau, có thể dẫn đến việc thực thi lệnh cấp root trên máy chủ Linux chạy IOS XE. Điều này cho phép chiếm quyền kiểm soát hoàn toàn thiết bị, truy cập liên tục và có khả năng di chuyển ngang qua các mạng doanh nghiệp.
- CVE-2023-20198 : Có trong Cisco IOS XE Software Từ phiên bản 16.0.x đến 17.9.x, lỗ hổng này cho phép kẻ tấn công chưa được xác thực chiếm quyền truy cập ban đầu và tạo tài khoản cấp đặc quyền 15 (quản trị viên) thông qua giao diện người dùng web. Sau khi tạo, kẻ tấn công có thể thực hiện bất kỳ hành động quản trị nào trên thiết bị, gây ra rủi ro bảo mật nghiêm trọng.

- CVE-2023-20273 : Ảnh hưởng đến cùng phiên bản phần mềm, lỗ hổng này cho phép người dùng đã xác thực có quyền cấp 15 thực thi các lệnh tùy ý với quyền root trên hệ điều hành Linux cơ bản thông qua lỗ hổng tiêm lệnh trong thành phần quản lý phần mềm.

Trong suốt OPSWAT Trong Chương trình Học bổng, các Nghiên cứu viên của chúng tôi, Hoa X.Nguyen và Nhan Nguyen, đã tiến hành phân tích kỹ thuật chuyên sâu về chuỗi tấn công này. Trong nghiên cứu, chúng tôi đã tái tạo các lỗ hổng trên thiết bị chuyển mạch Cisco Catalyst 9300-24T-E chạy IOS XE 17.01 , chứng minh cách các lỗ hổng có thể được kết nối với nhau để xâm nhập toàn bộ hệ thống trong điều kiện thực tế.
Nền
Tổng quan về Cisco IOS XE

Cisco IOS XE là hệ điều hành mạng mô-đun hiện đại, hỗ trợ nhiều nền tảng doanh nghiệp của Cisco - bao gồm bộ định tuyến, bộ chuyển mạch và bộ điều khiển không dây. Hệ điều hành này kết hợp chức năng phong phú của Cisco IOS cổ điển với kiến trúc an toàn hơn, có thể lập trình và dựa trên Linux, mang lại cho quản trị viên mạng sự linh hoạt và hiệu suất được cải thiện.
Về cơ bản, IOS XE chạy như một hệ điều hành Linux, lưu trữ tiến trình chính gọi là IOSd (IOS Daemon) . Daemon này xử lý các tác vụ mạng truyền thống như định tuyến, quản lý CLI và kiểm soát cấu hình. Trong IOS XE 17.01, tệp nhị phân IOSd nằm tại /usr/binos/bin/x86_64_crb_linux_iosd_ngwc-universalk9-ms.
Không giống như Cisco Systems cũ, người dùng IOS XE kết nối qua SSH được đặt trong một lớp vỏ hệ thống con IOSd hạn chế thay vì môi trường Linux cơ bản. Thiết kế này cô lập quyền truy cập cấp gốc thực sự của hệ điều hành, tăng cường đáng kể ranh giới bảo mật tổng thể giữa các tương tác của người dùng và nhân máy chủ.
Cấp độ đặc quyền của Cisco
Các thiết bị Cisco triển khai mô hình đặc quyền phân cấp để kiểm soát quyền của người dùng:
- Cấp độ 0 - Quyền truy cập cấp độ 0: Đây là cấp độ hạn chế nhất. Cấp độ này thường chỉ cho phép một số lệnh cơ bản như đăng xuất, bật, tắt, trợ giúp và thoát.
- Mức 1 - Chế độ EXEC của người dùng: Quyền truy cập mặc định cho các lần đăng nhập tiêu chuẩn, cho phép xem hệ thống cơ bản nhưng không thay đổi cấu hình.
- Cấp độ 15 - Chế độ EXEC đặc quyền: Đây là cấp độ đặc quyền cao nhất và cấp quyền kiểm soát hoàn toàn thiết bị. Người dùng ở cấp độ này có thể thực thi tất cả các lệnh, bao gồm cả lệnh cấu hình, và có thể tải lại thiết bị.
Các cấp độ trung gian (2-14) có thể được tùy chỉnh để cấp các quyền cụ thể. Quyền được kế thừa, nghĩa là người dùng ở cấp độ cao hơn sẽ tự động sở hữu các quyền của cấp độ thấp hơn.
Kiến trúc giao diện người dùng web của Cisco
Giao diện người dùng web Cisco IOS XE cung cấp giao diện dựa trên trình duyệt để quản lý và giám sát thiết bị - cung cấp các tính năng cấu hình và chẩn đoán mà không cần truy cập dòng lệnh. Về mặt nội bộ, Giao diện người dùng web tận dụng NGINX như một proxy trung gian để định tuyến các yêu cầu của người dùng đến nhiều dịch vụ nội bộ khác nhau, bao gồm cả Web Services Management Agent (WSMA).
Thành phần WSMA đóng vai trò là cầu nối giao tiếp giữa Giao diện người dùng web và daemon IOSd cơ bản, chuyển đổi các hành động dựa trên web thành các lệnh cấu hình IOS XE tương ứng.

Để thực thi kiểm soát truy cập, mỗi yêu cầu đều phải tuân theo xác thực dựa trên SOAP và xác minh đặc quyền thông qua tiêu đề HTTP chuyên dụng (Priv-Level), đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể thực hiện các hoạt động có đặc quyền.

Phân tích kỹ thuật
CVE-2023-20198 - Bỏ qua xác thực và leo thang đặc quyền
Các thành viên của chúng tôi đã phát hiện ra rằng lỗ hổng bắt nguồn từ điểm cuối HTTP của giao diện người dùng web (Web UI) trên Cisco IOS XE. Khi xử lý các yêu cầu đến, giao diện người dùng web sẽ chuyển các lệnh và quyền người dùng liên quan đến một điểm cuối nội bộ (/lua5), sau đó được NGINX định tuyến đến một trong hai trình xử lý WSMA - /webui_wsma_http hoặc /webui_wsma_https - tùy thuộc vào giao thức.


Phân tích tĩnh của tệp nhị phân IOSd cũng cho thấy cấu hình NGINX bao gồm trình xử lý dự phòng mặc định:

Lỗ hổng này xuất phát từ cách NGINX và IOSd xử lý mã hóa URL . Cả hai thành phần đều giải mã đường dẫn URL một cách độc lập, cho phép kẻ tấn công khai thác lỗ hổng bỏ qua mã hóa kép .
Ví dụ: nếu /webui_wsma_https được gửi dưới dạng /%2577ebui_wsma_https , NGINX thực hiện một lần giải mã duy nhất và thấy /% 77ebui_wsma_https (không khớp trực tiếp với tuyến đường nội bộ được bảo vệ), do đó, nó sẽ gửi yêu cầu qua trình xử lý dự phòng ít hạn chế hơn. Khi yêu cầu đến backend IOSd, IOSd thực hiện lần giải mã thứ hai và giải quyết đường dẫn đến /webui_wsma_https .

Do NGINX ban đầu định tuyến yêu cầu bị lỗi này bằng trình xử lý mặc định , nên nó không thể thực thi logic xác thực và kiểm soát truy cập thông thường. Kết quả là, kẻ tấn công có thể chèn một tiêu đề Cấp độ Riêng tư giả mạo, tự gán cho mình các đặc quyền cấp quản trị viên (15). Kết hợp với một tải trọng XML SOAP chứa lệnh tạo người dùng mới, điều này dẫn đến việc tạo ra một tài khoản cục bộ có đặc quyền cao một cách âm thầm.

Cách khai thác này không yêu cầu xác thực trước và cung cấp cho kẻ tấn công toàn quyền kiểm soát cấu hình thiết bị thông qua Giao diện người dùng web - thiết lập giai đoạn đầu tiên của chuỗi tấn công.
CVE-2023-20273 - Tiêm lệnh vào Software Sự quản lý
Sau khi xác thực bằng tài khoản quản trị viên mới tạo, kẻ tấn công có thể khai thác CVE-2023-20273 , một lỗ hổng tiêm lệnh trong thành phần quản lý phần mềm (/webui/rest/softwareMgmt/*). Điểm cuối này dành cho quản trị viên hợp pháp để cài đặt hoặc cập nhật các gói phần mềm trên thiết bị.
Lỗ hổng này bắt nguồn từ logic xác thực đầu vào trong hàm validateSmuRequest(req), hàm này gọi validator.validateIPv4IPv6HostNameAddress(req.ipaddress) để xác minh địa chỉ IP được cung cấp trong yêu cầu. Bước xác thực này được thiết kế để đảm bảo địa chỉ được cung cấp được định dạng chính xác và an toàn khi sử dụng.
Trong validateIPv4IPv6HostNameAddress, việc xác thực dựa vào hàm trợ giúp utils.isIPv6Address(ip) để đánh giá sự tuân thủ cú pháp IPv6. Hàm này cố gắng phân tích cú pháp đầu vào bằng cách chia nó thành hai dấu hai chấm (:) và đánh giá từng phân đoạn bằng một biểu thức chính quy nhằm loại bỏ các mẫu thập lục phân không hợp lệ hoặc các giá trị nằm ngoài phạm vi. Lỗi triển khai nằm ở biểu thức chính quy này: do sử dụng bộ định lượng * quá dễ dãi, nó khớp với bất kỳ đầu vào nào, cho phép các giá trị không đúng định dạng hoặc độc hại vượt qua quá trình xác thực mà không bị kiểm tra.

Do đó, dữ liệu do kẻ tấn công kiểm soát được chấp nhận là hợp lệ và được chuyển vào logic hạ nguồn, nơi nó được sử dụng để xây dựng lệnh. Giá trị địa chỉ IP không đáng tin cậy cuối cùng được sử dụng trong hàm runPexecCommand() để xây dựng lệnh hệ thống khởi tạo yêu cầu TFTP. Vì thao tác này diễn ra mà không cần xác thực đầu vào hoặc thoát, kẻ tấn công có thể chèn các lệnh tùy ý vào quy trình, dẫn đến việc thực thi lệnh với đặc quyền nâng cao và xâm phạm hoàn toàn thiết bị Cisco.

Bằng chứng khái niệm (PoC)
Trong suốt OPSWAT Chương trình Học bổng, các học viên Hoa X. Nguyen và Nhan Nguyen đã tái tạo lỗ hổng bảo mật chuỗi trong một phòng thí nghiệm được kiểm soát, cách ly không khí trên thiết bị Cisco Catalyst 9300-24T-E chạy IOS XE 17.01. Trình tự khai thác có thể được tóm tắt qua các giai đoạn sau:

- Yêu cầu mã hóa kép: gửi POST được thiết kế đặc biệt đến đường dẫn nội bộ được mã hóa kép (ví dụ: /%2577ebui_wsma_https) được định tuyến qua proxy dự phòng và chứa tiêu đề Cấp độ riêng tư giả mạo và tải trọng SOAP tạo tài khoản.
- Nhận phiên quản trị: đăng nhập bằng tài khoản đã tạo và thu thập mã thông báo phiên/CSRF.
- Tải lên tải trọng: sử dụng chức năng tải lên Giao diện người dùng web để đặt attacker_shell.sh trên thiết bị (hành động chỉ dành cho quản trị viên).
- Thực thi thông qua SMU: gửi yêu cầu SMU với địa chỉ ipad được tạo sẵn (ví dụ: 100:100:100:$(/bin/sh /bootflash/attacker_shell.sh )); xác thực bị bỏ qua và tập lệnh được tải lên sẽ thực thi dưới dạng root.

Khắc phục
Cisco đã phát hành phiên bản vá lỗi của Cisco IOS XE Software để giải quyết cả CVE-2023-20198 và CVE-2023-20273. Tất cả các tổ chức đang sử dụng các phiên bản bị ảnh hưởng từ 16.0.x đến 17.9.x nên nâng cấp ngay lập tức lên phiên bản vá lỗi mới nhất theo khuyến cáo bảo mật chính thức của Cisco. Việc áp dụng các bản cập nhật này sẽ loại bỏ hiệu quả các lỗ hổng bảo mật tiềm ẩn và ngăn chặn việc leo thang đặc quyền trái phép hoặc chèn lệnh thông qua Giao diện người dùng Web.
Đối với môi trường không thể nâng cấp ngay lập tức, người quản trị nên hạn chế hoặc vô hiệu hóa quyền truy cập Giao diện người dùng web từ các mạng không đáng tin cậy, thực thi các biện pháp kiểm soát xác thực nghiêm ngặt đối với giao diện quản trị và liên tục theo dõi hành vi bất thường của hệ thống như tạo tài khoản trái phép hoặc thay đổi cấu hình bất thường.
Để tăng cường khả năng phục hồi mạng tổng thể, các tổ chức có thể bổ sung bản vá của nhà cung cấp với Nền tảng MetaDefender của OPSWAT , một khuôn khổ bảo mật thống nhất được thiết kế để bảo vệ cơ sở hạ tầng trọng yếu bằng cách phát hiện và ngăn chặn các mối đe dọa trên các tệp, thiết bị và luồng dữ liệu. Tích hợp MetaDefender vào quy trình làm việc mạng và vận hành giúp tăng cường khả năng hiển thị, đảm bảo kiểm tra mối đe dọa sâu hơn và cung cấp biện pháp bảo vệ bổ sung chống lại các nỗ lực khai thác tiềm ẩn nhắm vào hệ thống quản lý.
Bằng cách kết hợp các bản cập nhật kịp thời của Cisco, các biện pháp kiểm soát truy cập mạnh mẽ và chiến lược phòng thủ nhiều lớp được hỗ trợ bởi MetaDefender Nền tảng này cho phép các tổ chức giảm đáng kể nguy cơ tiếp xúc với các chuỗi khai thác tương tự và duy trì thế trận bảo mật mạnh mẽ và linh hoạt hơn.
