IT 정보

웹쉘(Web Shell),보안,SKT해킹 도구

aiproductmanager 2025. 5. 21. 04:31
728x90
반응형

**웹쉘(Web Shell)**은
웹 서버에 업로드된 악성 스크립트 파일로, 공격자가 원격에서 서버를 조작할 수 있도록 만든 백도어 프로그램입니다.


✅ 1. 웹쉘이란?

항목 설명
정의 웹 서버 상에 숨겨진 악성 코드 또는 스크립트 파일
형태 .php, .asp, .jsp, .aspx 등의 웹 페이지 파일 형식
기능 원격 명령 실행, 파일 업로드/다운로드, DB 조작, 서버 탈취 등
목적 서버를 장악하고 내부망 침투, 개인정보 탈취, 추가 악성코드 설치 등
 

✅ 2. 웹쉘 공격 방식

  1. 파일 업로드 취약점 이용
    • 예: 이미지 업로드 폼을 통해 웹쉘 스크립트 업로드
  2. 취약한 웹 애플리케이션 공격
    • SQL Injection, XSS, RCE 등을 통해 웹쉘 삽입
  3. 이미 해킹된 계정이나 CMS 취약점 이용
    • 워드프레스/제로보드 등 CMS 취약한 플러그인

✅ 3. 웹쉘 탐지 방법

방법 설명
파일 무결성 점검 정기적으로 웹 서버 내 파일 변조 여부 확인
웹 로그 분석 비정상적인 접근 패턴, URL 파라미터 분석
백도어 탐지 툴 사용 WebShell Detector, LMD(Linux Malware Detect), ClamAV 등
코드 내용 확인 eval(), base64_decode(), system() 등 위험 함수 포함 여부 점검
 

✅ 4. 웹쉘 방어 및 예방

전략 세부 내용
파일 업로드 제한 확장자, MIME 타입, 파일명 필터링
권한 설정 업로드 폴더는 실행 권한 제거 (chmod -x)
서버 보안 설정 웹 방화벽(WAF), SELinux, 보안 패치 주기적 적용
암호화 통신 적용 HTTPS 적용으로 데이터 도청 방지
서버 모니터링 실시간 탐지 시스템으로 이상 징후 감지 및 차단
 

✅ 5. 대표적인 웹쉘 예시 코드 (PHP)

 

URL에 ?cmd=ls 입력 시 서버 명령어 실행됨
(※ 학습 목적 예시로, 실제 시스템에 적용 금지)


웹쉘(Web Shell) 공격을 효과적으로 방지하고 대응하기 위해서는 다음과 같은 세 가지 측면에서의 접근이 중요합니다:


1. 웹쉘 탐지 및 차단을 위한 오픈소스 도구

웹쉘 탐지와 차단을 위해 활용할 수 있는 오픈소스 도구는 다음과 같습니다:

도구명
주요 기능 및 특징
ClamAV 다양한 플랫폼에서 사용 가능한 오픈소스 백신으로, 웹쉘을 포함한 악성 코드 탐지에 활용됩니다.
Chkrootkit 리눅스 시스템에서 루트킷 및 웹쉘 탐지를 위한 도구로, 시스템 내부의 이상 징후를 검사합니다.
LMD (Linux Malware Detect) 리눅스 시스템에서 웹쉘 및 악성 스크립트 탐지에 특화된 도구로, ClamAV와 연동하여 사용 가능합니다.
 

이러한 도구들은 웹 서버의 보안 상태를 점검하고, 웹쉘과 같은 악성 스크립트의 존재를 확인하는 데 유용합니다.


2. 서버 취약점 점검 체크리스트

서버의 보안을 강화하기 위해 다음과 같은 취약점 점검 항목을 고려해야 합니다:

점검 항목
설명
계정 관리 root 계정의 원격 접속 제한, 패스워드 복잡성 설정, 계정 잠금 임계값 설정 등
파일 및 디렉토리 권한 설정 중요 파일 및 디렉토리의 소유자 및 권한 설정, SUID/SGID 파일 점검 등
서비스 관리 불필요한 서비스 비활성화, 포트 제한, 접근 제어 설정 등
패치 및 로그 관리 최신 보안 패치 적용, 로그의 정기적 검토 및 보고 등
 

