상세 컨텐츠

본문 제목

gobuster 사용법 및 옵션

IT

by Ex-K 2025. 1. 19. 22:15

본문

반응형

 

 

gobuster는 오픈소스 도구로써 brute-force 방식으로 디렉토리, 파일 경로, DNS 하위 도메인, 가상 호스트(Virtual Host) 등을 탐지하는데 사용되는 도구입니다.

주로 웹 어플리케이션 보안 테스트, 네트워크 탐지, 버킷 노출 확인 등의 작업에 활용되고 있습니다.

 

Go 언어로 작성된 이 도구는 빠르고 간편하며, 다양한 모드와 옵션을 지원하고 있어서 유연한 탐지가 가능합니다.

 

 

gobuster의 주요 기능

  1. 디렉토리 및 파일 경로 탐색 (dir 모드)
    웹 서버에서 숨겨진 디렉토리나 파일을 brute-force 방식으로 찾습니다.
    예: http://example.com/hidden-dir/
  2. DNS 하위 도메인 탐색 (dns 모드)
    특정 도메인에서 존재하는 하위 도메인을 찾아냅니다.
    예: subdomain.example.com
  3. 가상 호스트 탐색 (vhost 모드)
    HTTP 요청 헤더의 Host 값을 기반으로 서버에서 활성화된 가상 호스트를 찾아냅니다.
    예: subsite.example.com
  4. AWS S3 버킷 탐색 (s3 모드)
    S3 버킷 이름을 brute-force 방식으로 확인하여 접근 가능한 버킷을 탐색합니다.
  5. Fuzzing (fuzz 모드)
    URL의 특정 부분을 사용자 정의 문자열로 교체하며 다양한 입력값에 따른 응답을 탐지합니다.
    예: http://example.com/FUZZ

 

gobuster의 특징

  • 빠른 처리 속도: Go 언어의 효율성 덕분에 다중 쓰레드를 활용한 병렬 처리가 가능.
  • 다양한 모드: 디렉토리, DNS, S3 버킷, 가상 호스트, Fuzzing 등 여러 환경 지원.
  • Wordlist 기반: 다양한 단어 목록을 활용해 탐지를 수행.
  • 유연한 옵션: 요청 딜레이, User-Agent 변경, HTTP 기본 인증 등 세부 설정 가능.
  • TLS 검증 비활성화: HTTPS 환경에서도 TLS 검증을 비활성화해 우회 가능.

 

gobuster 사용 시 주의사항

  1. 법적 문제 회피:
    Gobuster는 합법적으로 접근할 수 있는 대상에서만 사용해야 합니다. 허가 없이 사용하는 경우 법적 문제가 발생할 수 있습니다.
  2. 대상 서버의 안정성:
    brute-force 방식이므로 서버에 높은 부하를 줄 수 있습니다. 테스트 전 서버 관리자의 동의를 받는 것이 중요합니다.

 

gobuster 설치

Gobuster는 Go 언어로 작성되었기 때문에 Go 환경이 필요합니다.

 

Go 설치: Go 공식 웹사이트에서 설치.

 

Gobuster 설치

go install github.com/OJ/gobuster/v3@latest

 

Kali에서의 gobuster 설치

sudo apt update
sudo apt install gobuster -y

 

Gobuster 실행 확인

gobuster -h

 

gobuster 사용법

기본 명령 형식:

gobuster <모드> -u <URL> -w <단어 목록> [추가 옵션]

 

실행 예제:

gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt

 

 

주요 모드:

  • dir: 디렉토리 및 파일 경로를 brute-force 탐색
  • dns: 하위 도메인 brute-force
  • vhost: 가상 호스트 brute-force
  • s3: AWS S3 버킷 brute-force
  • fuzz: 사용자 정의 위치에 대해 fuzzing
  • version: Gobuster 버전 확인
  • help: 도움말 표시

URL:

  • URL 주소, 또는 도메인 주소를 입력합니다.

 

단어 목록:

  • 단어 목록은 wordlist 파일을 의미합니다. brute-force를 공격하기 위해서는 일치하는 단어를 찾기 위해 wordlist 파일이 필요합니다. 예를 들어서 Kali에서 기본으로 제공하는 /usr/share/wordlists/rockyou.txt 파일 등이 있으며 이 파일이 위치한 경로를 입력합니다.

