웹 셸
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
웹 셸은 웹 서버를 제어하기 위해 사용되는 악성 스크립트의 일종으로, 데이터 탈취, 웹사이트 변조, 악성코드 유포, DDoS 공격, 명령 및 제어 등의 다양한 용도로 사용된다. 웹 셸은 SQL 주입, 애플리케이션 취약점, 파일 업로드 취약점, 파일 포함 취약점, 원격 코드 실행, 노출된 관리 인터페이스 등 다양한 경로를 통해 설치될 수 있다. 웹 셸을 방지하기 위해서는 운영체제 및 애플리케이션 업데이트, DMZ 구축, 웹 서버 보안 구성, 사용자 입력 데이터 유효성 검사, 리버스 프록시 사용, 취약점 검사, 방화벽 구축, 디렉터리 검색 비활성화, 기본 비밀번호 변경 등의 조치가 필요하며, 비정상적인 웹 서버 사용량, 의심스러운 파일, 웹 서버 로그 분석 등을 통해 웹 셸 감지가 가능하다.
더 읽어볼만한 페이지
- 셸 - 파워셸
파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다. - 셸 - COMMAND.COM
COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다. - 웹 취약점 공격 - 보안 취약점
보안 취약점은 시스템의 설계, 구현, 운영, 관리상 결함이나 약점으로, 위협에 의해 악용되어 시스템 보안 정책을 위반할 수 있는 요소이며, ISO 27005, IETF RFC 4949, NIST SP 800-30, ENISA 등 다양한 기관에서 정의하고 있다. - 웹 취약점 공격 - 인터넷 보안
인터넷 보안은 사이버 위협, 악성 소프트웨어, 서비스 거부 공격 등으로부터 정보와 시스템을 보호하기 위해 네트워크 계층 보안, 다단계 인증, 방화벽 등 다양한 기술과 방법을 포괄한다. - 보안 - 금고
금고는 현금, 귀중품, 중요 문서 등을 도난, 화재, 외부 위협으로부터 안전하게 보관하기 위한 잠금장치가 있는 견고한 상자 또는 보관 시설로, 기원전 13세기 이집트에서 기원하여 다양한 재료와 잠금 방식으로 발전해왔으며, 내화 금고, 방도 금고, 대여 금고 등 다양한 종류와 UL, EN 등의 국제적인 표준에 따른 성능 등급이 존재한다. - 보안 - 경비원
경비원은 시설 및 인력을 보호하고 출입을 통제하며 순찰, 위험 감지 및 보고 등의 업무를 수행하는 직업으로, 화재, 도난, 침입 등으로부터 보호하며 방문객 안내, 배달물 접수 등의 부가적인 서비스를 제공하기도 한다.
웹 셸 | |
---|---|
개요 | |
유형 | 악성 소프트웨어 |
목적 | 원격 접근 및 제어 |
특징 | 웹 서버를 통해 접근 다양한 기능 수행 (파일 관리, 명령 실행 등) 탐지 회피를 위한 난독화 및 우회 기법 사용 |
상세 정보 | |
정의 | 웹 서버에 업로드되어 원격에서 서버를 관리하고 제어할 수 있도록 하는 악성 스크립트 또는 프로그램 |
작동 방식 | 공격자가 웹 서버의 취약점을 이용하여 웹 셸을 업로드 업로드된 웹 셸을 통해 서버에 명령을 실행하거나 파일에 접근 |
공격 목표 | 서버 장악 데이터 탈취 및 변조 악성코드 유포 서비스 방해 |
기술적 특징 | |
사용 언어 | PHP ASP JSP Python Perl |
기능 | 파일 관리 (생성, 삭제, 수정, 업로드, 다운로드) 시스템 명령 실행 데이터베이스 접근 및 조작 네트워크 스캔 권한 상승 |
탐지 및 방어 | 웹 서버 보안 강화 (취약점 제거, 접근 통제 강화) 웹 방화벽 (WAF) 사용 악성코드 탐지 시스템 (IDS) 및 침입 방지 시스템 (IPS) 활용 웹 셸 탐지 도구 사용 로그 분석 및 모니터링 강화 |
위협 요소 | |
위험성 | 시스템 전체에 대한 완전한 제어 권한 획득 가능 은밀한 활동 가능 (로그 삭제, 파일 숨김 등) |
예방 | 최신 보안 패치 적용 강력한 인증 및 접근 제어 정기적인 보안 점검 및 감사 |
활용 사례 | |
공격 유형 | SQL 주입 파일 업로드 취약점 원격 코드 실행 |
공격 단계 | 정보 수집 취약점 분석 웹 셸 업로드 명령 실행 및 시스템 장악 |
참고 자료 | |
관련 문서 | 웹 셸을 사용하여 보안 도구 및 서버를 악용하는 방법 웹 셸 - 위협 인식 및 지침 웹 셸이란? |
2. 웹셸의 일반적인 용도
웹 셸은 다목적이며 탐지하기 어렵기 때문에 공격에 주로 사용된다.[4] 해커는 웹 셸을 통해 정보를 훔치고, 데이터를 손상시키며, 멀웨어를 업로드하여 시스템에 더 큰 피해를 줄 수 있다. 또한, 손상된 서버를 이용하여 시스템에 침투하고 추가적인 컴퓨터를 위협할 수도 있다. 웹 셸은 사이버 스파이 행위를 통해 정부, 금융, 국방 등 다양한 산업을 표적으로 삼는 데 사용되기도 한다. 이러한 방식으로 사용되는 대표적인 웹 셸 중 하나는 "China Chopper"이다.[6]
2. 1. 정보 탈취
웹 셸은 탐지하기 어렵고 다양한 목적으로 활용될 수 있기 때문에 공격에 주로 사용된다.[4] 일반적으로 다음과 같은 용도로 사용된다.- 데이터 절도[4]
- 웹사이트 방문자를 감염시키는 워터링 홀 공격[5]
- 악의적인 목적으로 파일을 수정하는 웹사이트 변조
- DDoS 공격 시작[2]
- 인터넷을 통해 접근할 수 없는 네트워크 내부에서 명령 중계[2]
- 명령 및 제어 기반으로 사용 (예: 봇넷 시스템의 봇, 추가적인 외부 네트워크 보안 손상)[2]
웹 셸은 해커에게 정보를 훔치고, 데이터를 손상시키며, 시스템에 더 큰 피해를 주는 멀웨어를 업로드할 수 있는 기능을 제공한다. 해커가 손상된 서버를 사용하여 시스템에 침투하고 추가적인 컴퓨터를 위협하면 문제는 더욱 심각해진다. 웹 셸은 또한 악의적인 개인이 사이버 스파이 행위를 통해 정부, 금융, 국방 등 다양한 산업을 표적으로 삼는 방법이기도 하다. 이러한 방식으로 사용되는 대표적인 웹 셸 중 하나는 "China Chopper"이다.[6]
2. 2. 웹사이트 변조
웹 셸은 다목적이며 탐지하기 어렵기 때문에 공격에 주로 사용된다.[4] 웹 셸은 악의적인 의도로 파일을 수정하여 웹사이트 변조를 일으키는 데 사용될 수 있다.2. 3. 악성코드 유포
웹 셸은 다목적이며 탐지하기 어렵기 때문에 공격에 주로 사용된다.[4] 일반적으로 다음과 같은 용도로 사용된다.- 데이터 절도[4]
- 웹사이트 방문자 감염 (워터링 홀 공격)[5]
- 악의적인 의도로 파일을 수정하여 웹사이트 변조
- 분산 서비스 거부 (DDoS) 공격 시작[2]
- 인터넷을 통해 접근할 수 없는 네트워크 내부에서 명령을 중계[2]
- 명령 및 제어 기반으로 사용, 예를 들어 봇넷 시스템의 봇으로 사용하거나 추가적인 외부 네트워크의 보안을 손상시키는 방법으로 사용[2]
웹 셸은 해커에게 정보를 훔치고, 데이터를 손상시키며, 시스템에 더 큰 피해를 주는 멀웨어를 업로드할 수 있는 기능을 제공한다. 해커가 손상된 서버를 사용하여 시스템에 침투하고 추가적인 컴퓨터를 위협할 때 문제가 더욱 심각해진다. 웹 셸은 또한 악의적인 개인이 사이버 스파이 행위를 통해 정부, 금융 및 국방을 포함한 다양한 산업을 표적으로 삼는 방법이다. 이러한 방식으로 사용되는 매우 잘 알려진 웹 셸 중 하나는 "China Chopper"로 알려져 있다.[6]
2. 4. DDoS 공격
웹 셸은 다목적이며 탐지하기 어렵기 때문에 공격에 주로 사용된다.[4] 웹 셸은 DDoS 공격을 시작하는데 사용될 수 있다.[2]2. 5. 명령 및 제어(C&C)
웹 셸은 다목적이며 탐지하기 어렵기 때문에 공격에 주로 사용된다.[4] 일반적으로 다음과 같은 용도로 사용된다.- 데이터 절도[4]
- 웹사이트 방문자 감염 (워터링 홀 공격)[5]
- 악의적인 의도로 파일을 수정하여 웹사이트 변조
- 분산 서비스 거부 (DDoS) 공격 시작[2]
- 인터넷을 통해 접근할 수 없는 네트워크 내부에서 명령을 중계[2]
- 명령 및 제어 기반으로 사용, 예를 들어 봇넷 시스템의 봇으로 사용하거나 추가적인 외부 네트워크의 보안을 손상시키는 방법으로 사용[2]
웹 셸은 해커에게 정보를 훔치고, 데이터를 손상시키며, 시스템에 더 큰 피해를 주는 멀웨어를 업로드할 수 있는 기능을 제공한다. 해커가 손상된 서버를 사용하여 시스템에 침투하고 추가적인 컴퓨터를 위협할 때 문제가 더욱 심각해진다. 웹 셸은 또한 악의적인 개인이 사이버 스파이 행위를 통해 정부, 금융 및 국방을 포함한 다양한 산업을 표적으로 삼는 방법이다. 이러한 방식으로 사용되는 매우 잘 알려진 웹 셸 중 하나는 "China Chopper"로 알려져 있다.[6]
3. 웹셸 전달 방법
웹 셸은 웹 애플리케이션의 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]
- 원격 파일 포함 (RFI) 및 로컬 파일 포함 (LFI) 취약점
- 원격 코드 실행
- 노출된 관리 인터페이스[2]
3. 1. SQL 인젝션
웹 셸은 SQL 주입 취약점을 통해 설치될 수 있다.[2][4]3. 2. 애플리케이션 및 서비스 취약점
웹 셸은 다음과 같은 웹 애플리케이션의 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]공격자는 파일 업로드 시 공격자가 전송하는
Content-Type
헤더를 변조(스푸핑)하여 부적절한 파일 유효성 검사(클라이언트가 전송한 MIME 유형을 사용한 유효성 검사)를 우회하여 공격자의 셸을 성공적으로 업로드할 수 있다.3. 3. 파일 업로드 취약점
웹 셸은 다음과 같은 웹 애플리케이션 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]파일 업로드 취약점을 방지하기 위한 방법은 다음과 같다.
- 업로드: 파일 업로드가 불필요할 경우 업로드 기능을 완전히 제거하고, 업로드가 필요한 경우 확장자를 제한한다. 확장자를 제한할 시에는 특정 확장자를 막는 것보다 특정 확장자만 허용하는 것이 더 안전하다. 또한 txt.php 같은 유형의 이중 확장자 검사도 해야 한다.
- 파일 업로드 폴더 실행 제한: 웹 서버 업로드 전용 폴더를 만들고 파일의 실행을 제한한다.
공격자는 파일 업로드 시 공격자가 전송하는
Content-Type
헤더를 변조(스푸핑)하여 부적절한 파일 유효성 검사(클라이언트가 전송한 MIME 유형을 사용한 유효성 검사)를 우회하여 공격자의 셸을 성공적으로 업로드할 수 있다.3. 4. 파일 포함 취약점
웹 셸은 다음과 같은 웹 애플리케이션의 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]- 원격 파일 포함(RFI) 및 로컬 파일 포함(LFI) 취약점
3. 5. 원격 코드 실행
웹 셸은 다음과 같은 웹 애플리케이션의 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]- SQL 주입
- 애플리케이션 및 서비스의 취약점 (예: 웹 서버 소프트웨어(NGINX) 또는 콘텐츠 관리 시스템 애플리케이션(워드프레스))[7][8]
- 파일 처리 및 업로드 취약점 (예: 업로드 가능한 파일 형식을 제한하여 완화 가능)[8]
- 원격 파일 포함(RFI) 및 로컬 파일 포함(LFI) 취약점
- 원격 코드 실행
- 노출된 관리 인터페이스[2]
공격자는 파일 업로드 시 공격자가 전송하는 `Content-Type` 헤더를 변조(스푸핑)하여 부적절한 파일 유효성 검사(클라이언트가 전송한 MIME 유형을 사용한 유효성 검사)를 우회, 공격자의 셸을 성공적으로 업로드할 수 있다.
3. 6. 노출된 관리 인터페이스
웹 셸은 다음과 같은 웹 애플리케이션 취약점이나 서버 보안 구성의 허점을 통해 설치된다.[2][4]- SQL 주입
- 애플리케이션 및 서비스 취약점 (예: 웹 서버 소프트웨어 (NGINX) 또는 콘텐츠 관리 시스템 애플리케이션 (워드프레스))[7][8]
- 파일 처리 및 업로드 취약점 (예: 업로드 가능한 파일 형식을 제한하여 완화 가능)[8]
- 원격 파일 포함 (RFI) 및 로컬 파일 포함 (LFI) 취약점
- 원격 코드 실행
- 노출된 관리 인터페이스[2]
공격자는 파일 업로드 시 공격자가 전송하는 `Content-Type` 헤더를 스푸핑하여 부적절한 파일 유효성 검사(클라이언트가 전송한 MIME 유형을 사용한 유효성 검사)를 우회, 공격자의 셸을 성공적으로 업로드할 수 있다.
4. 웹셸 예시
r57.php는 구글 같은 검색 엔진을 이용해 찾아보면 내려받을 수 있다.
다음은 셸 명령의 결과를 실행하고 출력하는 PHP로 작성된 웹 셸의 간단한 예시이다.
파일 이름이 `example.php`라고 가정하면, /etc/passwd 파일의 내용을 출력하는 예시는 다음과 같다.
위 요청은 쿼리 문자열의 `x` 매개변수 값을 가져와서 다음 셸 명령을 보낸다.
PHP의 셸 함수를 비활성화하여 임의의 셸 명령이 PHP에서 실행될 수 없도록 하면 이를 방지할 수 있었다.
5. 웹셸 방지 및 완화
웹 셸을 방지하고 완화하기 위한 추가적인 방법은 다음과 같다:[2][3]
- 사용하지 않는 포트 및 서비스를 닫거나 차단한다.
- 관리 URL을 알려진 합법적인 URL로 제한하기 위해 리버스 프록시 서비스를 사용한다.
- 위험 영역을 감지하기 위해 취약점 검사를 자주 수행하고 웹 보안 소프트웨어를 사용하여 정기적인 검사를 수행한다 (이는 제로데이 공격을 방지하지 못한다).
5. 1. 운영체제 및 애플리케이션 업데이트
웹 셸은 일반적으로 웹 서버 소프트웨어의 취약점을 이용해 설치된다. 따라서 이러한 취약점을 제거하는 것이 웹 서버가 손상될 수 있는 잠재적 위험을 방지하는 데 중요하다.[2][3]웹 셸 설치를 방지하기 위한 보안 조치 중 하나는 알려진 소프트웨어 버그로부터 보호하기 위해 애플리케이션과 호스트 서버의 운영 체제를 정기적으로 업데이트하는 것이다.
5. 2. DMZ (비무장 지대) 구축
웹 서버와 내부 네트워크 사이에 DMZ(비무장 지대)를 구축한다.[2][3]5. 3. 웹 서버 보안 구성
'''1'''. 업로드: 파일 업로드가 불필요할 경우 업로드 기능을 완전히 제거하고, 업로드가 필요한 경우 확장자를 제한한다. 확장자를 제한할 시에는 특정 확장자를 막는 것보다 특정 확장자만 허용하는 것이 더 안전하다. 또한 txt.php 같은 유형의 이중 확장자 검사도 해야 한다.[2][3]'''2'''. SQL Injection 방지: 필터를 사용해서 SQL Injection을 막는다.
'''3'''. 파일 업로드 폴더 실행 제한: 웹 서버 업로드 전용 폴더를 만들고 파일의 실행을 제한한다. 웹 셸은 일반적으로 웹 서버 소프트웨어에 존재하는 취약점을 이용하여 설치된다. 그렇기 때문에 이러한 취약점을 제거하는 것이 웹 서버가 손상될 수 있는 잠재적 위험을 방지하는 데 중요하다.
다음은 웹 셸 설치를 방지하기 위한 보안 조치이다.
- 알려진 소프트웨어 버그로부터 보호하기 위해 애플리케이션과 호스트 서버의 운영 체제를 정기적으로 업데이트한다.
- 웹 서버와 내부 네트워크 사이에 DMZ(비무장 지대)를 구축한다.
- 웹 서버의 안전한 구성[2]
- 사용하지 않는 포트 및 서비스를 닫거나 차단한다.[2]
- 파일 포함 취약점을 제한하기 위해 사용자 입력 데이터 유효성 검사를 사용한다.[2]
- 관리 URL을 알려진 합법적인 URL로 제한하기 위해 리버스 프록시 서비스를 사용한다.[2]
- 위험 영역을 감지하기 위해 취약점 검사를 자주 수행하고 웹 보안 소프트웨어를 사용하여 정기적인 검사를 수행한다(이는 제로데이 공격을 방지하지 못한다).[2]
- 방화벽을 구축한다.[2]
- 디렉터리 검색을 비활성화한다.
- 기본 비밀번호를 사용하지 않는다.[2]
5. 4. 사용자 입력 데이터 유효성 검사
파일 포함 취약점을 제한하기 위해 사용자 입력 데이터 유효성 검사를 사용한다.[2]5. 5. 리버스 프록시 사용
웹 셸 설치를 방지하기 위한 보안 조치 중 하나로, 리버스 프록시 서비스를 사용하여 관리 URL을 알려진 합법적인 URL로 제한하는 방법이 있다.[2]5. 6. 취약점 검사 및 웹 보안 소프트웨어 사용
웹 셸은 일반적으로 웹 서버 소프트웨어에 존재하는 취약점을 이용하여 설치된다. 따라서 이러한 취약점을 제거하는 것이 웹 서버가 손상될 수 있는 잠재적 위험을 방지하는 데 중요하다.다음은 웹 셸 설치를 방지하기 위한 보안 조치이다:[2][3]
- 애플리케이션과 호스트 서버의 운영 체제를 정기적으로 업데이트하여 알려진 소프트웨어 버그로부터 보호한다.
- 웹 서버와 내부 네트워크 사이에 DMZ(비무장 지대)를 구축한다.
- 웹 서버의 안전한 구성을 확인한다.[2]
- 사용하지 않는 포트 및 서비스를 닫거나 차단한다.[2]
- 사용자 입력 데이터 유효성 검사를 사용하여 파일 포함 취약점을 제한한다.[2]
- 리버스 프록시 서비스를 사용하여 관리 URL을 알려진 합법적인 URL로 제한한다.[2]
- 취약점 검사를 자주 수행하고 웹 보안 소프트웨어를 사용하여 정기적인 검사를 수행하여 위험 영역을 감지한다 (이는 제로데이 공격을 방지하지 못한다).[2]
- 방화벽을 구축한다.[2]
- 디렉터리 검색을 비활성화한다.
- 기본 비밀번호를 사용하지 않는다.[2]
5. 7. 방화벽 구축
웹 셸은 일반적으로 웹 서버 소프트웨어에 존재하는 취약점을 이용하여 설치된다. 그렇기 때문에 이러한 취약점을 제거하는 것이 웹 서버가 손상될 수 있는 잠재적 위험을 방지하는 데 중요하다.웹 셸 설치를 방지하기 위한 보안 조치 중 하나로 방화벽을 구축할 수 있다.[2]
5. 8. 디렉터리 검색 비활성화
웹 셸 설치를 방지하기 위한 보안 조치 중 하나로, 디렉터리 검색을 비활성화하는 방법이 있다.5. 9. 기본 비밀번호 변경
웹 셸 설치를 방지하기 위한 보안 조치 중 하나로 기본 비밀번호를 사용하지 않는 것이 있다.[2]6. 웹셸 탐지
웹 셸은 쉽게 수정될 수 있어 탐지가 쉽지 않으며, 백신으로도 탐지하지 못하는 경우가 많다.[2][9] 웹 서버 로그를 분석하면 웹 셸의 위치를 정확히 찾을 수 있는데, 일반 사용자는 다양한 사용자 에이전트 및 HTTP 리퍼러를 사용하는 반면, 웹 셸은 주로 공격자만 방문하기 때문에 사용자 에이전트 문자열의 변화가 거의 없다.[2]
6. 1. 일반적인 징후
웹 셸은 쉽게 수정될 수 있으므로 탐지하기가 쉽지 않으며, 백신 소프트웨어는 웹 셸을 탐지하지 못하는 경우가 많다.[2][9]다음은 웹 서버에 웹 셸이 존재한다는 일반적인 징후이다:[2][3]
- 비정상적으로 높은 웹 서버 사용량 (공격자의 과도한 다운로드 및 업로드로 인해)[2][9]
- 비정상적인 타임스탬프가 있는 파일 (예: 마지막 수정일보다 최신)[9]
- 웹 서버의 알 수 없는 파일
- `cmd.exe` 또는
eval
과 같이 의심스러운 참조를 가진 파일 - 웹 서버 로그의 알 수 없는 연결
예를 들어, 의심스러운 트래픽을 생성하는 파일 (예: POST 매개변수를 사용하여 요청하는 PNG 파일)[2][10][11][12], DMZ 서버에서 내부 서브넷으로, 또는 그 반대로의 의심스러운 로그인이 있다.[2]
웹 셸에는 종종 오류 페이지로 위장된 로그인 양식이 포함될 수도 있다.[2][13][14][15]
공격자는 웹 셸을 사용하여 웹 서버에서 .htaccess 파일 (Apache HTTP Server 소프트웨어를 실행하는 서버에서)을 수정하여 검색 엔진 요청을 악성 코드 또는 스팸이 있는 웹 페이지로 리디렉션할 수 있다. 종종 웹 셸은 사용자 에이전트를 감지하고 검색 엔진 스파이더에 표시되는 콘텐츠는 사용자 브라우저에 표시되는 콘텐츠와 다르다. 웹 셸을 찾으려면 사용자 에이전트 크롤러 봇의 변경이 일반적으로 필요하다. 웹 셸이 식별되면 쉽게 삭제할 수 있다.[2]
웹 서버의 로그를 분석하면 웹 셸의 정확한 위치를 지정할 수 있다. 합법적인 사용자/방문자는 일반적으로 서로 다른 사용자 에이전트 및 HTTP 리퍼러를 갖는 반면, 웹 셸은 일반적으로 공격자만 방문하므로 사용자 에이전트 문자열의 변형이 거의 없다.[2]
6. 2. 로그 분석
웹 서버의 로그를 분석하면 웹 셸의 정확한 위치를 파악할 수 있다. 일반 사용자/방문자는 보통 서로 다른 사용자 에이전트 및 HTTP 리퍼러를 갖는 반면, 웹 셸은 대개 공격자만 방문하므로 사용자 에이전트 문자열의 변화가 거의 없다.[2]7. 대표적인 웹셸
구글 같은 검색 엔진을 이용해 찾아보면 내려받을 수 있는 r57.php가 대표적이다.[1]
8. 웹셸 업로드 방지 (한국어 문서 내용)
웹셸 업로드를 막기 위한 추가적인 보안 조치는 다음과 같다.[2][3]
- 애플리케이션과 호스트 서버의 운영 체제를 정기적으로 업데이트하여 알려진 소프트웨어 버그로부터 보호한다.
- 웹 서버와 내부 네트워크 사이에 DMZ(비무장 지대)를 구축한다.
- 안전하게 웹 서버를 구성한다.
- 사용하지 않는 포트 및 서비스를 닫거나 차단한다.
- 사용자 입력 데이터 유효성 검사를 사용하여 파일 포함 취약점을 제한한다.
- 리버스 프록시 서비스를 사용하여 관리 URL을 알려진 합법적인 URL로 제한한다.
- 취약점 검사를 자주 수행하고 웹 보안 소프트웨어를 사용하여 정기적인 검사를 수행한다(이는 제로데이 공격을 방지하지 못한다).
- 방화벽을 구축한다.
- 디렉터리 검색을 비활성화한다.
- 기본 비밀번호를 사용하지 않는다.
8. 1. 파일 업로드 제한
파일 업로드가 불필요할 경우 업로드 기능을 완전히 제거하고, 필요한 경우에는 확장자를 제한한다. 확장자를 제한할 때에는 특정 확장자를 차단하는 것보다 특정 확장자만 허용하는 것이 더 안전하다. 또한 `txt.php`와 같은 유형의 이중 확장자도 검사해야 한다.[2][3]8. 2. SQL 인젝션 방지
SQL 인젝션을 방지하기 위해서는 필터를 사용한다.[2][3]8. 3. 파일 업로드 폴더 실행 제한
웹 셸은 일반적으로 웹 서버 소프트웨어에 존재하는 취약점을 이용하여 설치된다. 그렇기 때문에 이러한 취약점을 제거하는 것이 웹 서버가 손상될 수 있는 잠재적 위험을 방지하는 데 중요하다. 웹 서버 업로드 전용 폴더를 만들고 파일의 실행을 제한해야 한다.[2][3]참조
[1]
웹사이트
How can web shells be used to exploit security tools and servers?
https://searchsecuri[...]
2018-12-21
[2]
웹사이트
Web Shells – Threat Awareness and Guidance
https://www.us-cert.[...]
2017-08-09
[3]
웹사이트
What is a Web shell?
https://malware.expe[...]
2017-08-03
[4]
웹사이트
Russian Government Cyber Activity Targeting Energy and Other Critical Infrastructure Sectors – US-CERT
https://www.us-cert.[...]
2018-03-16
[5]
웹사이트
The Definitive Guide about Backdoor Attacks - What are WebShell BackDoors
https://fixmywp.com/[...]
2017-10-16
[6]
논문
Handling webshell attacks: A systematic mapping and survey
https://www.scienced[...]
2021-09-01
[7]
웹사이트
Got WordPress? PHP C99 Webshell Attacks Increasing
https://securityinte[...]
2016-04-14
[8]
웹사이트
Equifax breach was 'entirely preventable' had it used basic security measures, says House report
https://techcrunch.c[...]
2018-12-10
[9]
웹사이트
Breaking Down the China Chopper Web Shell - Part I « Breaking Down the China Chopper Web Shell - Part I
https://www.fireeye.[...]
[10]
웹사이트
Intrusion Detection and Prevention Systems
https://ws680.nist.g[...]
[11]
웹사이트
Five signs an attacker is already in your network
https://www.networkw[...]
2016-06-16
[12]
웹사이트
Traffic Analysis for Network Security: Two Approaches for Going Beyond Network Flow Data
https://insights.sei[...]
2016-09-15
[13]
웹사이트
Hackers Hiding Web Shell Logins in Fake HTTP Error Pages
https://www.bleeping[...]
[14]
웹사이트
Hackers Hiding Web Shell Logins in Fake HTTP Error Pages
https://threatravens[...]
2018-07-24
[15]
웹사이트
Hackers Hiding Web Shell Logins in Fake HTTP Error Pages
https://cyware.com/n[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com