Skip to content
/ bird Public
generated from roerohan/Template

A simple website directory enumeration tool built with Golang.

License

Notifications You must be signed in to change notification settings

roerohan/bird

Repository files navigation

Issues


bird

A simple website directory enumeration tool built with `golang`.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

bird is a simple, multithreaded website directory enumeration tool. bird takes a list of URLs, a list of status codes which represent that the enumeration was successful, and a wordlist for fuzzing. Then, it can parallely enumerate routes on all the URLs with words from the wordlist provided and report the route which returned one of the success codes.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

To build a binary from source, you need the go runtime. Otherwise, you can just get the binary from the GitHub release.

  • golang

Installation

You can get the binary for your Operating System directly using wget, or download it from the GitHub releases.

wget https://github.com/roerohan/bird/releases/download/v0.1.6/bird

If you want to get it using the go CLI, follow the steps below.

  1. Get the package using go get.
go get github.com/roerohan/bird

Alternatively, you can clone the repository and build it from source.

  1. Clone the Repo
git clone https://github.com/roerohan/bird.git
  1. Install NPM packages
cd bird
go build -o ./bin/bird
  1. Use the binary inside the bin folder.
./bin/bird -u https://github.com -s 200 -w ./wordlist/common.txt

Usage

Usage of bird:
  -s value
        Status code for success, default 200
  -u value
        Target URL to be bruteforced [required]
  -w string
        Path to wordlist [required]

A sample wordlist is provided here.

An advantage of using bird is that you can fuzz multiple websites in parallel, as you can see in the second example below.

Examples

  1. To enumerate https://github.com with success codes 200, 302.
bird -u https://github.com -w ./wordlist/common.txt -s 200 -s 302
  1. To enumerate https://github.com and https://csivit.com with success code 200, 302. These sites will be enumerated in parallel.
bird -u https://github.com -u https://csivit.com -w ./rockyou.txt -s 200 -s 302
  1. The default status code is 200, so it is not necessary to pass the flag -s.
bird -u https://github.com -w ./wordlist/common.txt

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feat: Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

You are requested to follow the contribution guidelines specified in CONTRIBUTING.md while contributing to the project 😄.

License

Distributed under the MIT License. See LICENSE for more information.