추가 옵션:

추가로 사용되는 옵션은 아래를 참조합니다. 아래 옵션들을 이용하면 더 많은 스캐닝 정보를 획득할 수 있습니다.

 

http://example.com  부분은 언제든지 다른 도메인 주소 or IP 주소로 변경할 수 있습니다.

허가받지 않은 네트워크에서의 사용은 법적인 처벌을 받을 수 있습니다.

 

gobuster 옵션

-h, --help 도움말 출력 gobuster dir -h
-z, --quiet 출력 최소화 gobuster dir -u http://example.com -z
-a, --useragent 사용자 지정 User-Agent 설정 gobuster dir -u http://example.com -a "MyUserAgent"
-U, --username HTTP 기본 인증 사용자 이름 설정 gobuster dir -u http://example.com -U admin
-P, --password HTTP 기본 인증 비밀번호 설정 gobuster dir -u http://example.com -U admin -P password
--delay 요청 간 대기 시간 (초) gobuster dir -u http://example.com --delay 1s
-t, --threads 동시 요청 수 설정 gobuster dir -u http://example.com -t 50
-o, --output 결과를 파일로 저장 gobuster dir -u http://example.com -o results.txt
-v, --verbose 상세 출력 gobuster dir -u http://example.com -v
-k, --no-tls-validation TLS 인증서 유효성 검사 비활성화 gobuster dir -u https://example.com -k
--timeout 요청 제한 시간 (초) gobuster dir -u http://example.com --timeout 10s
-c, --cookie 요청에 포함할 쿠키 값 설정 gobuster dir -u http://example.com -c "SESSIONID=123"
--proxy 요청에 사용할 프록시 서버 설정 gobuster dir -u http://example.com --proxy http://proxy
--proxy-auth 프록시 인증 정보 설정 gobuster dir -u http://example.com --proxy-auth user:pass
--random-agent 랜덤 User-Agent 사용 gobuster dir -u http://example.com --random-agent

 

디렉토리 모드(dir) 옵션

-u, --url 대상 URL 지정 gobuster dir -u http://example.com
-w, --wordlist 단어 목록 파일 경로 gobuster dir -u http://example.com -w wordlist.txt
-x, --extensions 파일 확장자 추가 (쉼표로 구분) gobuster dir -u http://example.com -x php,html,txt
-s, --status-codes 응답 상태 코드 필터링 (쉼표로 구분) gobuster dir -u http://example.com -s 200,204,301
--exclude-status 제외할 상태 코드 지정 gobuster dir -u http://example.com --exclude-status 404
--exclude-length 제외할 응답 길이 지정 gobuster dir -u http://example.com --exclude-length 0
--add-slash 디렉토리 경로에 슬래시 자동 추가 gobuster dir -u http://example.com --add-slash
--wildcard 와일드카드 대응 활성화 gobuster dir -u http://example.com --wildcard
--expanded 확장된 출력 형식 사용 gobuster dir -u http://example.com --expanded
--follow-redirect HTTP 리다이렉트 자동 추적 gobuster dir -u http://example.com --follow-redirect

 

DNS 모드(dns) 옵션

-d, --domain 대상 도메인 지정 gobuster dns -d example.com
-w, --wordlist 단어 목록 파일 경로 gobuster dns -d example.com -w wordlist.txt
--wildcard 와일드카드 대응 활성화 gobuster dns -d example.com --wildcard
-r, --resolver 커스텀 DNS 리졸버 지정 gobuster dns -d example.com -r 8.8.8.8

 

Virtual Host 모드 (vhost)

-u 대상 URL gobuster vhost -u http://example.com
-w 단어 목록 파일 gobuster vhost -u http://example.com -w wl.txt

 

S3 모드(S3)

-b, --bucket 대상 버킷 지정 gobuster s3 -b mybucket

 

Fuzz 모드(fuzz)

-u, --url Fuzz할 URL 설정 (FUZZ 포함 필요) gobuster fuzz -u http://example.com/FUZZ
-w, --wordlist 단어 목록 파일 gobuster fuzz -u http://example.com/FUZZ -w wordlist

 

 

반응형

관련글 더보기