Crates.io | findomain |
lib.rs | findomain |
version | 2.1.5 |
source | src |
created_at | 2019-08-10 17:24:23.643354 |
updated_at | 2020-12-11 18:59:49.510942 |
description | The fastest and cross-platform subdomain enumerator, do not waste your time. |
homepage | |
repository | https://github.com/edu4rdshl/findomain |
max_upload_size | |
id | 155627 |
size | 2,244,942 |
If you don't want to deal with servers and complex configurations for doing recon, Findomain offers a dedicated monitoring service hosted in Amazon, that allow you to monitor your target domains with multiple top tools (OWASP Amass, Sublist3r, Assetfinder and Subfinder) and send alerts to Discord, Slack, Telegram, Email or Push Notifications (Android/iOS/Smart Watch/Desktop) when new subdomains are found. The only you need to do is configure a file with your email address (if applicable) or/and webhooks/Telegram chat information and put your domains in another file, once you have done that you have a full automated subdomains monitoring service that keep you up to date with new subdomains discovered, Host IP, HTTP Status, Screenshots of the HTTP websites, Open Ports, Subdomains CNAME and more. All your data is securely saved in a relational database and you can request a dump of your data whenever you want.
When you finish your payment, you will receive an email with the server credentials and documentation about how to fill the configuration file and other details.
Learn more about the monitoring server following this link.
Demos:
Screenshots:
The fastest and cross-platform subdomain enumerator.
The next table offers you the comparison about what is in Plus version that is not in free version (current repo).
Implemented features:
Feature | Plus Version Support | Free Version Support |
---|---|---|
Core features | Yes | Yes |
Check subdomains HTTP/S status | Yes | No |
Discover HTML/HTTP data from the hosts | Yes | No |
Check subdomains open ports with service and version detection (using Nmap) | Yes | No |
Track CNAME for subdomains | Yes | No |
Support for posting HOST, IP, HTTP status and open ports to webhook notifications | Yes | No |
Support for automatic detection/read of default configuration file | Yes | No |
Save Host, IP, HTTP Status and Open Ports to database | Yes | No |
Option to exclude sources | Yes | No |
Filter or exclude subdomains containing specific keywords. | Yes | No |
Save root domain to database | Yes | No |
Custom user agent configuration | Yes | No |
Rate limit user configuration | Yes | No |
Output files written in real-time | Yes | No |
Output to unique file while monitoring | Yes | No |
Option to save subdomains data to database without setting up monitoring | Yes | No |
Option to save data in your database if the webhook timeout | Yes | No |
Built-in top faster DNS IP addresses | Yes | No |
Subdomains screenshots of HTTP server support (requires Chrome/Chromium to run in headless mode) | Yes | No |
Use job names to identify targets (see this tweet) | Yes | No |
Update the existing data in the database | Yes | No |
Email notifications. | Yes | No |
Push notifications through Pushover. | Yes | No |
Track CNAME for subdomains | Yes | No |
Planned features:
Feature | Plus Version Plans | Free Version Plans |
---|---|---|
Project Sonar integration | Yes | No |
Shodan source support | Yes | No |
Elastic search support | Yes | No |
SQLite output | Yes | No |
It table gives you a idea why you should use findomain and what it can do for you. The domain used for the test was aol.com in the following BlackArch virtual machine:
Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-3.1)
Kernel: 5.2.6-arch1-1-ARCH
CPU: Intel (Skylake, IBRS) (4) @ 2.904GHz
Memory: 139MiB / 3943MiB
The tool used to calculate the time, is the time
command in Linux.
Enumeration Tool | Search Time | Total Subdomains Found | CPU Usage | RAM Usage |
---|---|---|---|---|
Findomain | real 0m5.515s | 84110 | Very Low | Very Low |
Summary: 84110 subdomains in 5.5 seconds.
--threads
option.See Subdomains Enumeration: what is, how to do it, monitoring automation using webhooks and centralizing your findings for a detailed guide including real world examples of how you get the most out of the tool.
It tool doesn't use the common methods for sub(domains) discover, the tool uses Certificate Transparency logs and specific well tested APIs to find subdomains. It method make it tool the most faster and reliable. The tool make use of multiple public available APIs to perform the search. If you want to know more about Certificate Transparency logs, read https://www.certificate-transparency.org/
APIs that we are using at the moment:
**
*
**
**
Notes
APIs marked with **
, require an access token to work. Search in the Findomain documentation how to configure and use it.
APIs marked with *
can optionally be used with an access token, create one if you start experiencing problems with that APIs. Search in the Findomain documentation how to configure and use it.
More APIs?
If you know other APIs that should be added, comment here.
In order to make sure Findomain will not be broken on some commit I have created the develop branch where new features and improvements are pushed before they go to master branch. In resume the difference is: develop branch and beta releases aren't ready for production purposes but testing or development purposes and master branch and non-beta releases are ready for production purposes. If you are a developer or want to be a beta tester of the new features that are added to Findomain then use the develop branch, otherwise always use the master branch. Every new feature is tested before it goes to master by the Findomain beta testers that are only (@sumgr0) at the moment, I will appreciate if you join to the testing process, just send me a DM in Twitter (@edu4rdshl).
If you are a packager of Findomain for X system distribution always go for the master branch if using git or non-beta releases if using releases model.
Build the development version:
You need to have rust, make and perl installed in your system first.
$ git clone https://github.com/Edu4rdSHL/findomain.git -b develop # Only the develop branch is needed
$ cd findomain
$ cargo build --release
$ ./target/release/findomain
To update the repository when new commits are added, just go to the folder where Findomain's develop branch was cloned and excute:
$ git pull
$ cargo build --release
$ ./target/release/findomain
We offer binarys ready to use for the following platforms (all are for 64 bits only):
If you need to run Findomain in another platform, continue reading the documentation.
If you have a problem or a feature request, open an issue.
This project exists thanks to all the people who contribute. See the contributors list.