FCKeditor 취약점분석
머리말 본문서에서는 FCKeditor 의취약점에대해설명하고해당취약점에대한대응책을소개하는자료입니 다. 본문서는웹해킹에대한일반적인지식이있는보안전문가를대상으로작성되었습니다. 따라서, 웹 해킹에대한기본적인기술에대해서는별도로설명하지않습니다. 등록상표 PIOLINK 는 파이오링크의등록상표입니다. 일러두기 본사용설명서의저작권은 파이오링크에있습니다. 본사용설명서는저작권법에의하여법적으로보호받고있으며, 저작권자의사전서면허가없이는어떠한이유에서든무단으로전체혹은일부분의내용을발췌하거나어떠한형태로든복제할수없습니다. 본사용설명서및그내용에의해직접, 간접으로발생될수있는피해및재산상손해에대해 파이오링크에법적인책임이없음을밝힙니다. FCKeditor 분석기술백서 (2009.12) Copyright 2002-2009 PIOLINK, Inc. All rights reserved. 전화 : 1544-9890/ Web page: http://www.piolink.co.kr 2 FCKeditor 취약점분석
문서구성 이문서의각장은다음과같은내용으로구성되어있습니다. 제 1 장 FCKeditor 개요및취약점발생원인 이장에서는 FCKeditor 개요및취약점발생원인에대하여설명합니다. 제 2 장 FCKeditor 공격기법 이장에서는 FCKeditor 에대한공격기법에대하여설명합니다. 제 3 장 FCKeditor 취약점대응기법 이장에서는웹서버나보안장비에서 FCKeditor 공격을차단하는방법에대하여설명합니 다. 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀 3
목차 머리말...2 문서구성...3 목차...4 FCKeditor 개요및취약점발생원인... 5 개요...5 취약점발생원인...6 FCKeditor 개요및취약점발생원인... 8 샘플파일확인...8 파일업로드및폴더생성... 10 Web Shell접근시스템명령어사용... 12 FCKeditor 취약점파일... 14 FCKeditor 취약점대응기법...15 4 FCKeditor 취약점분석
FCKeditor 개요및취약점발생원인 개요 FCKeditor 란기존의게시판프로그램에서한단계진일보한게시판에디터로, 글작성및 html 편집, 표삽입등이가능하다. FCKeditor 가설치된웹서버화면 FCKeditor 실행화면 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀 5
FCKeditor 의주요특징 인터넷익스플로어, 모질라, 파이어폭스, 네스케이스와호환됨 XHTML 1.0 지원 폰트설정 : 글씨체, 크기, 색상, 스타일, 볼드체, 이탤릭체등등지원 텍스트설정 : 정렬, 들여쓰기, 리스트등등지원 복사, 붙이기, 텍스트로붙이기, 취소 워드프로그램에서복사해서붙이기할경우자동인식해서복사됨. 링크기능 이미지삽입기능 테이블생성, 편집, 줄추가 / 삭제 테이블셀편집기능 ( 크기, 색상...) 폼필드 마우스오른쪽버턴클릭시메뉴제공 툴바커스터마이징 스킨지원 스펠링체크 CSS 지원 가볍고빠름 자동으로브라우저종류인식및커스터마이징가능 관리자에게는설치하기쉽고커스트마이징가능 사용자는사용하기매우쉽다. 취약점발생원인 FCKeditor 취약점이발생하는원인은크게 2 가지로나누어볼수가있다. 첫째. FCKeditor 기본디렉터리에설치할경우 발생예상취약점 - FCKeditor 신규취약점발생시검색엔진을이용한검색으로무작위공격가능 - FCKeditor 의업로드파일에대한위치노출로 Web Shell 업로드후접근가능 발생예상피해 - 검색엔진으로인한 FCKeditor 기본 URL 탐지에따른대량공격발생 - 파일업로드위치노출로인한 Web Shell 파일업로드및시스템권한장악 6 FCKeditor 취약점분석
둘째. FCKeditor 샘플파일을삭제하지않을경우 발생예상취약점 - FCKeditor 정상여부체크를위한샘플파일접근으로인하여시스템정보노출가능성존재 - FCKeditor 설정정상작동여부샘플파일접근으로인한주요설정변경가능성존재 - FCKeditor 파일업로드및기타기능정상작동여부체크를위한샘플파일접근으로인한악의적목적의 Web Shell 업로드및임의디렉터리생성가능성존재 발생예상피해 - FCKeditor 테스트파일로인한서버주요정보 (IP및각종버전정보 ) 및구조 ( 웹구조 ) 노출. - FCKeditor 정상작동여부판별을위한샘플파일로인한임의디렉터리생성및 Web Shell 업로드. 참고사항 : FCKeditor Sample File 위치 : /FCKeditor/_samples/index.jsp 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀 7
FCKeditor 개요및취약점발생원인 본문서에서설명하는방법은 FCKeditor 설치방식에따라취약점발생위치및이름이차이가있을수있다. 본문서에는기본설정으로설치되는 FCKeditor을기반으로설명하고있다. 일반적인기본설정으로설치된 FCKeditor의경우는아래샘플파일체크리스트를기반으로간단취약점존재여부를확인할수있다. 샘플파일확인 다음은 FCKeditor 가기본으로설치된취약한 URL 경로이다. http://[ 호스트 ]/FCKeditor/editor/filemanager/browser/default/connectors/test.html http://[ 호스트 ]/FCKeditor/editor/filemanager/upload/test.html http://[ 호스트 ]/FCKeditor/editor/filemanager/browser/default/browser.html 위의내용과같이간단히접속요청을하면웹서버의주요정보를알수가있다. FCKeditor 샘플파일접근화면 1 8 FCKeditor 취약점분석
FCKeditor 샘플파일접근화면 2 FCKeditor 샘플파일접근화면 3 9 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀
파일업로드및폴더생성 샘플파일에접근을할경우파일업로드가가능하며업로드파일필터링정책이존재하지않아파 일을업로드공격이가능하다. EX> http://www.tset.com/fckeditor/editor/filemanager/browser/default/browser.html 일부사용자의설정에따라 php, jsp, asp 등은업로드가제한되어있을수있다. 일부샘플파일은시스템의폴더의생성 / 삭제등이가능하여이를이용해공격을할수있다. FCKeditor 샘플파일접근후폴더생성기능접근화면 FCKeditor 샘플파일접근후폴더생성화면 10 FCKeditor 취약점분석
FCKeditor 샘플파일접근후파일업로드화면 11 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀
Web Shell 접근시스템명령어사용 샘플파일을이용하여업로드한 Web Shell 의경로를업로드페이지에서소스보기를이용하여 Web Shell 의경로를추출후이를이용하여해당파일에접근하게되면시스템명령어사용이가능하다. Web Shell 경로추출화면접근 Web Shell 접근화면 12 FCKeditor 취약점분석
Web Shell 접근후특정웹소스열람화면 위그림은 FCKeditor 를사용하는사이트의샘플파일에접근하여 Web Shell 업로드후, Web Shell 을 이용하여웹애플리케이션의소스를열람하고있는화면이다. 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀 13
FCKeditor 취약점파일 FCKeditor 공격파일은각서버마다동일하다. 하지만사용자의설치방법에따라각폴더이름이다를수있다. 아래의표는 FCKeditor에대한기본설치후접근할수있는 FCKeditor의취약점이존재하는샘플파일경로이다. 서버사이드스크립트 FCKeditor 파일 /FCKeditor/editor/filemanager/browser/default/connectors/test.html ASP /FCKeditor/editor/filemanager/upload/test.html /FCKeditor/editor/filemanager/browser/default/browser.html /FCKeditor/editor/filemanager/browser/default/connectors/test.html PHP /FCKeditor/editor/filemanager/upload/test.html /FCKeditor/editor/filemanager/browser/default/browser.html /FCKeditor/editor/filemanager/browser/default/connectors/test.html JSP /FCKeditor/editor/filemanager/upload/test.html /FCKeditor/editor/filemanager/browser/default/browser.html < 표샘플파일패턴 > FCKeditor 를기본으로설치한사용자는위의표를기반으로샘플페이지를삭제하거나또는외부에 서접근이불가능하도록설정해야만 FCKeditor 의샘플파일취약점으로부터대상웹서버를안전하 게보호할수있다. 14 FCKeditor 취약점분석
FCKeditor 취약점대응기법 FCKeditor 를이용한공격을차단하기위해서는다음과같은두가지형태에대하여방어를해야한다. 1 FCKeditor 샘플파일접근 FCKeditor 샘플파일삭제 FCKeditor 설치위치및이름변경 FCKeditor 샘플파일접근제어 2 FCKeditor를이용한 Web Shell 실행 FCKeditor 샘플파일접근차단에실패했을경우, 업로드하는파일에대해웹보안시스템을이용하여업로드되는파일을차단 FCKeditor 파일업로드디렉터리에대한실행권한을제거하여 Web Shell 실행공격을차단 FCKeditor 샘플파일을이용한악성 Web Shell을업로드한후해당악성 Web Shell을이용하여시스템명령어등을사용하는경우웹보안장비시스템명령어차단룰셋을추가함으로써차단 위에제시한방법중한가지만차단하여도방어가가능하다. 하지만만약의경우를대비하여두가 지경우에대하여모두보안정책을수립하는것이좋다. 당사웹방화벽 WEBFRONT 에서는샘플파일접근차단, 명령어삽입차단, 업로드공격차단기능을이용 하여 FCKeditor 공격을차단한다. 2009 Copyright c PIOLINK, Inc. 보안컨설팅팀 15