Wins blog

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

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2017-7269] IIS 6.0 원격코드실행 취약점 분석
작성일 2017-03-30 조회 1125

 

1. 개요

Windows Server 2003 R2, Internet Information Services(IIS) 6.0의 WebDAV 서비스의 ScStoragePathFromUrl 함수에서 버퍼오버플로우 취약점이 발견 되었다.

원격의 공격자는 해당 취약점으로 PROPFIND Method 를 이용하여 "If : <http : //"로 시작하는 긴 헤더를 통해 임의의 코드 실행이 가능하다.

취약버전 : Windows Server 2003 R2-IIS 6.0(WebDAV 사용), 다른 버전도 영향 받을 수 있음

 

2. 확인 내역

해당 취약점은 Github에 POC와 함께 공개되었다.

- Exploit DB POC와 Github POC 동일한 것으로 확인

- POC 코드를 이용하여 취약버전에서 확인 결과 프로세스에 calc.exe 가 올라오는 것을 확인

- IIS 6.0의 경우 현재 60만개 이상이 사용 되는 것으로 확인

 

[그림1. Github POC 내역]
 

 

[그림2. Exploit DB POC 내역]
 

 

[그림3. 취약버전에서 WebDAV 활성화 후 POC를 이용하여 재연 내역]
 

 

[그림4. IIS 6.0, SHODAN에서 확인한 내역]

 

3. POC 코드 분석 내역

- PROPFIND : WebDAV 확장 메소드이며, 웹으로부터 XML로 저장된 속성을 가져올 때 사용
- Content-Length: 0 : PROPFIND 메소드 사용시 필요한 헤더값
- If: , IF 헤더 사용
- <http://localhost/aaaaaaa 이후 : 버퍼오버플로우를 일으키는 페이로드
- Not <locktoken:write1> : If 헤더 사용시 모든 피연산자 자원을 locktoken : write1로 잠그지 않게 설정
- <http://localhost/bbbbbbb 이후 : 버퍼오버플로우를 일으키는 페이로드
- VVYA444 이후 : Shell Code

 

[그림5. POC 패킷 발생 내역]
 

4. 정리

본 게시글에서 IIS 6.0 원격코드실행 취약점에 대해 알아보았다.

POC 코드의 경우 해당 취약점을 이용하여 오버플로우를 일으킨 후에 ROP Chain을 이용하여 calc.exe를 실행 하였다.

해당 취약점을 악용하여 원격코드가 실행되기 위해서는 ROP Chain 등의 공격 방법이 추가되어야 하므로 공격이 쉽지 않다.

그러나 2016년 7월, 8월에 취약점이 이미 악용된것으로 알려지고 있으므로, 각별한 주의가 필요하다.

Windows Server 2003 의 경우 2015년 7월 14일부로 지원이 종료되었기 때문에 공식적인 패치는 없을것으로 판단된다.

 

5. 대응 방안

1) WebDAV 서비스를 비활성화 한다.

 

2) Sniper IPS에서는 아래와 같은 패턴으로 대응 가능하다.

[IPS 패턴블럭] : 3455, WebDAV PROPFIND Method If Header Overflow

 

3) Snort 패턴은 시큐어캐스트에서 확인 가능하다.


 

6. 참고

https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py

https://www.exploit-db.com/exploits/41738/

http://www.securityfocus.com/bid/97127/discuss

https://msdn.microsoft.com/en-us/library/aa142886(v=exchg.65).aspx

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2017-7269  PROPFIND   IIS6.0  ScStoragePathFromUrl   WebDAV