웹쉘(Web Shell)과 내부망 이동: 서버 보안의 핵심 대응책

,
웹 서버에 침투한 웹쉘(Webshell)이 내부망의 다른 서버와 데이터베이스로 확산되는 횡적 이동(Lateral Movement) 공격 경로를 시각화한 보안 인포그래픽

최근 보안 위협의 중심에는 웹쉘 내부망 이동 공격이 있습니다. 웹 서버의 취약점을 통해 침투한 공격자가 어떻게 기업 전체의 네트워크를 장악하는지, 그 위험성과 방어 전략을 상세히 알아보겠습니다.

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

웹쉘은 공격자가 취약한 웹 서버에 업로드하는 악성 스크립트 파일입니다. 공격자는 웹쉘을 통해 서버 내부에 백도어(Backdoor)를 생성하고, 원격에서 파일 시스템과 네트워크를 자유롭게 제어할 수 있습니다.

웹쉘을 설치한 공격자는 단순한 서버 장악을 넘어 다음과 같은 치명적인 행위를 수행할 수 있습니다.

  • 시스템 명령어 실행: 서버의 제어권 획득
  • 민감 데이터 탈취: 기업의 핵심 자산과 고객의 정보를 유출
  • 내부망 이동: 장악한 서버를 거점으로 네트워크 내 다른 시스템까지 침투 범위를 넓힘

2. 공격자는 어떻게 웹쉘을 심는가?

공격자들은 주로 웹 애플리케이션의 취약점을 공략합니다. 대표적인 침투 경로는 다음과 같습니다.

  • 파일 업로드 취약점: 게시판 등에 이미지 대신 악성 스크립트 파일을 업로드하는 방식입니다.
  • SQL 인젝션(SQL Injection): 데이터베이스 취약점을 이용해 서버 내부에 파일을 생성할 수 있습니다.
  • 원격 파일 포함(RFI/LFI): 외부의 악성 파일을 서버가 실행하도록 유도합니다.

3. 웹쉘 내부망 이동이란 무엇이며 왜 위험한가?

웹쉘(Web Shell)은 공격자가 원격에서 웹 서버를 제어하기 위해 업로드하는 악성 스크립트입니다.

하지만 단순한 서버 장악보다 무서운 것은 이를 발판 삼아 수행되는 웹쉘 내부망 이동(Lateral Movement)입니다.

공격자는 최초 침투한 웹 서버를 ‘거점’으로 삼아, 보안이 더 강력한 내부 데이터베이스나 관리자 PC로 침투 범위를 넓혀갑니다. 이 과정에서 기업의 핵심 기밀이 유출되거나 랜섬웨어에 감염될 위험이 비약적으로 상승합니다.

  • 파일 전송 (File Transfer): 웹쉘을 통해 악성 실행 파일을 서버에 업로드하거나 내부 기밀 데이터를 유출합니다. 이렇게 업로드된 파일은 주변 시스템을 감염시키는 추가 공격 도구가 됩니다.
  • 명령어 실행 (Command Execution): 서버에 직접 명령을 내려 내부 네트워크를 정밀하게 스캔합니다. 이 과정에서 취약한 시스템을 찾아내거나 지속적인 침투를 위해 추가 백도어를 설치합니다.
  • 자격 증명 탈취 (Credential Harvesting): 서버 내부에 저장된 비밀번호나 인증 정보를 수집합니다. 탈취한 계정을 이용하면 정상적인 사용자로 위장하여 내부망 자원에 손쉽게 접근할 수 있습니다.

4. 웹쉘 해킹 사례 : 이반티(Ivanti)

2021년에 발생한 이반티(Ivanti ConnectSecure) 공격 사례는 웹쉘의 위험성을 잘 보여줍니다.

공격자는 소프트웨어 취약점을 이용해 보안 장비에 웹쉘을 업로드했습니다. 이후 웹쉘을 거점으로 삼아 네트워크 전체로 침투를 확대했습니다.

공격자는 설치한 웹쉘을 다음과 같은 목적으로 활용했습니다.

  • 자격 증명 수집: 먼저 네트워크 내부 시스템의 인증 정보를 추출했습니다. 특히 액티브 디렉터리(Active Directory) 도메인 컨트롤러의 계정 정보를 노렸습니다.
  • 추가 백도어 설치: 그다음 단계로 랜섬웨어와 같은 추가 악성코드를 배포했습니다. 이를 통해 민감한 데이터를 암호화하고 피해자에게 금전을 요구했습니다.
  • 내부망 이동: 결과적으로 공격자는 장악한 보안 장비를 발판으로 삼았습니다. 내부망의 다른 시스템으로 이동하며 공격 범위를 지속적으로 넓혔습니다.

5. 웹쉘 공격 방어 전략

웹쉘 공격으로부터 조직의 자산을 보호하기 위해서는 단순히 하나의 솔루션에 의존하는 것이 아니라, 다층적인 보안 체계를 구축하는 것이 필수적입니다.

다음은 웹쉘 위협을 최소화하기 위한 핵심 권고 사항입니다.

  • 신속한 보안 취약점 패치 (Patching) : 모든 소프트웨어, 웹 서버, 그리고 네트워크 장비를 항상 최신 상태로 유지해야 합니다. 공격자는 알려진 취약점을 통해 웹쉘을 업로드하는 경우가 많으므로, 보안 패치가 배포되는 즉시 적용하여 공격의 통로를 원천 봉쇄하는 것이 중요합니다.
  • 네트워크 트래픽 모니터링 강화 (Monitoring) : 침입 탐지 시스템(IDS) 및 침입 방지 시스템(IPS)을 활용하여 네트워크 트래픽을 상시 감시해야 합니다. 특히 다음과 같은 의심스러운 활동을 집중적으로 모니터링해야 합니다.
  • 실시간 탐지 및 격리 매커니즘 도입 (Detection & Quarantine) : 외부 방어선이 뚫리더라도 내부 자산을 보호할 수 있는 ‘2차 방어선’이 필요합니다. 악성 웹쉘이나 위험한 URL을 실시간으로 탐지하고 즉시 격리할 수 있는 시스템을 도입하세요. 이를 통해 공격자가 외부 방어 체계를 우회하더라도 피해가 확산되는 것을 효과적으로 차단할 수 있습니다.

6. 참고 자료

더 자세한 정보가 궁금하시다면 아래의 공식 자료를 확인해 보세요.

이반티(Ivanti) 보안 사고 관련

웹쉘 및 측면 이동 관련