08. 디렉토리 인덱싱 취약점
■ 개요
- 웹 어플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화가 되어있을 경우, 공격자가 강제 브라우징을 통해 서버내의 모든 디렉터리 및 파일에 대해 인덱싱이 가능하고 웹 어플리케이션 및 서버의 주요 정보가 노출될 수 있는 취약점
- 디렉토리 인덱싱 취약점 또는 디렉토리 리스팅 취약점으로 표현
- 웹 취약점 진단 과정에서 보통 Burp Suite Pro, Owasp-zap, Dirbuster, Acunetix 등과 같은 자동화 도구를 사용하여 점검 진행
- 주요정보통신기반시설 웹 취약점 진단 기준으로 08. 디렉토리 인덱싱 취약점에 해당
- OWASP TOP 10 2021 A05. Security Misconfiguration에 해당
■ 디렉토리 인덱싱 Cheat Sheet
수동으로 진단할 경우, 미탐되는 부분들이 생길 위험이 크기 때문에 서버에 부하가 되지 않을 정도로 threads를 설정하여 자동화 점검 도구 등을 사용하는 것이 좋을 것으로 판단
예 시 |
/icons/ |
/images/ |
/pr/ |
/adm/ |
/files/ |
/download/ |
/files/attach/images/ |
/data/ |
/%3f.jsp |
/phpmyadmin/ |
/administrator/ |
■ 디렉토리 인덱싱을 활용한 공격 예시
- 정보 수집 과정에서 디렉토리 인덱싱 취약점이 있는 것을 확인. 추가로 불필요한 메소드(Ex, PUT, DELETE)가 허용되어 있다는 사항을 확인
- PUT 메소드를 활용하여 웹쉘 업로드 후, 디렉토리 인덱싱 취약점을 활용해 업로드한 웹쉘로 이동 후 실행시 정상 동작 확인
- 자세한 과정은 하기 링크 참조
- https://sheow13.tistory.com/13
vulnuhub [Sick0s]
실습 목표 - 이 실습의 목표는 칼리 리눅스로 Sick0s root 권한 탈취가 목표 Step 1. Sick0s 환경 Virtual Box에서 부팅 시, login 페이지가 뜨나 계정 정보를 알고 있지 않음 - 해당 서버에 취약점을 이용
sheow13.tistory.com
■ 디렉토리 인덱싱 점검 방법
① 수동 점검
- 웹사이트의 사용자 인수값을 입력받은 애플리케이션에 디렉토리인덱싱 Cheat Sheet 입력 후 디렉토리 인덱싱 여부 확인
② 자동화 도구를 통한 점검
- 자동화 도구(Ex, Burp Suite Pro, Acunetix 등)를 사용하여 점검하고자 하는 사이트에 디렉토리 인덱싱 취약 여부 점검
- 아래 예시는 Kali linux에서 제공하는 Dirbuster 도구를 예시로 들었으며, 자세한 사항은 하기 링크 참조
■ 디렉토리 인덱싱 대응 방안
1. 웹 서버에 디렉토리 브라우징 비활성화
□ IIS
- "IIS 관리자" 접속 → "Directory Browing" 클릭 → "Actions"에서 "Disable" 클릭
□ Apache
- Apache 설정 파일인 "httpd.conf"에서 루트 디렉터리(/)에 포함된 모든 디렉터리에 대한 인덱싱을 Options지시자의 Indexes 옵션 제거함으로써 인덱싱 기능 비활성화
<Directory />
Options Indexes → 삭제 또는 "-Indexes"로 변경
AllowOverride None
Order allow, deny
Allow from all
</Directory>