1. 웹 쉘(Web Shell)이란 무엇인가?

웹 쉘은 공격자가 웹 서버에 업로드하여 원격으로 서버를 제어할 수 있게 해주는 악성 스크립트이다. PHP, JSP, ASP와 같은 웹 언어로 작성되며, 웹 브라우저를 통해 접근할 수 있어 공격자는 터미널처럼 명령어를 실행하고, 파일을 조작하며, 시스템 정보를 탈취할 수 있다.

 

웹 쉘은 단순한 파일 업로드 취약점뿐 아니라 SQL 인젝션, 원격코드 실행(RCE) 취약점, 웹 애플리케이션의 로직 결함 등 다양한 취약점을 통해 업로드될 수 있으며, 공격자가 설치 후 장기간 침투 거점으로 활용하기 쉽다.

 

과거 웹쉘 공격은 파일 업로드, SQL Injection 등 단순한 웹 프로그래밍 취약점에 기반했으나, 최근에는 오픈소스 프레임워크, CMS(WordPress, Drupal 등)의 보급으로 공격 경로가 다양화되고 있음.
실제로 2022~2021년 웹쉘 탐지 건수는 약 14만 건으로, 2019년 대비 2배 이상 증가하였음.
공격이 쉬워진 이유는 소프트웨어 생태계가 복잡해지면서 보안 취약점 없이도 단순한 방법으로 공격이 가능해졌기 때문이다.


2. 웹 쉘의 주요 특징

 

✅ 1. 다양한 기능 제공 → 서버 전체 권한 탈취

  • 공격자가 할 수 있는 일:
    웹 쉘로 시스템 명령을 실행하면 서버 안에서 할 수 있는 거의 모든 일을 할 수 있다.
    예를 들어,
    • 웹사이트 데이터 삭제/변조
    • DB에서 개인정보 유출
    • 랜섬웨어 설치
    • 내부망 침투 거점으로 활용
  • 실제 피해 예:
    고객 정보가 저장된 DB를 덤프하여 유출 → 금전 요구 또는 다크웹에 판매

✅ 2. 은폐성 → 관리자도 모르게 장기간 침투 유지

  • 공격자가 할 수 있는 일:
    탐지를 피하기 때문에 보안 솔루션이 감지 못한 상태에서 오랜 시간 서버에 머물며 정보 수집, 내부망 이동을 수행할 수 있다.
  • 실제 피해 예:
    6개월 이상 운영되던 웹쉘이 디지털포렌식 과정에서 뒤늦게 발견됨 → 그 사이 수천 건의 고객정보 유출

✅ 3. 지속성 → 반복적인 재침투 가능

  • 공격자가 할 수 있는 일:
    한 번 들어온 뒤 웹쉘을 삭제하지 않으면 언제든 다시 접속 가능함.
    더 나아가 시스템 계정을 생성하거나, 다른 경로에 백도어를 심어 다양한 재침투 경로 확보.
  • 실제 피해 예:
    피해 기업이 보안 조치 후에도 공격자 재침입 반복됨 → 조사해보니 다른 디렉토리에 은닉된 또 다른 웹 쉘 존재

✅ 4. 광범위한 호환성 → 다양한 웹사이트에서 동시다발적 피해 발생

  • 공격자가 할 수 있는 일:
    운영체제나 언어에 구애받지 않고 여러 종류의 서버에 동시 공격 가능
    특히 CMS(워드프레스, 젠카트 등) 취약점을 통한 대규모 공격에 활용됨
  • 실제 피해 예:
    수천 개의 워드프레스 사이트가 같은 웹 쉘에 감염 → 공격자는 한 툴로 동시에 제어

✅ 5. 자동화된 공격 지원 → 대규모 공격 및 악성코드 유포

  • 공격자가 할 수 있는 일:
    한 번에 여러 서버에 명령 전송, 웹쉘 설치, 악성 파일 유포, 스팸 발송 등의 대규모 공격 가능
    특히 공격자가 C&C 서버와 연동해 봇넷 구성 시 웹쉘은 통로 역할
  • 실제 피해 예:
    국내 웹 서버 수백 곳이 자동화 도구로 감염되어 크립토마이너(채굴 악성코드) 유포지로 활용됨 → CPU 과부하, 서버 마비, 검색엔진 블랙리스트 등 부가 피해

✅ 정리


 

웹쉘 특징 실제 피해 예시
다양한 기능 제공 서버 장악, DB 유출
은폐성 장기간 침입 지속
지속성 반복 재침입 및 내부망 확산
광범위한 호환성 다수 사이트 동시 감염
자동화된 공격 지원 악성코드 유포, 봇넷 구축

