웹 퍼징 도구 –DirBuster – By OWASP
Directory Travesal 공격
목표 웹 사이트를 공격 전 웹 사이트의 구조와 디렉터리 그리고 파일을 이해하는 것을 아주 중요하다.
이렇게 함으로써 우리는 가장 효과적인 공격 전략을 만들 수 있기 때문이다.
OWASP에서 이러한 목적으로 제작된 웹 퍼징 툴인 DirBuster의 테스트를 통해 효과적인 도구의 사용방법을 생각해 보자.
DirBuster는 OWASP 에서 제작한 웹 퍼징 도구이다. JAVA 언어로 제작되었기 때문에 OS 플랫폼에 독립적이다.
Window 플랫폼의 경우 다음 경로에서 바이너리 실행 파일 다운로드하면 된다. Kali-Linux의 경우 내장되어 있다.
용도: 디렉터리/파일 브루트 포싱
DirBuster 작동 원리
Dirbuster의 구동 원리는 아주 단순하다. 설정한 타켓 사이트의 URL에 단어 목록을 대입한 공격 Request를 만들어 전송하고
응답 값의 응답 코드를 분석하는 원리이다. 만 약 응답 코드가 200 범위에 있다면 긍정의 응답이며 디렉터리 혹은 파일이 존재한다는 것이다.
만약 응답코드가 403이라면 디렉터리 혹은 파일이 존재하나 접근이 제한되어 있다는 것을 의미한다.
도구 테스트하기
모의 진단 테스트 환경은 다음과 같다.
취약한 웹 애플리케이션 환경-bWAPP(APM 환경, Kali-Linux)
취약점 항목:A7-Directory Travesal – Files
취약 URL: http://192.168.79.138/bWAPPv2.2/bWAPP/directory_traversal_1.php?page=message.txt
취약 벡터: Page
|
Step 1) DirBuster 실행
DirBuster를 실행하면 아래 그림처럼 공격과 관련된 설정을 할 수 있는 GUI 화면이 나타난다.
Step 2) 목표 사이트 URL 설정
첫 번 째로 설정할 것은 스캔을 할 웹 사이트의 URL을 쓴다. 이때 포트도 꼭 써야 한다.
(보통 HTTP 통신 일 경우 80 포트이며, HTTPS 통신일 경우 443 포트를 사용한다.)
Step 2) 단어목록(Wordlist) 선택
다음으로 디렉터리 부루트 포싱에 사용할 단어리스트를 선택한다. GUI 화면 중간에 [ List Info ] 를 누르면 DirBuset에 포함되어 있는 단어 목록들을 보여 준다.
단어 목록들은 크기 Apache 시스템 사용자 목록과 디렉터리 목록으로 분류되어 있고, 또한 크기에 따라 분류되어 있다.
DirBuster 설치 경로에 이러한 단어목록이 txt 파일로 저장되어 있다.
[Browser ] 클릭 후 단어목록을 선택한다.
다음 [Start] 를 누르면 된다. DirBuster가 Get Request를 생성하여 전송하여 응답 값을 분석한 결과를 [List View ]와 [Tree View] 형태로 보여 준다.
시작 선택 옵션으로 Standard start point와 URL Fuzz가 있다. Standard start point의 경우 사전 목록이 URL의 PATH에 대입되는 되는 것이다.
http://서버 IP/~
URL Fuzz의 경우 URL의 특정 파라미터에 사전 목록이 대입되는 것이다.
URL Fuzz 보다는 Standard start point 방식이 결과를 잘 분석해 준다.
공격 시 메뉴 > Options 에서 Redirection 여부 및 디버그 모드, HTML 파싱 여부를 설정 할 수 있다. 분석의 정확도를 위해서는 다음과 같이 옵션을 설정해 주는 것이 좋다.
[List View 화면]
[Tree View 화면]
Step 3) 결과 분석
중간에 공격을 중단하고 현재까지의 결과만 분석하고자 한다면 [Pause] 혹은 [Stop] 을 눌러 Report를 생성하여 결과를 분석해 볼 수 있다.
생성된 Report를 저장할 경로를 먼저 설정하고, [Generate Report ]를 누르면 된다.
200 응답코드가 발견된 디렉터리에서 몇몇 의미 있는 결과가 보여 진다.
결과를 직접 브라우저에서 접근하여 확인해 보자.
댓글
댓글 쓰기