OJ / gobuster

Directory/File, DNS and VHost busting tool written in Go
Apache License 2.0
10.24k stars 1.22k forks source link

Can't install gobuster #213

Closed lucas-hunter closed 4 years ago

lucas-hunter commented 4 years ago

Hey there, I know that this question have been asked and answered many times but none of the answers that I found have helped me to resolve my issue...

I am trying to install gobuster on my Ubuntu 16.04 but for some odd reason go get github.com/OJ/gobuster is not working and returns

package github.com/OJ/gobuster/v3/cli/cmd: cannot find package "github.com/OJ/gobuster/v3/cli/cmd" in any of: /usr/lib/go-1.6/src/github.com/OJ/gobuster/v3/cli/cmd (from $GOROOT) /home/nyx/go/src/github.com/OJ/gobuster/v3/cli/cmd (from $GOPATH)

I have also tried go install github.com/OJ/gobuster but it also returns

/usr/lib/go-1.6/src/github.com/OJ/gobuster/main.go:3:8: cannot find package "github.com/OJ/gobuster/v3/cli/cmd" in any of: /usr/lib/go-1.6/src/vendor/github.com/OJ/gobuster/v3/cli/cmd (vendor tree) /usr/lib/go-1.6/src/github.com/OJ/gobuster/v3/cli/cmd (from $GOROOT) /home/nyx/go/src/github.com/OJ/gobuster/v3/cli/cmd (from $GOPATH)

while looking for a solution i have manually defined $GOPATH like this: export GOPATH=$HOME/go, I also have downloaded go for the first time now

An alternative solution that crossed my mind was to download the zip archive and extract it in the locations mentioned on the return message so I tried to manually make the path exist but it kept returning the same thing.

I even tried to go run main.go but it returns the same thing...

This vendor tree is something new, it first returned that line when i executed go install github.com/OJ/gobuster so i can copy the output and paste it here

Also, when i was manually creating the paths, I noticed that the they are already halfway created, eg, this path was existent up until here /home/nyx/go/src/github.com/OJ

I appreciate any help, thank you in advance!

firefart commented 4 years ago

Hi @lucas-hunter, what is your current go version? You can check that by running go version

firefart commented 4 years ago

Oh I just saw from the stacktrace go-1.6 which looks like you are running go 1.6. You will need a more recent version of golang to get gobuster as it relies on go modules which were introduced after 1.6. So please try to update your go installation. If you installed it via your package manager try to update and if there is no newer version available you can try to remove it and install it by hand: https://golang.org/doc/install

lucas-hunter commented 4 years ago

Hey @FireFart , thank you for taking the time to help me with this one, I have installed the latest version of go (1.14.1) and then tried to install gobuster again through go get and go install but none of them worked out for me.

However, I got lucky with main.go since it ran the installation returning this

go: downloading golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4
go: downloading github.com/spf13/cobra v0.0.5
go: downloading github.com/google/uuid v1.1.1
go: downloading github.com/spf13/pflag v1.0.3
go: downloading golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7
Usage:
  gobuster [command]

Available Commands:
  dir         Uses directory/file brutceforcing mode
  dns         Uses DNS subdomain bruteforcing mode
  help        Help about any command
  vhost       Uses VHOST bruteforcing mode

Flags:
      --delay duration    Time each thread waits between requests (e.g. 1500ms)
  -h, --help              help for gobuster
  -z, --noprogress        Don't display progress
  -o, --output string     Output file to write results to (defaults to stdout)
  -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

Use "gobuster [command] --help" for more information about a command.

Now, judging by what i see here, this looks like it is job done but whenever I try to run a command eg. gobuster --help it keep saying gobuster: command not found, can you assume what may be causing this?

I looked through the folders where the files were installed and found an executable application named gobuster in ~/go/bin/ but it returns the same info as main.go when opened and returns gobuster: command not found when i try to run a gobuster command from that location, I also tried with sudo but it doesn't seem to make any difference, thank you once again!

OJ commented 4 years ago

Have you added ~/go/bin to your $PATH ?

lucas-hunter commented 4 years ago

Hey thanks a lot @OJ , I never knew that the app should be in $PATH in order for it to run, it all works perfectly now, thanks to both of you i appreciate the assistance