웹셸
웹셸은 공격자가 침해한 웹서버에 설치해 HTTP 요청을 통해 파일관리, 명령실행, 추가 침투를 수행하는 악성 서버측 프로그램입니다.
웹셸
웹셸은 PHP, ASP.NET, JSP, Python 등 웹서버가 실행할 수 있는 형태로 존재합니다. 파일 업로드 취약점, 서버 소프트웨어 취약점, 탈취된 관리자 계정, 공급망 침해를 통해 설치될 수 있습니다.
웹셸은 정상 웹 트래픽과 같은 포트를 사용해 원격제어 채널을 제공합니다. 작은 코드로 위장하거나 정상 파일에 삽입될 수 있으며, 암호화·인코딩과 임의 매개변수를 사용해 탐지를 피할 수 있습니다.
핵심 특성
사용 맥락과 작동 원리
공격자는 웹셸을 통해 내부 파일과 환경변수, 데이터베이스 설정, 클라우드 자격증명을 탐색합니다. 이후 다른 서버로 이동하거나 데이터를 압축해 외부로 전송할 수 있습니다.
웹셸 요청은 정상 페이지 요청처럼 보일 수 있습니다. 새 파일 생성, 웹 프로세스의 비정상 자식 프로세스, 업로드 폴더의 실행파일, 장시간 유지되는 작은 POST 요청을 함께 분석해야 합니다.
유출·오용 시 위험
웹셸은 장기간의 비인가 접근과 데이터 유출의 거점이 될 수 있습니다. 서버의 비밀키와 서비스 계정이 노출되면 클라우드·DB·협력시스템으로 피해가 확대됩니다.
웹셸 파일 하나를 제거해도 공격자가 만든 계정, 예약작업, SSH 키, 수정된 라이브러리, 추가 웹셸이 남을 수 있습니다. 신뢰할 수 있는 이미지로 재구축하는 판단이 필요할 수 있습니다.
사건 공지에서 확인할 항목
- 최초 설치 시점과 접근에 사용된 취약점·계정을 확인합니다.
- 웹셸이 실행한 명령과 접근한 파일·DB·비밀정보를 확인합니다.
- 추가 웹셸, 계정, 예약작업, 원격키의 존재를 확인합니다.
- 데이터 반출과 내부 이동 범위를 확인합니다.
- 재구축, 키 교체, 취약점 수정, 장기 모니터링 계획을 확인합니다.
개인이 취할 조치
- 기관의 조사 결과에서 침투 기간과 유출 항목을 확인합니다.
- 영향받은 서비스의 비밀번호와 세션을 정리합니다.
- 후속 피싱과 계정 복구 사칭에 주의합니다.
- 개인정보가 포함되면 해당 정보 유형에 맞는 모니터링을 수행합니다.
조직의 보호조치
- 업로드 파일의 확장자, 실제 형식, 저장 위치와 실행 권한을 통제합니다.
- 웹 디렉터리와 애플리케이션 파일의 무결성을 감시합니다.
- 웹 프로세스의 명령 실행과 비정상 자식 프로세스를 탐지합니다.
- 서비스 계정과 비밀정보에 최소권한과 회전을 적용합니다.
- 침해 서버는 포렌식 보존 뒤 신뢰된 이미지로 재구축하는 절차를 준비합니다.
혼동하기 쉬운 개념
웹셸은 서버에서 실행되는 원격제어 수단입니다. XSS는 이용자 브라우저에서 실행됩니다. 백도어는 재접근을 가능하게 하는 더 넓은 개념입니다. 일반 관리도구도 탈취되면 유사한 원격제어 기능으로 악용될 수 있습니다.