이러한 점검 항목은 리눅스 서버의 보안 상태를 평가하고 강화하는 데 도움이 됩니다.Velog+1JW's Tech Blog+1


3. 웹쉘 방어를 위한 서버 설정 예시

웹쉘 공격을 방지하기 위해 서버 설정을 다음과 같이 조정할 수 있습니다:

설정 항목
설정 예시 및 설명
파일 업로드 제한 업로드 가능한 파일의 확장자 및 MIME 타입을 제한하여 악성 스크립트 업로드 방지
실행 권한 제거 업로드 디렉토리의 실행 권한을 제거하여 업로드된 파일의 실행을 방지
입력 값 검증 사용자 입력 값에 대한 철저한 검증을 통해 악성 코드 삽입 방지
웹 애플리케이션 방화벽(WAF) 설정 WAF를 통해 웹 애플리케이션의 취약점을 보호하고, 웹쉘 공격을 차단
 

이러한 설정을 통해 웹쉘 공격의 위험을 줄이고, 서버의 보안을 강화할 수 있습니다.

 

웹쉘(Web Shell) 탐지, 점검, 방어를 위한 종합 가이드


1. 웹쉘 탐지 및 차단을 위한 오픈소스 도구 사용법

■ ClamAV

  • 설치: sudo apt install clamav
  • 업데이트: sudo freshclam
  • 전체 스캔: clamscan -r /var/www
  • 특징:
    • 광범위한 악성코드 시그니처 보유
    • 리눅스, macOS 등 다양한 플랫폼에서 작동

■ LMD (Linux Malware Detect)

  • 설치:
  •  
  • 스캔 명령어: maldet -a /var/www
  • ClamAV 연동: LMD는 ClamAV 엔진을 활용하여 탐지율 향상 가능

■ Chkrootkit

  • 설치: sudo apt install chkrootkit
  • 사용법: sudo chkrootkit
  • 역할: 루트킷 및 비정상적인 시스템 상태 탐지

2. 서버 취약점 점검 체크리스트

■ 계정 및 인증 관련

  • root 계정의 SSH 접속 차단 (/etc/ssh/sshd_config에서 PermitRootLogin no)
  • 패스워드 복잡성 정책 설정 (길이, 문자 종류 등)
  • 2FA 설정 (가능한 경우)

■ 파일 및 디렉토리 권한

  • 웹 루트 디렉토리 내 .php, .asp, .jsp 등 실행 파일 권한 확인
  • chmod 644 또는 실행 권한 제거 (chmod -x)

■ 불필요한 서비스 제거

  • 사용하지 않는 포트/데몬 비활성화 (netstat -tulpn, systemctl disable)

■ 패치 및 로그 관리

  • 정기적인 OS 및 웹서버 보안 패치 적용
  • /var/log/auth.log, /var/log/apache2/error.log 등 로그 주기적 확인 및 백업

3. 웹쉘 방어를 위한 서버 설정 가이드

■ Apache

  • .htaccess로 업로드 경로 내 실행 차단
  •  

■ Nginx

  • 업로드 폴더에 대해 PHP 실행 비활성화
  •  

■ PHP 보안 설정

  •  

■ 웹 방화벽 (WAF)

  • ModSecurity, NAXSI, Cloudflare 등 적용하여 웹 요청 필터링

■ 추가 권장사항

  • 업로드 경로를 /var/www/uploads 등 별도 폴더로 분리하고 noexec 마운트
  • 웹쉘 탐지용 스케줄링 (cron으로 LMD 주기 실행)
  •  

 

이 글이 도움이 되셨다면
🔔 구독❤️ 좋아요  꾸우욱 눌러 주세요!🙏

그리고 💖커피 ☕, 💚차 🍵, 💛맥주 🍺, ❤️와인 🍷  중 마음에 드시는 한 잔으로 💰 후원해 주시면 큰 힘이 됩니다.

                                                                             👇 지금 바로 아래 🔘버튼을 꾸욱 눌러 📣 응원해 주세요! 👇  

728x90
반응형