웹쉘 (Web Shell)

1. 웹쉘 (Web Shell)의 개념 및 위험성

개념시스템 파괴, 정보 유출 위해 웹서버 업로드 취약점을 통해 목표 시스템의 쉘(Shell) 기반 임의 명령을 실행하는 악성코드
위험성탐지 어려움정상적인 웹 프로그램과 유사하여 탐지가 어려움
제어 권한 탈취, 데이터 유출대상 시스템 제어 및 서버에 저장된 데이터 탈취
시스템 침해 확산대상 시스템 공격 및 주변 시스템 공격 경유지로 활용
  • 웹쉘은 오래된 공격 기법이지만 최근 국내외 통신사 등 전세계적으로 주요 기업 및 기관 침해 공격에 활용

 

2. 웹쉘 기반 공격 절차/방법 및 주요 유형

(1) 웹쉘 기반 공격 절차

(2) 웹쉘 기반 공격 방법

구분공격 방법세부 기법
확장자
우회
파일 확장자 우회– NULL byte를 이용한 파일 업로드
– HTML 인코딩, 숨겨진 확장자명 이용
정상파일 우회– PNG 파일 포맷을 이용하여 웹쉘 삽입
– 이미지 파일에 웹쉘 백도어 숨김
취약점
이용
CMS 취약점 이용– 파일 관리자 플러그인 취약점 이용
– 임의/원격 코드 실행 취약점 이용
Web Editor 취약점 이용– 샘플 페이지 파일 업로드 취약점 이용
– 웹 에디터 파일업로드 취약점 이용
WEB/WAS 취약점 이용– 웹서버 파일 파싱 우회 공격
– 원격 임의 코드 실행 취약점 이용
Source Code
/Application 취약점 이용
– JAVA 취약점 및 XSS 등 인젝션 취약점 이용
– RFI(Remote File Inclusion) 취약점 이용

(3) 웹쉘의 주요 유형

구분유형사례 / 메커니즘
단독
파일
one-line-Webshell– ASP: <% eval request(“cmd”) %>
– PHP: <?php echo passthru($_GET[‘cmd’];?>
– JSP: <% Runtime.getRuntime().exec(request.getParameter(“cmd”)%>
All-in-one Webshell– ASP: ASPyder, Zehir Asp Shell, ASPXSpy, ASPX Shell
– PHP: b374k-shell, WSO, Iron Shell, c99shell, FaTaLisTiCz_Fx, r57shell, phpFileManager, DAws, ALFA TEaM Shell
– JSP: JspSpy, JspSpyWeb, jFolder, shack2, devilzShell, JSP File Browser, jshell, JspWebshell, Godzilla
Injection Webshell– 기존에 존재하는 소스코드에 웹쉘 구문이 삽입
– Image 파일 구조 내 웹쉘 구문 삽입
다중
파일
Multi Division Webshell– 공격자가 전송하는 다중 분할 파라미터를 웹서버에서 재조합
  • 웹셸은 시큐어코딩 미흡으로 인한 파일 업로드 공격 사례가 다수의 보고서에서 분석된 바 있으므로 입력 데이터 검증 등을 통해 사전 예방하고 웹 서버 로그 분석을 통해 사후 대응 필요

 

3. 웹쉘 공격 대응 방안

구분대응 방안세부 대응 기법
사전 예방
측면
DBMS 조회 및 결과 검증– SQL Injection 대비 최소 권한 계정 사용
– 외부 입력 값 삽입 SQL 질의문 동적 생성
Code Inject 및 SSRF
대비 최소 권한 부여
– 시스템 자원 접근 및 명령어 수행 입력 값 검증
– 외부 입력 값에 의해 악의적 명령어 실행 차단
XSS 필터링– 입력 값을 동적으로 생성되는 응답에 대해 HTML 인코딩 또는 XSS 필터링 수행
CSRF 대비 Referer
확인 및 도메인 검증
– 웹 기반 중요 기능 수행 요청 유효성 검증
– Back-end 요청 시 토큰 값 검증
업로드, 다운로드
파일 검증
– File Upload/Download 취약점 대비 파일 이름, 크기, 무결성 등 검사 수행
사후 대응
측면
access.log 분석– 웹 페이지 접근 기록으로 비정상 파악
– 단시간 내 다수 접근 기록 등 분석
error.log 분석– Syntax 에러 등 주요 에러 분석
– Windows Event Log, Process Log 분석
  • 그외 사전 예방을 위해 C-TAS를 통해 침해 공동 대응 체계를 적극 활용하고, 사후 대응으로 관측가능성 (Observability)을 통해 메트릭, 추적, 로그 등을 유기적 분석 필요

 
[참고]

  • 이글루 시큐리티, 웹쉘을 이용한 공격 패러다임 변화 및 대응전략, 2023.2
  • Imperva, What is Web Shell

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^