홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
>> 목록보이기 FCKeditor 대상 자동화 공격도구의 침해사고 사례2015년 5월 30,31일 이틀동안 베트남 누리집 1천여개와 필리핀 누리집 2백여개가 위변조 공격을 당했다고 한다 - 당시에 중국과 베트남이 정치적으로 관계가 악화된 상황이었다고 한다. 1937cn이라는 중국 해킹그룹의 소행으로 알려졌다. 이 공격에는 WebDAV 취약점과 FCKeditor 취약점이 이용되었다고 한다. [ 관련기사 ]
FCKeditor는 Frederico Caldeira Knabben이 자신의 이름을 따서 2003년에 만든 공개용 웹에디터(Web Editor)이다.
웹 상에서 WYSIWYG 편집 기능을 제공하며 기능이 매우 풍부해서 전세계적으로 큰 인기를 끌었다.
2012년에는 기능 전체를 개편하여 CKEditor라는 이름으로 배포하고 있다 - CKeditor에서는 FCKeditor의
취약점을 모두 보완하여 상당히 안전한 편이다.
공식적으로는 FCK가 영어의 비속어인 FCKeditor는 공개용으로 배포되었기 때문에 소스 분석이 가능했고 초기 버전에서 파일업로드 취약점과 경로조작 취약점 등이 발견되었다. 2000년대 중반 이후로 벌써 10년을 훌쩍 넘겨서 전세계적으로 공격이 진행중인 대표적인 웹 에디터이다. 국내에서도 다수의 웹서버가 FCKeditor 취약점 때문에 아직도 공격을 당하고 있다. FCKeditor 취약점에 대해서는 Piolink의 2009년도 보고서가 잘 정리하고 있다. 보고서를 참조하기 바란다. 현재는 대부분의 공격이 웹쉘 업로드에 집중된 것으로 보인다. 다음 그림들은 FCKeditor를 설치했을 때 기본적으로 접속할 수 있는 예제 페이지들과 서버열람(Server Browse) 기능이다.
마지막 그림을 보면 이 서버는 이미 다수의 공격을 당하고 있다는 것을 파악할 수 있다. FCKeditor의 배포가 2012년에 중단되었음에도 불구하고 공격은 아직도 진행형이다. FCKeditor에 의한 윈도우 웹서버 침해사고 사례
2015년 10월 말에 국내 한 웹서버에서 ASP 웹쉘이 발견되었다.
MS 윈도우 서버였으며 ASP 기반 누리집을 운영중이었다.
웹쉘이 발견된 경로는 다음은 공격자가 최초로 ASP 파일 업로드에 성공했을 때 까지의 IIS 접속 로그이다. 피해 서버의 IP주소는 xxx로 처리하였다. 2015-10-04 07:12:05 W3SVC243283702 xxx.xxx.xx.xxx GET /fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1)+Gecko/20070309+Firefox/2.0.0.3 404 0 3 2015-10-04 07:12:05 W3SVC243283702 xxx.xxx.xx.xxx GET /admin/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+Win64;+x64;+Trident/4.0) 404 0 3 2015-10-04 07:12:06 W3SVC243283702 xxx.xxx.xx.xxx GET /admin/js/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US;+rv:1.8.1.12)+Gecko/20080219+Firefox/2.0.0.12+Navigator/9.0.0.6 404 0 3 2015-10-04 07:12:06 W3SVC243283702 xxx.xxx.xx.xxx GET /admin/templates/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0) 404 0 3 2015-10-04 07:12:11 W3SVC243283702 xxx.xxx.xx.xxx GET /app/common/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0) 404 0 3 2015-10-04 07:12:23 W3SVC243283702 xxx.xxx.xx.xxx GET /app/webroot/js/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/5.0+(iPhone;+U;+CPU+like+Mac+OS+X)+AppleWebKit/420.1+(KHTML,+like+Gecko)+Version/3.0+Mobile/4A93+Safari/419.3 404 0 3 2015-10-04 07:12:23 W3SVC243283702 xxx.xxx.xx.xxx GET /application/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0) 404 0 3 2015-10-04 07:12:23 W3SVC243283702 xxx.xxx.xx.xxx GET /data/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+Win64;+x64;+Trident/4.0) 404 0 3 2015-10-04 07:12:36 W3SVC243283702 xxx.xxx.xx.xxx GET /html/js/editor/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 404 0 3 2015-10-04 07:12:44 W3SVC243283702 xxx.xxx.xx.xxx GET /include/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 IE8+on+Windows+Vista 404 0 3 2015-10-04 07:12:44 W3SVC243283702 xxx.xxx.xx.xxx GET /includes/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 IE8+on+Windows+7 404 0 3 2015-10-04 07:12:44 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/dialog/fck_about.html - 80 - 118.193.199.221 Opera/8.0+(Macintosh;+PPC+Mac+OS+X;+U;+en) 200 0 0 2015-10-04 14:59:54 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/upload/php/upload.php - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.2)+AppleWebKit/525.13+(KHTML,+like+Gecko)+Version/3.1+Safari/525.13 404 0 3 2015-10-04 14:59:55 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/connectors/php/upload.php - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US;+rv:1.8.1.12)+Gecko/20080219+Firefox/2.0.0.12+Navigator/9.0.0.6 404 3 50 2015-10-04 14:59:55 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/upload/asp/upload.asp - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1)+Gecko/20070803+Firefox/1.5.0.12 404 0 3 2015-10-04 14:59:55 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/connectors/asp/upload.asp - 80 - 118.193.199.221 Opera/8.0+(Macintosh;+PPC+Mac+OS+X;+U;+en) 200 0 0 2015-10-04 14:59:56 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/upload/aspx/upload.aspx - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+NT) 404 0 0 2015-10-04 14:59:56 W3SVC243283702 xxx.xxx.xx.xxx GET /js/fckeditor/editor/filemanager/connectors/aspx/upload.aspx - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0) 404 0 0 2015-10-05 01:51:02 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-05 01:51:02 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-05 01:51:03 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/wefgvfcd(1).asp - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0) 200 0 0
공격자 IP 주소(
약 11시간 후인 2015-10-05 01:51:02에 POST 방식으로 파일을 업로드하였고
재미있는 점은 동일한 IP주소에서 시스템 운영자가 이상한 ASP 파일을 탐지한 것이 10월 28일이었다. 로그를 분석한 결과 이후에도 동일한 방식으로 4번의 공격이 있었다. 첫번째를 포함한 총 5번의 공격을 간추리면 다음과 같다. 2015-10-05 01:51:02 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-05 01:51:03 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/wefgvfcd(1).asp - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+Trident/4.0) 200 0 0 2015-10-09 11:50:30 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-09 11:50:31 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/sadc(1).asp - 80 - 118.193.199.221 Opera/9.27+(Windows+NT+5.2;+U;+zh-cn) 200 0 0 2015-10-14 02:15:24 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-14 02:15:24 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/qdsd(1).asp - 80 - 118.193.199.221 IE8+on+Windows+Vista 200 0 0 2015-10-26 02:02:03 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-26 02:02:03 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/e2rr(1).asp - 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.2) 200 0 0 2015-10-27 02:03:15 W3SVC243283702 xxx.xxx.xx.xxx POST /js/fckeditor/editor/filemanager/connectors/asp/upload.asp time=1405939438707&CurrentFolder=/ 80 - 118.193.199.221 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0 2015-10-27 02:03:16 W3SVC243283702 xxx.xxx.xx.xxx GET /userFiles/werfg(1).asp - 80 - 118.193.199.221 Mozilla/5.0+(Windows;+U;+Windows+NT+5.2)+Gecko/2008070208+Firefox/3.0.1 200 0 0
접속 유형은 첫번째 공격과 유사하다.
FCKeditor의 파일 업로드 기능(
웹서버 로그를 분석하기 위해 현장에 도착했을 때는 이미 운영자가
마무리공격자가 사용한 자동화 공격도구에는 피해서버 관리 부분에서 버그가 있는 것으로 보인다. 이미 ASP 파일 업로드에 성공하고도 4번을 더 공격한 점이 이런 추정을 가능하게 한다. 그리고 ASP 파일을 업로드한 이후에는 더 이상 해당 ASP 파일을 접근하지 않았다. 단 1회만 접근하였다. 이는 관리 부분의 버그 때문일 수도 있고 공격자가 봇넷(botnet)을 구성하는 과정이어서 아직 최종 공격이 시작되지 않아서일 수도 있다. 운영자가 ASP 파일을 미리 발견해서 매우 다행스러운 사례였다. 만약 이 사실을 미리 탐지하지 못했다면 피해 웹서버는 직접 공격을 당하거나 봇넷의 일원(좀비서버)이 되어 다른 공격에 악용되었을 가능성이 높다. [처음 작성한 날: 2016.12.20] [마지막으로 고친 날: 2016.12.21] < 이전 글 : DBMS Fingerprinting (데이터베이스 관리시스템 탐지) (2016.12.22) > 다음 글 : 이중 서버스크립트 혼용을 이용한 웹방화벽/확장자검증 우회 (실제 사례) (2016.12.19) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |