"웹셸"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(종류)
18번째 줄: 18번째 줄:
 
*ASP : Asp, asa, cds, cer
 
*ASP : Asp, asa, cds, cer
 
*ASP.NET : aspx, asax, ascx, ashx, asmx, axd, config, cs, csproj, licx, rem, resources, resx, soap, vb, vbproj, vsdisco, webinfo
 
*ASP.NET : aspx, asax, ascx, ashx, asmx, axd, config, cs, csproj, licx, rem, resources, resx, soap, vb, vbproj, vsdisco, webinfo
*위 목록들은 웹셸 공격에 사용되는 확장자 목록이다.
+
*위 목록들은 웹셸 공격에 사용되는 확장자 목록이다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
==발생원인==
 +
파일업로드 기능의 사용여부로 분류할 수 있으며, 파일업로드는 클라이언에 존재하는 파일을 서버에 업로드 하는 기능을 의미한다. 일반적으로 [[스마트편집기]](SmartEditor), [[다음편집기]](DaumEditor), [[전자정부프레임워크]] 등의 오픈소스 게시판을 이용하거나 자체 개발한 파일업로드 기능을 이용하여 웹쉘파일의 업로드를 시도하게 된며 파일 업로드를 이용하여 웹쉘을 서버에 올리기 위한 방법으로는 SSS나 CSS에 존재하는 파일 확장자 필터링 우회, 이미지 파일 등 정상 확장자 파일 내에 공격코드를 삽입하는 정상 확장자를 이용한 우회 등으로 분류할 수 있다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
==구분==
 +
대표적으로 확장자 우회와 취약점이 있다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
===확장자 우회===
 +
파일 확장자 우회 이기도 하며 예시로는 다음과 같다.
 +
*서버(Server Side Script) 우회
 +
*CSS(Client Side Script) 우회<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
===취약점===
 +
정상 확장자(JPG, PNG등)를 이용한 우회, WEB/WAS, 애플리케이션(Application) (OS, DBMS 등), 편집기(Editor)으로 나눈다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
====정상 확장자(JPG, PNG등) 이용 우회====
 +
이미지 파일에 웹쉘 백도어 코드 숨기기(Hiding Webshell Backdoor Code in Image Files)이다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
====WEB/WAS====
 +
IIS 파일 구문분석 우회로 공격 아파치 스트럿츠2(IIS File Parsing Bypass Attack ​Apache Struts2) 원격 임의코드 실행 취약점�(CVE-2013-2251, CVE-2016-3081, CVE-2016-4438 등 다수) 가 대표적이다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
====애플리케이션(OS, DBMS 등)====
 +
*자바 0-데이 취약성(Java 0-day Vulnerability)
 +
*원격 파일 포함 취약성(RFI : Remote File Inclusion Vulnerability)
 +
*SQL 주입 취약성(SQL Injection Vulnerability)
 +
등이 있다.<ref name="웹 애플리케이션 아키택쳐"></ref>
 +
 
 +
====편집기====
 +
*스마트편집기(SmartEditor) 2.3.3 : 이미지 파일 확장자 미체크
 +
*스마트편집기(SmartEditor) 2.8.2.1 : 파일업로드 취약점 등이있다.<ref name="웹 애플리케이션 아키택쳐"></ref>
  
 
{{각주}}
 
{{각주}}

2021년 8월 17일 (화) 12:16 판

웹셸(Web Shell)은 웹 서버에 명령을 실행하여 관리자 권한을 획득해 행하는 공격 방법을 말한다.[1]

개요

웹 애플리케이션의 첨부 파일에 대한 부적절한 신뢰와 불충분한 점검으로 인해 악의적인 원격 공격 코드가 웹 서버로 전송, 실행되는 방법을 말한다.[1]

원리

웹셸은 간단한 서버 스크립트 (jsp,php,asp ..)로 만드는 방법이 널리 사용되며 이 스크립트들은 웹서버의 취약점을 통해 업로드 된거며 웹셀 설치시 해커들은 보안 시스템을 피하여 별도의 인증없이 시스템에 쉽게 접속이 가능하다.[2]

웹 애플리케이션 아키택쳐(소프트웨어)

