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
참고
Webshell 분류 및 대응방안
서비스사업본부 보안분석팀 김미희 1. 개요 2013년 해킹방지워크샵에서 발표된 『2013년 주요 침해사고 사례와 대응』에 따르면, 2010년부터 2013년까지 4년간 발생한 침해사고요인 중 상위요소로 We
www.igloo.co.kr
'Security > CERT' 카테고리의 다른 글
웹 보안 취약점(3) (0) | 2025.03.28 |
---|---|
웹 보안 취약점(2) (0) | 2025.03.20 |
웹 보안 취약점(1) (0) | 2025.03.15 |
Shodan을 통한 IoT 기기 검색과 특징 (0) | 2025.03.01 |
사물인터넷(IoT)과 Shodan (0) | 2025.02.19 |