보안 위협

웹 셸

포스팅 뷰478

웹 셸(Web Shell)이란 무엇일까요?

한눈에 보는 요약
  • 정의 — 웹 서버에 몰래 올린 악성 스크립트로, 공격자가 원격에서 서버를 명령·제어하게 하는 도구입니다.
  • 핵심 위험 — 한번 심기면 서버 장악·정보 탈취·추가 공격의 거점이 되며, 정상 파일로 위장해 탐지가 어렵습니다.
  • 대응 — 파일 업로드 검증, 실행 권한 제한, 웹 방화벽, 무결성 점검이 핵심입니다.

웹 셸이란 웹 서버에 업로드되어 원격 명령 실행을 가능하게 하는 악성 스크립트를 말합니다.

웹 셸이란?

웹 셸(Web Shell)은 공격자가 웹 서버에 몰래 올린 악성 스크립트 파일로, 이를 통해 원격에서 서버에 명령을 내리고 제어할 수 있게 됩니다. 'Shell(명령 창)'이라는 이름처럼, 웹을 통해 서버를 직접 조종하는 통로 역할을 합니다.

파일 업로드 취약점이나 SQL 인젝션 등으로 침투해 심어지며, 정상적인 웹 파일처럼 위장해 숨어 있습니다. 한번 자리 잡으면 서버 장악, 데이터 탈취, 추가 악성코드 배포의 거점이 되어 침해를 장기간 지속시킵니다.

악성 스크립트를 웹 서버에 업로드해 공격자가 원격으로 서버를 제어하는 모습 shell.php >_ 악성 스크립트 업로드 웹 서버 $ webshell 원격 명령 실행 공격자 업로드한 악성 스크립트로 서버를 원격 장악
▲ 웹 서버에 심은 웹 셸로 공격자가 원격 제어하는 모습

웹 셸의 동작 방식

웹 셸은 침투 후 원격 거점이 됩니다.

  1. 웹 셸 업로드 — 업로드 취약점·SQL 인젝션 등으로 악성 스크립트를 심습니다.
  2. 원격 명령 실행 — 웹 셸에 접속해 서버에 명령을 내립니다.
  3. 서버 장악 — 권한을 높이고 정상 파일로 위장해 숨습니다.
  4. 추가 공격·정보 탈취 — 데이터 유출, 추가 악성코드 배포, 내부 확산을 이어갑니다.
웹 셸 업로드, 원격 명령 실행, 서버 장악, 추가 공격의 네 단계 웹 셸은 이렇게 악용됩니다 1 웹 셸 업로드 업로드 취약점· 인젝션으로 심음 2 원격 명령 실행 웹 셸 접속해 서버에 명령 3 서버 장악 권한 상승·정상 파일로 위장 4 추가 공격 데이터 탈취· 악성코드 배포·확산
▲ 웹 셸 업로드 → 원격 명령 실행 → 서버 장악 → 추가 공격

기술형 보안 위협 비교

웹 셸은 웹 서버를 노리는 기술형 공격입니다. 대표 유형을 비교하면 다음과 같습니다.

구분 SQL 인젝션 웹 셸 크리덴셜 스터핑 키로깅
공격 지점 웹 입력창·DB 웹 서버 로그인 시스템 사용자 키보드
수법 악성 SQL 주입 악성 스크립트로 원격 제어 유출 계정 자동 대입 키 입력 기록 탈취
핵심 위험 DB 정보 유출·조작 서버 장악 계정 도용 비밀번호·정보 유출
주요 방어 입력값 검증·파라미터화 업로드 검증·권한 제한 비번 재사용 금지·MFA 백신·MFA·가상키보드

웹 셸 예방·대응 방안

개발·운영자

  • 업로드 검증 — 허용 확장자·파일 형식을 엄격히 제한하고 실행 가능한 파일 업로드를 막습니다.
  • 실행 권한 제한 — 업로드 폴더에서 스크립트 실행을 차단하고 경로를 분리합니다.
  • 취약점 패치 — 인젝션·업로드 취약점을 신속히 보완합니다.

기업·기관

  • 웹 방화벽·무결성 점검 — 웹 셸 업로드·변조를 탐지하고 파일 무결성을 모니터링합니다.
  • 이상 트래픽 탐지 — 비정상적인 원격 명령·외부 연결을 감시합니다.
  • 정보 유출 방지 — 서버가 뚫려도 핵심 정보가 외부로 새지 않도록 통제합니다.

오피스키퍼는 내부 정보 유출 방지(DLP)와 PC·문서 사용 이력 관리로, 침해 시 정보가 외부로 빠져나가는 경로를 줄이는 데 도움을 줍니다.

자주 묻는 질문

Q. 웹 셸은 어떻게 서버에 올라가나요?

A. 파일 업로드 기능의 검증 미흡, SQL 인젝션, 게시판·관리자 페이지 취약점 등을 통해 악성 스크립트가 업로드됩니다. 그래서 업로드 검증과 취약점 패치가 가장 중요합니다.

Q. 웹 셸은 왜 탐지가 어렵나요?

A. 정상 웹 파일처럼 위장하고, 평소엔 조용히 있다가 공격자가 접속할 때만 동작하기 때문입니다. 파일 무결성 점검과 이상 트래픽 탐지를 병행해야 발견 가능성이 높아집니다.

Q. 웹 셸과 백도어는 어떻게 다른가요?

A. 웹 셸은 '웹 서버'에서 동작하는 백도어의 한 형태입니다. 둘 다 공격자에게 지속적인 통로를 제공하지만, 웹 셸은 웹 요청으로 원격 명령을 실행한다는 점이 특징입니다.

Q. 감염되면 어떻게 대응하나요?

A. 의심 파일을 격리·삭제하고, 침투 경로(취약점)를 패치하며, 변조된 파일과 계정을 점검하세요. 피해 범위가 크면 서버 재구축과 자격 증명 전면 교체가 안전합니다.

Q. 기업은 웹 셸을 어떻게 예방하나요?

A. 안전한 업로드 처리와 취약점 패치를 기본으로, 웹 방화벽·파일 무결성 모니터링을 운영하고, 내부 정보 유출 방지로 침해 시 피해를 최소화해야 합니다.

🔗 연관 용어 바로가기
SQL 인젝션백도어악성코드웹 API 보안

기업 내부 정보 유출, 오피스키퍼로 막으세요.

제품소개서 신청하기