웹 쉘(Web Shell) 공격 개요 및 대응방안

2023. 11. 25. 12:05·침해대응

1. 개념

  • **웹 쉘(Web Shell)**이란 공격자가 원격에서 웹 서버에 명령을 실행할 수 있도록 제작한 악성 스크립트 파일입니다.
  • 주로 .asp, .php, .jsp, .cgi 등의 형태로 존재하며, 공격자는 이를 통해 시스템을 제어하고 데이터 탈취, 계정 생성, 백도어 설치 등의 행위를 수행합니다.
  • 단발적 공격이 아닌, 持續적인 시스템 장악을 목적으로 다수 접속/원격 제어하는 데 활용됩니다.

2. 주요 특징

  • HTTP(TCP 80) 포트를 이용하므로 방화벽 우회가 쉬움
  • 일반 관리자 입장에서는 탐지 및 확인이 어려움
  • 백신 프로그램이 탐지하지 못하는 경우가 많음
  • 웹쉘을 통해 서버 내부에서 쉘 명령 실행 가능 (ex. ls, dir, netstat 등)
  • 외부 공격자가 웹 쉘을 통해 원격 Telnet 접속과 유사한 환경 조작 가능

3. 공격 원리

[정상 웹 서비스 흐름]

  1. 클라이언트 → 웹 서버: 요청 전송
  2. 웹 서버 → WAS: 데이터 가공 요청
  3. WAS → DB: 데이터 요청
  4. DB → WAS: 응답
  5. WAS → 웹 서버: 처리 결과 전달
  6. 웹 서버 → 클라이언트: 결과 전송

[웹 쉘을 활용한 공격 흐름]

  1. 공격자 → 웹 서버: 악성 .jsp 파일 업로드 (예: webshell.jsp)
  2. 웹 서버 → WAS: 스크립트 실행 요청 (cmd=ls)
  3. WAS → 시스템: 명령어 실행 요청
  4. 웹 서버: 시스템 명령 실행 (ls, whoami, netstat -an 등)
  5. 결과값 → WAS → 웹 서버 → 공격자에게 전달

4. 대응 방안

📌 사전 예방

  • 파일 업로드 제한 및 확장자 필터링
    → .jsp, .php, .exe 등 업로드 금지
  • 업로드 디렉토리에 실행 권한 제거
    → 웹 루트 외부 경로 저장, 권한 644로 설정
  • 화이트리스트 기반의 확장자 정책 적용

📌 탐지 및 대응

  • 웹 루트 내에 의심스러운 스크립트 존재 여부 확인
  • 주기적으로 웹 디렉터리 내 최근 수정 파일 점검
  • 웹쉘 탐지 도구 사용 (예: [Alscan], [WebShell Detector])
  • WAF(웹 방화벽) 통해 악의적 파일 업로드 차단

📌 대응 도구 예시

도구명 설명
WebShell Detector 오픈소스 기반 웹쉘 탐지 도구
Linux find 명령어 find . -name "*.jsp" -mtime -1 등으로 최근 업로드된 파일 확인
로그 분석 도구 Apache/Nginx Access Log를 통한 비정상 요청 추적
저작자표시 비영리 동일조건 (새창열림)

'침해대응' 카테고리의 다른 글

DVWA 환경 구축 (칼리 리눅스 설치)  (0) 2024.03.18
프록시(Proxy)의 정의 및 툴  (0) 2024.03.18
웹 보안 취약점과 대응 방안 (4)  (0) 2023.11.25
웹 보안 취약점과 대응 방안 (3)  (2) 2023.11.25
웹 보안 취약점과 대응 방안 (2)  (1) 2023.11.25
'침해대응' 카테고리의 다른 글
  • DVWA 환경 구축 (칼리 리눅스 설치)
  • 프록시(Proxy)의 정의 및 툴
  • 웹 보안 취약점과 대응 방안 (4)
  • 웹 보안 취약점과 대응 방안 (3)
야채호빵o
야채호빵o
  • 야채호빵o
    정보보안 공부노트
    야채호빵o
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 리팩토링
      • 침해대응
      • AWS 클라우드
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
야채호빵o
웹 쉘(Web Shell) 공격 개요 및 대응방안
상단으로

티스토리툴바