Skip to main content

Code style: black Downloads

sdto - subdomain takeover finder

Subdomain takeover scanner
Current count of fingerprints: 80

What is subdomain takeover?

Supported Services

acquia
activecampaign
aftership
agilecrm
aha
airee
anima
announcekit
aws/s3
bigcartel
bitbucket
brightcove
campaignmonitor
canny
cargo
cargocollective
cloudfront
desk
fastly
feedpress
flexbe
flywheel
frontify
gemfury
getresponse
ghost
gitbook
github
hatenablog
helpjuice
helprace
helpscout
heroku
hubspot
intercom
jazzhr
jetbrains
kajabi
kinsta
launchrock
mashery
netlify
ngrok
pagewiz
pantheon
pingdom
proposify
readme
readthedocs
s3bucket
shopify
shortio
simplebooklet
smartjob
smartling
smugmug
sprintful
statuspage
strikingly
surge
surveygizmo
surveysparrow
tave
teamwork
thinkific
tictail
tilda
tumbler
uberflip
unbounce
uptimerobot
uservoice
vend
webflow
wishpond
wix
wordpress
worksites.net
wufoo
zendesk

Installation:

to use as python library

pip install sdto

to use as a CLI tool

pip install sdto[cli]

or:

git clone https://github.com/scanfactory/sdto.git
cd sdto
poetry install

Usage as a CLI tool

Examples:

python3 -m sdto -t www.domain.com
python3 -m sdto -t www.domain.com -f path/to/custom-fingerprints-file.json
python3 -m sdto -t https://www.domain.com/
python3 -m sdto -t http://www.domain.com/
python3 -m sdto -t www.domain.com --no-ssl
python3 -m sdto -t www.domain.com -v --timeout 30
python3 -m sdto -t www.domain.com -H "user-agent" "your-custom-user-agent" -H "another-header" "header-value"
python3 -m sdto -t www.domain.com -F json
python3 -m sdto -t www.domain.com -o output.txt
python3 -m sdto -t www.domain.com -F json -o output.json
python3 -m sdto -t www.domain.com -F txt -o output.txt
python3 -m sdto -t www.domain.com -p http://127.0.0.1:8080 
python3 -m sdto -l subdomains-list.txt

Docker support

Build the image:

docker build -t sdto .

Run the container:

docker run -it --rm sdto -t www.domain.com -v

Using custom fingerprints

You can specify custom fingerprints file via -f path/to/file.json parameter. The expected json file format:

{
  "AWS/S3": {"pattern": "The specified bucket does not exist"},
  "BitBucket": {"pattern": "Repository not found"},
  "Fastly": {"pattern": "Fastly pattern\\: unknown domain\\:", "process_200": true}
}

Note that pattern value is expected to be a python regexp.

Usage as a python library

Example:

import re

from aiohttp import ClientSession
from sdto import check_target, RegexFingerprint


async def main():
    async with ClientSession() as cs:
        fingerprint = await check_target(
            cs=cs,
            target="sub.domain.com",
            ssl=True,
            proxy=None,
            fingerprints=[
                RegexFingerprint(
                    "Github", 
                    re.compile(r"There isn\'t a Github Pages site here\."),
                    process_200=False,
                )
            ]
        )
        if not fingerprint:
            print("No match")
        else:
            print(fingerprint.name)

Metadata

Release files for sdto 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdto 0.1.7
File Size Uploaded
sdto-0.1.7.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdto 0.1.7
File Interpreter ABI Platform
sdto-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 18.8 kB

Release files / sdto-0.1.7.tar.gz

Download URL sdto-0.1.7.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ace9068ba02a57036e68e1e5aebb55935e1fc7bccb45d615586a03a90e4a865f
BLAKE2b-256 checksum
How to use checksums
1b25397c341129daf095f9ebbf1eb6aaee3011aaea16bf7f323d204ab27b2ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.9.15 Darwin/21.4.0

Release files / sdto-0.1.7-py3-none-any.whl

Download URL sdto-0.1.7-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6770b763851b01604b14a9efbbb3dd2a2d634ba79a50a7637538b8622712549a
BLAKE2b-256 checksum
How to use checksums
14eef8d7e6f988aebc3243547890dfb7982832643f629f2846d2dacd534f9c2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.9.15 Darwin/21.4.0

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page