▷ 작성자 : 붉은반점(r3dp0int@a3sc.co.kr)
▷ 편집자 : 니키 (ngnicky@a3sc.co.kr)


[A3AID08-05]
Excel Viewer OCX Insecure Overwrite
공격 보안 권고안

 


취약점 세부 분석 :

 1. 취약점 내용
본 취약점은 Excel Viewer ActiveX 에서 제공하는 HttpDownloadFile() 메소드에서 파일의 중복 시 사용자의 확인을 받지 않고 중요파일을 덮어쓰기하는 과정에서 발생하였습니다.

아래 그림은 OleViewer 를 이용하여 HttpDownloadFile 메소드를 확인하는 화면입니다.


[그림 1] HttpDownloadFile 메소드 확인

[그림 1]을 보면 본 메소드에는 두 개의 파라미터가 필요함을 알 수 있습니다. 이름에서 알 수 있듯이 첫번째 파라미터에는 웹 서버에 존재하는 파일의 URL 입력 부분이고, 두번째는 파일 다운로드하여 저장할 로컬 드라이브의 위치를 입력하는 부분입니다.

아래는 HttpDownloadFile 메소드를 이용하여 임의의 웹서버에 존재하는 notepad.exe(메모장)를 windows 시스템폴더에 calc.exe(계산기)라는 이름으로 저장하는 웹페이지의 소스입니다. 공격 성공 시, 사용자가 Overwrite 된 계산기 프로그램을 인지하지 못하고 계산기로 둔갑한 메모장 프로그램을 실행시키게 됩니다.


[그림 2] 파일 다운로드 웹페이지 소스

[그림 2]는 exploit 소스파일입니다. 클래스 ID를 Server에는 웹서버에 notepad.exe 파일을 저장해놓은 후 그 위치를 나타내는 URL을 Server 값으로 정해준 후에, 공격 대상인 calc.exe 파일의 위치를 Local 값으로 정해줍니다. 그 후에는 HttpDownloadFile메소드에 파라미터 값을 입력합니다. 18번 줄은 테스트의 편의성을 위해 버튼을 장치하여 클릭 후 결과 확인을 할 수 있도록 하였습니다. 본 코드의 목적은 웹페이지를 방문하여 exploit이라고 씌여져 있는 버튼을 클릭하면 서버의 notepad.exe가 윈도우 폴더에 calc.exe라는 파일로 저장이 되도록 하는 것입니다. 
 
아래의 그림은 이를 확인하는 화면입니다.


[그림 3] exploit이 존재하는 웹페이지 화면

버튼을 클릭하게 되면 사실 브라우저상의 반응은 전혀 없습니다. 하지만, 아래의 그림처럼 windows 시스템폴더에 calc.exe 파일이 메모장 아이콘으로 바뀐 것을 확인할 수 있습니다.


[그림 4] calc.exe파일의 아이콘이 메모장 아이콘으로 변경된 화면

사용자는 이 사실을 인지하지 못하고 평상시와 같은 방법으로(보조프로그램의 계산기 클릭, 명령창에서 calc 입력) 계산기를 실행시키게 되면 계산기가 아닌 메모장이 화면에 출력되는 것을 확인할 수 있습니다.


[그림 5] calc.exe(계산기)를 실행한 후에 메모장이 출력된 화면

위와 같이 파일이 Overwrite되는 것을 확인하였습니다.

2. Overwrite 예외사항
해당 취약점은 몇가지 예외사항에 의해 Overwrite 되지 않았습니다. 파일에 쓰기권한이 없을 때와 현재 exe파일이 실행중인 경우입니다. 따라서, 일반적으로 사용하지는 않지만 빈도수가 낮지 않은 그림판이나 계산기 같은 파일에 대해 공격이 이루어진다면 충분히 공격 가능성이 있습니다.


3. 위험 분석
해당 취약점은 공격자가 사용자의 컴퓨터에서 자주 사용하면서도 보통 때는 실행시켜놓지 않는 파일인 calc.exe(계산기) 등의 파일을 악성파일(웜이나 바이러스), 백도어 등의 파일로 Overwrite할 수 있습니다. 요즘 많이 사용되고 있는 XSS 공격이나 URL Redirection에 악용될 수 있는 소지가 있습니다.

 
4. 대응 방안
현재 테스트 대상은 최신 ActiveX 패치이며 악성프로그램이 복사되도록 막기 위해 백신을 설치하고 항상 최신패치를 유지할 것을 권고합니다.
 

5.  관련 사이트
http://www.milw0rm.com/exploits/7739 


6. 특이 사항
취약점 분석이 Excel Viewer OCX를 대상으로 이루어졌지만 Word Viewer OCX도 같은 메소드가 존재하기 때문에 같은 취약점을 가지고 있습니다. Word Viewer OCX 사용자 분들께서도 이와 같은 취약점에 주의해주시기 바랍니다.

Copyright(c) 1998-2009 A3 Security ,LTD


Disclaimer
※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.