Skip to main content

Some helper subdomain_takeover_tools to validate subdomain takeovers

Project description

Subdomain Takeover Tools

Latest Package version Build status Supported versions

A set of tools to validate the initial outcome of subtake.

Installation

  1. Install using pip:

    pip install subdomain_takeover_tools

    for windows:

    py -m pip install subdomain_takeover_tools

    Alternatively, you can download or clone this repo and call pip install -e ..

Confirming takeovers

All scripts support the following two parameters:

  • --strict: only report as vulnerable if the issue is not also applicable on hostname.tld and www.hostname.tld.
  • --inverse: do inverse reporting, so report all subdomains that are not vulnerable

Some scripts require a config file to be present, the location is .subdomain_takeover_tools.ini, an example of the file can be found below:

[azure]
subscription_id=44713cf2-8656-11ec-a8a3-0242ac120002
[github]
username=martinvw
access_token=44713cf2-8656-11ec-a8a3-0242ac120002
repo=44713cf2-8656-11ec-a8a3-0242ac120002
[fastly]
api_token=44713cf2-8656-11ec-a8a3-0242ac120002
service=44713cf2-8656-11ec-a8a3-0242ac120002
version=3

Confirming S3

Subtake has some false positives on Google Cloud buckets as S3 buckets, also some access denied's end up in the results.

The script confirm-s3.py will make sure that the bucket is actually vulnerable.

grep "\[s3 bucket: " subtake-output.txt | confirm_s3

Confirming ELB

Some patterns of elb are vulnerable while others are not, to filter them we can use our script:

grep "\[elasticbeanstalk: " subtake-output.txt | confirm_elb

Note: the parameter --strict is accepted here but will not lead to expected results.

Please note that some regions are not enabled by default, when you receive the following error:

botocore.exceptions.ClientError: An error occurred (InvalidClientTokenId) when calling the CheckDNSAvailability operation: The security token included in the request is invalid.

This could mean you have not yet enabled these, opt-in, regions, see https://console.aws.amazon.com/billing/home?#/account

Confirming GitHub

TODO

grep "\[github: " subtake-output.txt | confirm_github

Confirming Fastly

TODO

grep "\[github: " subtake-output.txt | confirm_github

Confirming Shopify

It seems that all current shopify examples are vulnerable, the following check just validates the DNS.

grep "\[shopify: " subtake-output.txt | confirm_shopify

Filtering Pantheon

Please note that for pantheon this repo currently only provides an initial check to eliminate some FALSE positives.

grep "\[pantheon: " subtake-output.txt | confirm_pantheon

Filtering Cargo Collective

Please note that for Cargo Collective this repo currently only provides an initial check to eliminate some FALSE positives.

grep "\[cargo: " subtake-output.txt | confirm_cargo

Separate tools

Extracting domain names

As part of my process I want to know the domains involved in my findings.

Example usage:

cut -f3 < subtake-output.txt | extract_domain_names | sort -u > involved.domains

Note that extract_domain_names also support groups, such as domain.(co.id|in.th|ph|vn), this will be expanded automatically.

Resolving from the authoritative DNS authority

For validation of the results I want to validate whether the DNS record is still accurate.

To do this we fetch the authoritative result's step by step from the authoritative DNS servers.

authoritative_resolve "github.com" "martinvw.nl"

Exporting and enriching

The subtake_enrich_and_export will split the existing output and add some additional columms:

  • has a wildcard
  • domain name
  • tld
  • still vulnerable
  • authoritative results
subtake_enrich_and_export < subtakee-output.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subdomain_takeover_tools-0.27.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

subdomain_takeover_tools-0.27.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file subdomain_takeover_tools-0.27.0.tar.gz.

File metadata

  • Download URL: subdomain_takeover_tools-0.27.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for subdomain_takeover_tools-0.27.0.tar.gz
Algorithm Hash digest
SHA256 aee1e7f56d4b67fc7f0e2eaa6af738d820eb5dedfa8d4aa96a047c8b9a0ac691
MD5 1fc90853a8e383fb068039482c49006f
BLAKE2b-256 5898f642faa344f97b0b828dce93d3b5325894cbf9d3d31d6775881a17802347

See more details on using hashes here.

File details

Details for the file subdomain_takeover_tools-0.27.0-py3-none-any.whl.

File metadata

  • Download URL: subdomain_takeover_tools-0.27.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for subdomain_takeover_tools-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92022a92ec8a8680162f1502d8e83f3f6dc5b5943e90d28ee69f4a05c927a582
MD5 731223c9e9dea075b3bfd391885bcf32
BLAKE2b-256 8bd414ad5bb484a7a9ada8d527694a33ca108d3ded32c6dcfc44252e88d6ffb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page