Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anirudhbiyani/findmytakeover
find dangling domains in a multi cloud environment
https://github.com/anirudhbiyani/findmytakeover
aws azure cloud dns gcp security security-tools subdomain subdomain-takeover
Last synced: 25 days ago
JSON representation
find dangling domains in a multi cloud environment
- Host: GitHub
- URL: https://github.com/anirudhbiyani/findmytakeover
- Owner: anirudhbiyani
- License: gpl-3.0
- Created: 2023-06-26T14:36:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-07T10:19:47.000Z (7 months ago)
- Last Synced: 2024-08-03T18:16:38.213Z (4 months ago)
- Topics: aws, azure, cloud, dns, gcp, security, security-tools, subdomain, subdomain-takeover
- Language: Python
- Homepage:
- Size: 618 KB
- Stars: 130
- Watchers: 1
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# findmytakeover
findmytakeover detects dangling DNS record in a multi cloud environment. It does this by scanning all the DNS zones and the infrastructure present within the configured cloud service provider either in a single account or multiple accounts and finding the DNS record for which the infrastructure behind it does not exist anymore rather than using wordlist. It can easily detect and report potential subdomain takeovers that exist.
This tool is not tested to run on non commercial Cloud Service Provider regions like AWS GovCloud, Azure Government or Google for Government but should be able to run without any issues.
![findmytakeover](findmytakeover.jpg "findmytakeover")
## Why?
They are a threat because they allow attackers to host infrastructure behind your domain which can be used for any sort of puropose and getting the entire traffic to an attacker-controlled domain with complete access to the domain’s content and resources.This can become a breeding ground for malicious resources manipulated by an attacker that the domain owner has no control over. This means that the attacker can completely exercise dominance over the domain name to run an illegal service, launch phishing campaigns on unsuspecting victims and malign your organization’s good name in the market.
## InstallationThere are depencies that are required to be installed based on the cloud provider that have been configured.
```
git clone https://github.com/anirudhbiyani/findmytakeover.git
cd findmytakeover/
pip3 install -r requirements.txt
```## Dependencies
Depending on the cloud provider, you would need permission read data. The following role would work for various cloud provider -
- Amazon Web Services - ViewOnlyRole and SecurityAudit
- Microsoft Azure - Reader
- Google Cloud - Viewer## Usage
```
# ./findmytakeover.py --help
usage: findmytakeover.py [-h] [-c CONFIG_FILE] [-d DUMP_FILE]options:
-h, --help show this help message and exit
-c CONFIG_FILE, --config-file CONFIG_FILE
Enter the path to the configuration file that you want the tool to use.
-d DUMP_FILE, --dump-file DUMP_FILE
Enter the path to where all the DNS and Infrastructre data would be saved.
```
The default value of the configuiration file would be the same directory where the tool is located and the configuration file would look like this.Thee configuration file looks like this.
```
exclude:
ipaddress:
- 100.1.0.0/16
domains:
- google.com
- example.com
dns:
aws:
enabled: false/true
accounts:
- 123456789012
- 098765432109
- 123123123123
credentials:gcp:
enabled: true/false
credentials:
accounts:
- project0
- project1
- project2azure:
enabled: false/true
credentials:
accounts:
- subscription1
- subscription2
- subscription3infra:
aws:
enabled: false/true
accounts:
- 123456789012
- 098765432109
- 123123123123
credentials:gcp:
enabled: true/false
credentials:
accounts:
- project0
- project1
- project2azure:
enabled: false/true
credentials:
accounts:
- subscription1
- subscription2
- subscription3
```## Limtitations
This tools cannot guarantee 100% protection against subdomain takeovers. This will not protect you from dangling NS designations at the moment.## Contributing
You can contribute to the project in many ways either by reporting bugs, writting documentation, or adding code.
Contributions are welcome! If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
`$ git checkout -b feature/your-feature-name`
- Make your changes and commit them:
`$ git commit -m "Add your feature description"`
- Push your changes to the forked repository:
`$ git push origin feature/your-feature-name`
- Open a pull request to the main repository.have any questions? hit it me on GitHub or Email.