웹 쉘은 단순한 해킹 도구가 아니라, 공격자가 거점을 확보하고 다양한 공격을 실행하는 기반이 된다.
그래서 보안에서는 웹쉘 탐지와 제거, 업로드 방지 정책이 매우 중요하다.


3. 웹쉘 공격 방법 및 대응방안

 1. 기존 웹쉘 공격 방법

  • 파일 업로드 기능 악용
    • 확장자 우회 (.jpg.php, .php;.jpg 등)를 통해 악성 스크립트를 업로드
  • 웹 취약점 악용
    • SQL Injection, Command Injection, XSS, RFI 등을 통해 웹쉘 삽입 또는 실행
  • 프레임워크 / CMS 취약점 악용
    • WordPress, Drupal, Apache Struts2, 전자정부 프레임워크 등에서 발생한 취약점을 통해 웹쉘 업로드
  • 취약한 웹 에디터 활용
    • SmartEditor, DaumEditor, Namo CrossEditor와 같은 에디터의 파일 업로드 취약점 이용

 2. 최신 웹쉘 공격 사례

🧠 Fileless Web Shell Attack

  • 웹쉘을 파일로 저장하지 않고 메모리에서 실행
  • 로그나 정적 분석 회피 가능 → 탐지 어려움
  • 공격자는 로그 없이 실시간 명령 실행 가능, 흔적을 남기지 않음

💉 Injection Web Shell Attack

  • 웹 요청 파라미터나 DB에 웹쉘 코드를 삽입하여 실행
  • 취약한 입력 필터링 우회
  • SQL Injection이나 Command Injection과 결합 공격이 가능

 대응 전략

사전 대응 전략

  • 최신 보안 패치 및 소프트웨어 업데이트 정기적으로 적용
  • 파일 업로드 설정 강화
    • 허용 확장자 제한, 업로드 디렉터리 권한 최소화, 실행 차단 설정
  • 보안 에디터로 교체 또는 취약점 패치
  • 입력값 필터링 및 검증 철저히 수행

사후 대응 전략

  • 웹쉘 탐지 솔루션 및 EDR 도입 (정적/동적 분석 기반)
  • 의심 파일 및 로그 분석
    • 웹쉘 업로드 경로 확인 및 삭제
  • 불필요한 포트/계정/스크립트 차단 및 제거
  • 관리자 계정 비밀번호 변경 및 접근 IP 제한
  • 주기적 백업 및 복구 시나리오 점검

4.웹 쉘 감염 관련 사건 사고

  • 중국 연계 APT 그룹의 장기간 웹 쉘 공격: 2025년 3월, 중국과 연계된 APT 그룹인 'Weaver Ant'가 아시아의 한 통신 회사를 대상으로 수년에 걸친 정교한 웹 쉘 공격을 수행한 사례가 보고되었다. 이들은 웹 쉘을 통해 지속적으로 시스템에 접근하여 정보를 탈취하고, 추가적인 악성 활동을 수행하였다. ​(*apt란 구가의 후원을 받아 스파이 활동에 주력하는 그)
  • https://www.darkreading.com/cyberattacks-data-breaches/china-nexus-apt-weaver-ant-caught-yearslong-web-shell-attack?utm_source=chatgpt.com
  • 중국 연계 해커들, MITRE 네트워크 침입에 'ROOTROT' 웹 쉘 사용: MITRE의 실험 네트워크에 해커가 침입해 'ROOTROT' 등 여러 웹쉘을 설치하고 내부를 은밀히 통제하였다. 웹쉘은 메모리 기반으로 작동해 흔적 없이 명령을 실행할 수 있어 탐지가 어려웠다. 이번 공격은 고도화된 사이버 첩보 활동으로, 보안이 강한 기관도 취약점을 노리면 뚫릴 수 있음을 보여준다.
  • https://thehackernews.com/2024/05/china-linked-hackers-used-rootrot.html?utm_source=chatgpt.com

 

참고

https://www.igloo.co.kr/security-information/webshell-%EB%B6%84%EB%A5%98-%EB%B0%8F-%EB%8C%80%EC%9D%91%EB%B0%A9%EC%95%88/

 

Webshell 분류 및 대응방안

서비스사업본부 보안분석팀 김미희 1. 개요 2013년 해킹방지워크샵에서 발표된 『2013년 주요 침해사고 사례와 대응』에 따르면, 2010년부터 2013년까지 4년간 발생한 침해사고요인 중 상위요소로 We

www.igloo.co.kr

 

'Security > CERT' 카테고리의 다른 글

프록시란?  (0) 2025.05.02
웹 서비스에서 자주 발생하는 핵심 취약점과 대응 전략  (0) 2025.04.24
웹 보안 취약점(3)  (0) 2025.03.28
웹 보안 취약점(2)  (0) 2025.03.20
웹 보안 취약점(1)  (0) 2025.03.15

+ Recent posts