R's Hacking Daily Log

Gobuster 본문

Tool & Command

Gobuster

hanhxx 2023. 1. 20. 17:43

[Gobuster]

: go language로 작성된 tool

: brute-force를 실행하는 tool

: github page (https://github.com/OJ/gobuster)

 

[available mode]

: dir, dns, s3, gcs, vhost, fuzz, tftp

 

 

[install]

gobuster를 설치하기 전에, go를 먼저 설치해야 한다.

위의 사진에서 제시된 바와 같이 go를 설치하기 위한 command를 입력하면 된다.

 

 

명령어를 입력하고 얼마 지나지 않아 설치가 완료된다.

 

 

제대로 설치가 되었다면 "go version"으로 버전을 확인할 수 있다.

 

그 다음으로 gobuster를 설치하자.

go가 설치된 후에 terminal에 gobuster만 입력해도 download 할 것인지 여부를 묻는다.

y를 누르면 자동으로 설치 시작

 

"gobuster -h"로 사용법을 확인할 수 있다.

 

 

[example]

: 간단하게 directory를 brute forcing 하는 예시를 살펴보자.

──(root㉿kali)-[~]
└─# gobuster dir -h
Uses directory/file enumeration mode

Usage:
  gobuster dir [flags]

Flags:
  -f, --add-slash                         Append / to each request
      --client-cert-p12 string            a p12 file to use for options TLS client certificates
      --client-cert-p12-password string   the password to the p12 file
      --client-cert-pem string            public key in PEM format for optional TLS client certificates
      --client-cert-pem-key string        private key in PEM format for optional TLS client certificates (this key needs to have no password)
  -c, --cookies string                    Cookies to use for the requests
  -d, --discover-backup                   Also search for backup files by appending multiple backup extensions
      --exclude-length ints               exclude the following content length (completely ignores the status). Supply multiple times to exclude multiple sizes.
  -e, --expanded                          Expanded mode, print full URLs
  -x, --extensions string                 File extension(s) to search for
  -X, --extensions-file string            Read file extension(s) to search from the file
  -r, --follow-redirect                   Follow redirects
  -H, --headers stringArray               Specify HTTP headers, -H 'Header1: val1' -H 'Header2: val2'
  -h, --help                              help for dir
      --hide-length                       Hide the length of the body in the output
  -m, --method string                     Use the following HTTP method (default "GET")
      --no-canonicalize-headers           Do not canonicalize HTTP header names. If set header names are sent as is.
  -n, --no-status                         Don't print status codes
  -k, --no-tls-validation                 Skip TLS certificate verification
  -P, --password string                   Password for Basic Auth
      --proxy string                      Proxy to use for requests [http(s)://host:port]
      --random-agent                      Use a random User-Agent string
      --retry                             Should retry on request timeout
      --retry-attempts int                Times to retry on request timeout (default 3)
  -s, --status-codes string               Positive status codes (will be overwritten with status-codes-blacklist if set)
  -b, --status-codes-blacklist string     Negative status codes (will override status-codes if set) (default "404")
      --timeout duration                  HTTP Timeout (default 10s)
  -u, --url string                        The target URL
  -a, --useragent string                  Set the User-Agent string (default "gobuster/3.4")
  -U, --username string                   Username for Basic Auth

Global Flags:
      --delay duration    Time each thread waits between requests (e.g. 1500ms)
      --no-color          Disable color output
      --no-error          Don't display errors
  -z, --no-progress       Don't display progress
  -o, --output string     Output file to write results to (defaults to stdout)
  -p, --pattern string    File containing replacement patterns
  -q, --quiet             Don't print the banner and other noise
  -t, --threads int       Number of concurrent threads (default 10)
  -v, --verbose           Verbose output (errors)
  -w, --wordlist string   Path to the wordlist

directory mode에 대한 정보를 출력하고 싶다면 "gobuster dir -h"를 입력하면 된다. 

 

gobuster dir -u http://abcdef.com

-u flag )

: directory를 brute forcing 할 target url을 나타내는 flag

 

 

 

gobuster dir -w worklist.txt

-w flag )

: brute forcing에 사용할 단어 리스트를 나타내는 flag

 

 

gobuster dir -u http://abcdef.com -w worklist.txt

보통 target url과 worklist를 함께 사용한다.

 

 

만약 wordlist.txt안에 {images, backup, account,..}이 들어있다고 하면,

위의 명령어를 통해서 gobuster는

http://abcdef.com/images
http://abcdef.com/backup
http://abcdef.com/account
...

target url에 단어들을 모두 대입하면서 존재하는 directory를 찾는 작업을 수행하게 된다. 

 

 

gobuster dir -t 50

-t flag ) 

: threads 값을 설정하는 flag로 기본값은 10이다. 

 

 

gobuster dir -v

-v flag ) 

: verbose를 나타내는 v로, 진행 내용을 출력하라는 의미

: found, missed에 해당하는 결과값을 모두 출력한다. 

 

 

gobuster dir -u http://abcdef.com -w wordlist.txt -i

-i flag ) 

: brute force의 결과로 출력된 directory의 IP address를 출력하라는 flag

 

 

gobuster dir -u http://abcdef.com -w wordlist.txt -t 50 -v

: target url에 wordlist.txt 안에 들어있는 단어들을 directory로 brute force해라.

: 이때, threads는 50이며 진행 내용을 출력해줘!

'Tool & Command' 카테고리의 다른 글

Sudo command  (0) 2023.03.03
tee command  (0) 2023.02.26
Pytorch(install error)  (0) 2023.01.18
ls command  (0) 2023.01.13
Chmod command  (0) 2023.01.13
Comments