웹쉘이 실행될 수 있는 웹 애플리케이션(Web Application) 환경을 말허며 웹쉘이 구동하기 위해서는 웹 애플리케이션의 SSSCSS(Client Side Script, 이하 CSS)가 필요하다.

  • 홈페이지가 구동하기 위해서는 HTTP(HyperText Transfer Protocol)를 통해 WWW상에서 정보를 주고 받게 된다. 서버 측면 프로그램(Server-Side Program)에 해당 하는 부분이 바로 PHP, JSP ASP, ASP.NET에 해당하는 SSS를 의미하게 되고, HTML등 Client-Side Program에 해당하는 부분이 CSS를 의미하는 거다.
  • SSS는 클라이언트가 파일을 HTTP로 요청하면 웹서버(스크립트 엔진)의 정보를 이용하여 DB서버에 접속하여 사용자에게 동적 데이터를 전송하는 것을 기본으로 하며, 최근에는 클라이언트에서 전송한 내용의 동적 데이터 생성 뿐만 아니라 세션을 통한 사용자 구분 및 사용자 별 서비스 제공 등 다양한 기능을 제공하는 거다.(자세한 사항은 각주의 출처 참고)[3]

종류

서버에서 사용되는 서버 측면 프로그램(Server-Side Program)이 PHP, JSP, ASP, ASP.NET과 관련된 확장자를 통해서 서비스를 제공하게 되기 때문에 웹쉘이 구동하기 위해서는 해당 확장자의 파일을 사용해서 동작하므로 스크립트 언어와 파일 확장자 종류는 다음과 같다.[3]

  • 보여지는 순서는 스크립트 언어 : 파일 확장자 순이다.
  • PHP : php, php3, php4, php5, phtml, inc
  • JSP : jsp, jsf
  • ASP : Asp, asa, cds, cer
  • ASP.NET : aspx, asax, ascx, ashx, asmx, axd, config, cs, csproj, licx, rem, resources, resx, soap, vb, vbproj, vsdisco, webinfo
  • 위 목록들은 웹셸 공격에 사용되는 확장자 목록이다.[3]

발생원인

파일업로드 기능의 사용여부로 분류할 수 있으며, 파일업로드는 클라이언에 존재하는 파일을 서버에 업로드 하는 기능을 의미한다. 일반적으로 스마트편집기(SmartEditor), 다음편집기(DaumEditor), 전자정부프레임워크 등의 오픈소스 게시판을 이용하거나 자체 개발한 파일업로드 기능을 이용하여 웹쉘파일의 업로드를 시도하게 된며 파일 업로드를 이용하여 웹쉘을 서버에 올리기 위한 방법으로는 SSS나 CSS에 존재하는 파일 확장자 필터링 우회, 이미지 파일 등 정상 확장자 파일 내에 공격코드를 삽입하는 정상 확장자를 이용한 우회 등으로 분류할 수 있다.[3]

구분

대표적으로 확장자 우회와 취약점이 있다.[3]

확장자 우회

파일 확장자 우회 이기도 하며 예시로는 다음과 같다.

  • 서버(Server Side Script) 우회
  • CSS(Client Side Script) 우회[3]

취약점

정상 확장자(JPG, PNG등)를 이용한 우회, WEB/WAS, 애플리케이션(Application) (OS, DBMS 등), 편집기(Editor)으로 나눈다.[3]

정상 확장자(JPG, PNG등) 이용 우회

이미지 파일에 웹쉘 백도어 코드 숨기기(Hiding Webshell Backdoor Code in Image Files)이다.[3]

WEB/WAS

IIS 파일 구문분석 우회로 공격 아파치 스트럿츠2(IIS File Parsing Bypass Attack ​Apache Struts2) 원격 임의코드 실행 취약점�(CVE-2013-2251, CVE-2016-3081, CVE-2016-4438 등 다수) 가 대표적이다.[3]

애플리케이션(OS, DBMS 등)

  • 자바 0-데이 취약성(Java 0-day Vulnerability)
  • 원격 파일 포함 취약성(RFI : Remote File Inclusion Vulnerability)
  • SQL 주입 취약성(SQL Injection Vulnerability)

등이 있다.[3]

편집기

  • 스마트편집기(SmartEditor) 2.3.3 : 이미지 파일 확장자 미체크
  • 스마트편집기(SmartEditor) 2.8.2.1 : 파일업로드 취약점 등이있다.[3]

각주

  1. 1.0 1.1 웹 셸〉, 《네이버 지식백과》
  2. 웹 셸〉, 《위키백과》
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 서비스사업본부 보안분석팀 김미희, 〈보안정보〉, 《이글루시큐리티》, 2017-02-01

참고자료

  • 웹 셸〉, 《네이버 지식백과》
  • 웹 셸〉, 《위키백과》
  • 서비스사업본부 보안분석팀 김미희, 〈보안정보〉, 《이글루시큐리티》, 2017-02-01

같이보기