Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

취약점 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2019-16662,16663] rConfig 취약점 스캐닝 대량 탐지
작성일 2019-11-14 조회 2140

 

 

2019년 10월, 사이버 보안 연구원이 rConfig 유틸리티에서 패치되지 않은 RCE 취약점 2개에 대한 정보 및 PoC 코드를 공개했습니다.
 
rConfig는 무료 오픈소스 네트워크 기기 구성 관리 유틸리티로, rConfig에 따르면 전 세계적으로 330만대 이상의 장치를 관리하고 있으며 7,000명 이상의 활성 사용자를 보유하고 있습니다.
 
두 개의 취약점은 모두 최신 버전인 3.9.2 를 포함한 rConfig 모든 버전에 존재한다는 점입니다. 각각의 취약점 정보는 다음과 같습니다.
 
 
* CVE-2019-16662 : ajaxServerSettingsChk.php 내 Unauthentication RCE 취약점
* CVE-2019-16663 : search.crud.php 내 Authentication RCE 취약점
 
 
 
취약점 공개 이후(10월 말 ~ 현재) 지속적으로 CVE-2019-16662 취약점에 대한 스캐닝이 탐지되고 있는 것을 확인할 수 있습니다.

 

 

[그림1. CVE-2019-16662 취약점 공격 탐지 로그 (출처 : 윈스 허니넷)]

 

 

 

 


취약점 설명

 

NVD - CVE-2019-16662

CVSS v2.0 Severity and Metrics:

Base Score: 10.0 HIGH

 

 


 

[그림2. NVD 내역]

 

 

 

NVD - CVE-2019-16663

CVSS v2.0 Severity and Metrics:

Base Score: 9.0 HIGH

 

 


 

[그림3. NVD 내역]

 


취약점 분석

 

CVE-2019-16662 취약점 공격의 경우, /install/lib/ajaxHandlers/ajaxServerSettingsChk.php 에서 발생합니다.

 

취약점 발생 원인으로는 'rootUname' 매개변수에 대한 적절한 검증이 존재하지 않아 발생합니다.

 

#2번 라인에서 'rootUname' 매개변수에 대한 GET 요청을 변수에 저장하고, #12번 라인에서 저장된 매개변수 값과 일부 문자열을 연결하여 'rootTestCmd1' 에 저장합니다.

 

#13번 라인에서는 exec 함수를 통해 'rootTestCmd1' 변수 값이 실행되어 공격자는 RCE 공격을 수행할 수 있습니다.

 

현재 최신버전(3.9.3)에서는 ajaxServerSettginsChk.php 파일이 제거되었습니다.

 

 

[그림4. /install/lib/ajaxHandlers/ajaxServerSettingsChk.php 취약한 코드 중 일부]

 

 

 

CVE-2019-16663 취약점의 경우, /lib/crud/search.crud.php 에서 발생합니다.

 

취약점 발생 원인으로는 'catCommand' 매개변수에 대한 적절한 검증이 존재하지 않아 발생합니다.

 

#25번 라인에서 'searchTerm' GET 매개변수를 전송하여 조건문을 통과하면, #27번 라인과 같이 'catCommand' 매개변수 값을 저장합니다.

 

저장된 매개변수 값은 #61번 라인에서 일부 문자열과 연결되고 'command' 라는 변수에 저장된 후, #63번 라인에서 exec 함수를 통해 실행되어 공격자는 RCE 공격을 수행할 수 있습니다.

 

 

[그림5. /lib/crud/search.crud.php 취약한 코드 중 일부]

 

 

 

패치된 버전(3.9.3)의 경우, escapeshellarg() 함수를 사용하여 $catcCommand 변수 값을 검증한다.

 

 

[그림6. CVE-2019-16663 패치 코드]

 

 

 

 

공격 분석 및 테스트

 

 

현재 탐지되고 있는 대부분의 취약점 스캐닝(CVE-2019-16662) 패킷은 아래와 같습니다.

 

공격 성공 시, "HelloConfig" 문자열에 대한 MD5 값을 노출합니다.

 

 

 

[그림7. CVE-2019-16662 스캐닝 패킷]

 

 

 

만약 취약한 버전으로 인해 공격에 취약하다면, 다음과 같이 php one-liner reverse shell 을 사용하여 쉘을 얻을 수 있습니다.

 

 

 

[그림8. CVE-2019-16662 PoC]

 

 

 

[그림9. CVE-2019-16662 공격 성공]

 

 

 

 

[그림10. CVE-2019-16663 PoC]

 

 

 

[그림11. CVE-2019-16663 공격 성공]

 

 

 


취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 보안 권고문을 참고하여 패치를 적용합니다.

 

https://rconfig.com/download

 

 

2. WINS Sniper 대응 방안

 

*Sniper IPS

[5033] rConfig ajaxServerSettingsChk.php RCE
[5037] rConfig search.crud.php RCE

 

*Sniper UTM

[805375103] rConfig ajaxServerSettingsChk.php RCE
[805375106] rConfig search.crud.php RCE


*Sniper APTX

[4308] rConfig ajaxServerSettingsChk.php RCE
[4311] rConfig search.crud.php RCE

 

첨부파일 첨부파일이 없습니다.
태그