Một tác nhân đe dọa chưa từng được ghi nhận trước đây đã được xác định là kẻ đứng sau việc khai thác các thiết bị VPN SonicWall Secure Mobile Access (SMA) dòng 1000 dưới dạng Zero-Day kể từ ngày 22 tháng 6 năm 2026, trước khi các lỗ hổng này được công bố rộng rãi.
Công ty an ninh mạng Volexity đang theo dõi hoạt động này dưới biệt danh UTA0533. Phát hiện này được đưa ra sau một cuộc điều tra phản ứng sự cố vào đầu tháng này. Tổ chức bị ảnh hưởng vẫn chưa được xác định danh tính.
"Tác nhân đe dọa này được quan sát thấy đã sử dụng nhiều lỗi khai thác Zero-Day, phần mềm độc hại được thiết kế riêng cho các thiết bị VPN SonicWall SMA, cũng như các kỹ thuật tấn công chuyên nghiệp khác," các nhà nghiên cứu bảo mật Sean Koessel và Steven Adair cho biết trong một phân tích.
Các lỗ hổng đang được nhắc đến là CVE-2026-15409 (điểm CVSS: 10.0) và CVE-2026-15410 (điểm CVSS: 7.2). Cả hai đều có thể bị liên kết (chained) để tạo điều kiện thực thi lệnh tùy ý và chiếm quyền kiểm soát các thiết bị bị ảnh hưởng. Các bản vá cho cả hai lỗ hổng đã được SonicWall phát hành trong tuần này.
Các hành động tấn công trên thiết bị bị xâm nhập
Hai thiết bị VPN SonicWall SMA thuộc tổ chức bị xâm nhập đã được xác định. Trình tự các hành động mà tác nhân đe dọa thực hiện trên các thiết bị này bao gồm:
Thiết bị 1:
- Ghi một tệp thực thi ELF có tên "/usr/bin/xzfind" vào ngày 22 tháng 6 năm 2026. Đây là một tệp nhị phân setuid được gọi là ROOTRUN, cho phép người dùng không có đặc quyền thực thi các lệnh tùy ý với quyền root.
- Ghi tệp thứ hai có tên "/usr/lib/python3.11/site-packages/deploy_new.py" (còn gọi là KNUCKLEBALL), chứa hai kho lưu trữ JAR nhúng được chèn vào một tiến trình SonicWall hợp lệ. Hai payload này là Suo5, một HTTP proxy mã nguồn mở, và một Java web shell tùy chỉnh giống Behinder có tên là ORANGETAIL. Các tệp JAR cho phép kẻ tấn công tương tác với chúng thông qua các đường dẫn URI có thể truy cập từ internet.
- Thiết lập sự kiên định (persistence) bằng cách sửa đổi tập lệnh khởi động hợp lệ "/etc/init.d/workplace startup" thông qua tập lệnh Python đã tải xuống trước đó.
- Sửa đổi tệp cấu hình NGINX Unit tại "/var/lib/unit/conf.json" để thêm hai tuyến đường (route) dẫn đến Suo5 và ORANGETAIL.
Thiết bị 2:
- Thực hiện các sửa đổi tương tự đối với "/var/lib/unit/conf.json" như trên thiết bị đầu tiên, mặc dù các tuyến đường không trả về phản hồi hợp lệ.
- Tạo nhiều tệp trong thư mục "/var/tmp", bao gồm một tệp ("lib.sh") khởi chạy tcpdump để kiểm tra lưu lượng LDAP không mã hóa nhằm trích xuất tên người dùng và mật khẩu.
Thiết bị thứ hai được cho là có ít dấu vết hơn sau khi khởi động lại vào ngày 2 tháng 7 năm 2026, dẫn đến việc loại bỏ mọi dấu vết và backdoor lưu trú trong bộ nhớ.
"Các tệp trong /tmp thuộc sở hữu của tài khoản không có đặc quyền được sử dụng bởi dịch vụ cơ sở dữ liệu nội bộ của thiết bị," các nghiên cứu giải thích. "Điều này cho thấy tác nhân đe dọa có thể ghi và có khả năng thực thi các tệp thông qua ngữ cảnh dịch vụ đó."
Phân tích kỹ thuật về chuỗi khai thác
Phân tích sâu hơn về nhật ký và bộ nhớ hệ thống đã dẫn đến việc phát hiện ra lỗ hổng CVE-2026-15409, được mô tả là một lỗi vượt qua xác thực "/wsproxy" trước khi đăng nhập. Lỗi này cho phép một yêu cầu bên ngoài không xác thực thiết lập đường hầm WebSocket tới các dịch vụ chỉ dành cho localhost trên thiết bị.
Quyền truy cập từ bên ngoài có thể bị kẻ tấn công lạm dụng để truy cập các phương thức được định nghĩa trong endpoint "sysCtrl", tạo đường dẫn để truy cập sâu hơn bằng cách khai thác các lỗi chèn lệnh (command injection), leo thang đặc quyền và thực thi mã trong dịch vụ điều khiển SMA (tức là CVE-2026-15410).
Một lỗi bảo mật riêng biệt cũng được gắn cờ, cho phép kẻ tấn công vượt qua xác thực đối với dịch vụ điều khiển SMA ("ctrl-service"). Vì mật khẩu xác thực Basic được lấy từ định danh phần cứng cục bộ của thiết bị ("/sys/class/dmi/id/product_uuid"), kẻ tấn công biết UUID này có thể xác định được mật khẩu cần thiết.
Đáng chú ý là tệp "product_uuid" có thể được đọc bởi bất kỳ ai, cho phép người dùng không có đặc quyền lấy giá trị và tìm ra mật khẩu. Tuy nhiên, giá trị UUID này chỉ được quan sát thấy trên các thiết bị vật lý, nghĩa là các thiết bị ảo (virtual appliances) không bị ảnh hưởng.
"Với khả năng này, kẻ tấn công có thể tiếp cận và khai thác các dịch vụ kém an toàn hơn đang chạy trên thiết bị, chẳng hạn như ứng dụng Erlang trên localhost:1050 hoặc ứng dụng ctrl-service trên localhost:8188," Rapid7 cho biết.
Tóm tắt chuỗi khai thác toàn diện
Toàn bộ chuỗi khai thác diễn ra như sau:
- Gửi một yêu cầu "/wsproxy" không xác thực với chuỗi User-Agent chứa "SMA Connect Agent" và tham số URI bắt đầu bằng "bmID=-3389".
- Thiết lập đường hầm WebSocket tới các dịch vụ chỉ dành cho localhost.
- Thực hiện các lệnh gọi tới CouchDB để đọc, ghi tệp dưới quyền người dùng "couchdb".
- Đặt một tệp trong "/tmp" dưới quyền người dùng "couchdb" để đọc tệp "/sys/class/dmi/id/product_uuid" sau khi thực thi bằng cách khai thác CVE-2026-15409.
- Leo thang lên quyền root bằng cách khai thác CVE-2026-15410, một lỗi path traversal trong quy trình "remove_hotfix" của "ctrl-service" và giành quyền thực thi lệnh với đặc quyền nâng cao.
Mặc dù UTA0533 đã chứng minh khả năng đáng kể trong việc xâm nhập các thiết bị SonicWall, các bằng chứng hiện có cho thấy nhóm này ít thành công hơn trong việc di chuyển ngang (lateral movement) hoặc giành quyền truy cập vào các hệ thống khác trong mạng.