1. 관리자 페이지 노출 취약점

적절한 인증 없이 관리 패널이 공개적으로 접근 가능하여 공격자가 이를 식별하고 탈취하는 행위를 의미한다.

 

실제 검색 사례

 ※ 주요 목적 : "공개 노출된 관리자 로그인 페이지 탐색"

  1. intitle:"admin login" OR inurl:"admin/login"
  2. inurl:admin intitle:login
  3. inurl:admin.php
  4. site:XXX inurl:admin
  5. intitle:"index of" inurl:"/admin" after:2020

 

"admin"을 중점으로 검색을 실행하였고, 주로 https가 설정되지 않은 관리자 로그인 페이지를 다수 확인할 수 있었다.

 

대응 방안

  • 접근 제한 : 관리자 패널에 대한 IP whitelist 및 VPN 접근을 사용한다.
  • 강력한 인증 체계 : MFA 및 강력한 비밀번호 정책 적용한다.
  • 난독화 : 기본 관리자 패널 URL을 예측 불가능하도록 변경한다.
  • 접근 통제 : 역할 기반 접근 통제 (RBAC) 및 최소 권한의 원칙 적용
  • HTTPS : SSL/TLS를 적용하여 신뢰자격 탈취를 예방한다.

2. 디렉토리 나열 취약점

웹 애플리케이션을 사용하는 서버의 미흡한 설정으로 인해 indexing 기능이 활성화 되어 있을 경우 발생하는 취약점이다.

 

 

실제 검색 사례

 ※ 주요 목적 : "Directory listing 이 활성화된 서버 탐색"

  1. intitle:"index of"
  2. intitle:"index of /" "parent directory"
  3. intitle:"index of /" + (venv|vscode)
  4. intitle:"index of /" + (zip|rar|tar|gz)
  5. intitle:"index of /" + (wp-content|backup|config)

1) html 디렉토리 구조
2) venv 디렉토리 구조
3) vscode 디렉토리 구조

 

"index of/" 키워드를 사용하여 디렉토리 리스팅이 허용된 웹사이트를 확인할 수 있었다.

 

대응 방안

  • Directory Listing 비활성화 : 웹 서버 설정에서 디렉토리 나열 기능을 비활성화한다.
    • Apache - `Options -Indexes`, Nginx - `autoindex off`
  • Index 파일 사용 : 각 디렉토리에 `index.html`, `index.php` 파일을 기본 페이지로 제공하여 디렉토리 탐색을 방지한다.

3. 시스템 관리 취약점

웹 서버 프로그램 (e.g., Apache, phpMyAdmin 등)을 설치할 때 생성되는 설치 파일과 임시 파일이 웹 서버에 그대로 존재하거나 웹 상에서 윈도우 로그인 창이 노출되는 등 시스템 관리 미비로 인해 발생하는 취약점을 의미한다.

 

 

실제 검색 사례

 ※ 주요 목적 : "phpMyAdmin, Webmin, ApacheServerStatus 등 노출된 시스템 관리 인터페이스 탐색"

  1. php 환경 설정 파일 - intitle:"index of" phpinfo.php
  2. 원격 로그인 창 탐지 - intext:"Please Login" inurl:"/remote/login"

  3. OpenVPN 상태 monitoring : intitle:"OpenVpn Status Monitor"

 

대응 방안

  • 설치 / 임시 파일 삭제 : 더 이상 사용되지 않는 파일은 삭제한다.
  • 정기적 점검 : 주기적으로 불필요한 시스템 관리 인터페이스를 확인하고 종료한다.

4. 불필요한 Method 허용 취약점

웹 서버에 PUT, DELETE, TRACE 등 정상적인 운용에 필요하지 않은 HTTP method를 허용하여 잠재적으로 데이터 수정, 비인가 행위 및 보안 우회를 초래할 수 있다.

 

  • PUT, DELETE 의 경우, 임의로 서버 내 파일 생성 및 삭제를 시도할 수 있는 HTTP method로 비인가 사용자가 서버를 조작할 수 있는 위험이 존재한다.
  • TRACE 의 경우, 클라이언트가 서버로 전송한 요청을 다시 그대로 반환해주는 HTTP method로 쿠키 및 세션 값이 그대로 다시 반환되어 XST (Cross-Site Training) 공격을 시도할 수 있다.

 

사이트 취약성 확인 방법

Burp suite 등 웹 앱 보안 점검 도구를 사용하여 확인 대상 사이트에 OPTIONS method를 요청하고 응답 중  PUT, DELETE 등의 HTTP method가 존재하는지 확인한다.

 

대응 방안

  • HTTP Method 제한 : 웹 서버에서 GET, POST 같이 오직 필수적인 HTTP method 만 사용되도록 설정한다.
  • WAF 사용 : 비인가 HTTP method를 차단한다.

참고 출처

 - 28. 침해대응&CERT (6) : 웹 취약점 실습_1

 - 불필요한 웹 Method 진단 시 발생하는 문제점 및 대응방안