subfinder/README.md

72 lines
3.8 KiB
Markdown
Raw Normal View History

2018-03-31 09:51:08 +00:00
# SubFinder
2018-04-06 23:45:23 +00:00
[![License](https://img.shields.io/badge/license-MIT-_red.svg)](https://opensource.org/licenses/MIT)
[![Twitter](https://img.shields.io/badge/twitter-@Ice3man543-blue.svg)](https://twitter.com/Ice3man543)
[![Twitter](https://img.shields.io/badge/twitter-@codingo__-blue.svg)](https://twitter.com/codingo_)
2018-03-31 09:51:08 +00:00
2018-04-07 08:15:33 +00:00
SubFinder is a subdomain discovery tool that uses various techniques to discover massive amounts of subdomains for any target. It has been aimed as a successor to the [sublist3r project](https://github.com/aboul3la/Sublist3r). SubFinder uses Passive Sources, Search Engines, Pastebins, Internet Archives, etc to find subdomains and then it uses a permutation module inspired by altdns to generate permutations and resolve them quickly using a powerful bruteforcing engine. It can also perform plain bruteforce if needed. The tool is highly customizable, and the code is built with a modular approach in mind making it easy to add functionalities and remove errors.
2018-03-31 09:51:08 +00:00
2018-04-09 04:41:48 +00:00
![SubFinder CLI Options](https://github.com/codingo/codingo.github.io/blob/master/assets/subfinder.png)
2018-04-07 08:14:03 +00:00
## Why?
2018-03-31 09:51:08 +00:00
2018-04-07 08:14:03 +00:00
This project began it's life as a Bug Bounty World slack channel discussion. We (@ice3man & @codingo) were talking about how the cornerstone subdomain tool at the time, sublist3r, appeared to have been abandoned. The goal of this project was to make a low dependancy, manageable project in Go that would continue to be maintained over time. I (@Ice3man) decided to rewrite the sublist3r project and posted about it. @codingo offered to contribute to the project and subfinder was born.
2018-04-04 16:54:30 +00:00
So finally after working hard, here is something that I hope you guys will :heart:.
## Features
2018-04-14 07:17:42 +00:00
- Simple and modular code base making it easy to contribute.
- Fast And Powerful Bruteforcing Module (In Development)
- Powerful Permutation generation engine. (In Development)
2018-04-22 16:07:40 +00:00
- Many Passive Data Sources (CertDB, CertSpotter, crtsh, DNSDumpster, FindSubdomains, Hackertarget, Netcraft, PassiveTotal, PTRArchive, SecurityTrails, Threatcrowd, VirusTotal, Waybackarchive, Threatminer)
2018-04-14 07:17:42 +00:00
## Install
The installation is easy. Git clone the repo and run go build.
```bash
2018-04-15 10:41:50 +00:00
go get github.com/ice3man543/subfinder
```
2018-04-15 13:34:56 +00:00
To configure it to work with certain services, you need to have an API key for them. These are the services that do not work without an API key.
- [Virustotal](https://www.virustotal.com/)
- [Passivetotal](http://passivetotal.org/)
- [SecurityTrails](http://securitytrails.com/)
2018-04-19 16:58:13 +00:00
Put these values in the $HOME/.config/subfinder/config.json file which will be created when you run the tool for the first time and you should be good to go.
2018-04-15 12:07:24 +00:00
2018-04-19 16:58:13 +00:00
> The tools creates a configuration directory in $HOME/.config/subfinder/. Please edit the config.json file created there after running the tool once without any options.
2018-04-15 16:58:28 +00:00
## Docker
Git clone the repo, then build and run subfinder in a container with the following commands
2018-04-17 09:21:18 +00:00
- Clone the repo using `git clone https://github.com/ice3man543/subfinder.git`
- Edit your `Dockerfile` to include your API keys
- Build your docker container
```bash
docker build -t subfinder .
```
2018-04-17 09:21:18 +00:00
- After building the container, run the following.
```bash
docker run --rm -it subfinder
```
2018-04-17 09:21:18 +00:00
> The above command is the same as running `-h`
2018-04-17 09:21:18 +00:00
For example, this runs the tool against uber.com and output the results to your host file system:
```bash
docker run --rm -it subfinder -d uber.com > uber.com.txt
```
2018-04-17 09:21:18 +00:00
> Note: `-o uber.com.txt` would output into the docker container, which is deleted once the process finishes, because of the `--rm` segment of the docker command)
2018-04-17 09:27:38 +00:00
## NOTE
This tool is currently in active development. So some features may not work or maybe broken. Please do a PR or create an Issue for any features, suggestions or ideas. Would love to hear from you guys.
## Acknowledgements
- @FranticFerret for his work on adding docker support.
## License
MIT License