보안정보

[CVE-2017-6549] ASUSWRT Session Hijacking

침해사고분석팀 2017.09.08

 

개요
ASUSWRT 다수의 버전에서 Session Hijacking 취약점이 존재한다.

 

해당 취약점은 asus_token 값을 이용하여 관리자 인터페이스의 로그인 여부를 확인하는 구문에서 잘못된 매칭으로 인해 발생하며, 잘못된 매칭 구문을 악용하여 관리자 세션 탈취가 가능하다.

 

공격 성공 시 획득한 관리자 세션으로 임의의 명령을 실행 할 수 있다.

 

 

분석
CVE-2017-6549, ASUSWRT 에 대한 취약점이 공개되었다.

 

httpd 데몬에서 search_token_in_list 함수에서 asus_token 값 을 확인하여 관리 인터페이스에 로그인했는지 확인 한다.
이 부분에서 잘못된 매칭 구문으로 인해 취약점이 발생한다. (로그 아웃 기능 부분에서 발생)

 

[그림 1.] 취약 함수 내역

 

취약점 악용을 위해서는 간단한 패킷 조작으로 가능하다.


쿠키값을 cgi_logout 으로 설정 하고, User-Agent 를 asusrouter-Windows-IFTTT-1.0 설정하게 되면 관리자 세션 탈취가 가능하다.
(단, 관리자가 로그인 되어있는 상태인 경우)

 

[그림 2.] PoC 내역

 

관리자 세션을 이용하여 임의의 명령어(재부팅이나, syslog 다운) 실행이 가능하다.

 

벤더사에서는 패치를 완료하였다. 최신버전으로 패치를 권고한다.

 

[그림 3.] 패치 내역

 

 
대응방안
벤더사에서 해당 취약점에 대해 패치를 진행하였으므로, 최신버전으로 패치 하는 것을 최우선으로 권고한다.
패치가 불가능하거나, 당사 Sniper 제품을 사용시에는 아래와 같은 패턴으로 대응이 가능하다.
 
1) Sniper IPS 에서는 아래와 같은 패턴으로 대응 가능하다.

[IPS 패턴블럭] : 3669, ASUSWRT search_token_in_list Session Hijacking


2) Snort 패턴은 시큐어캐스트에서 확인 가능하다.
 
참조
https://bierbaumer.net/security/asuswrt/#session-stealing
https://asuswrt.lostrealm.ca/changelog
https://www.exploit-db.com/exploits/41572/