Subdomain brute force focused on speed and data serialization
663
Subdomain brute force focused on speed and data serialization. SimplyDomain uses a framework approach to build and deploy modules within. This allows for fast, easy and concise output to feed into larger OSINT feeds.
You have a few fundamental choices when installing simplydomain; you can use your host systems python install, you can use virtualenv to ensure maximum capability, or Docker to have a clean environment.
pip3 install simplydomain
or
python3 -m pip install simplydomain
setup.py to build from sourcegit clone [email protected]:SimplySecurity/simplydomain-pkg.git | cd simplydomain-pkg
python3 -m pip install
simplydomain supports a bin directory which is installed during the Python Setup PKG install. This now allows users to use their terminal of choice to use simplydomain.
To display Help:
simply_domain.py -h
To run a basic passive sub-domain search:
simply_domain.py -all uber.com
The developed Dockerfile provides you with an easy way to spin up an instance and gain results in a short period without breaking certain dependencies. I highly suggest you use docker Volumes to ensure data persistence:
docker run -ti simplysecurity/simplydomain -h
The simplydomain Python package allows you to expose a few critical areas of simplydomain to enable you easily extend or implement simplydomain in existing projects.
For reference the exposed API lives at https://github.com/SimplySecurity/simplydomain-pkg/simplydomain/__init__.py
Since simplydomain really at the core is a suite of high-level functions, there are only a few High Level API calls that can be made. For this reason, the exposed api is purely functioning vs. Class structures.
import simplydomain
simplydomain.<function>()
simplydomain consists of many Dynamic modules and Static modules too allow a programmer to search a large subset of sources for subdomains easily. Within the simplydomain API, this concept is broken down into executing a large scale search function, and specific Static modules.
Executes the main search function(s) of simplydomain.
Required Parameters:
Optional Parameters:
Implemented Definition
simplydomain.execute_search(
domain,
config={},
dnsservers=[],
debug='CRITICAL',
verbose=False,
wordlist_bruteforce=True,
wordlist_count=100,
raw_bruteforce=True,
raw_depth=3,
return_type='json',
):
Example(s)
>>> import simplydomain
>>> simplydomain.execute_search()
Executes the static raw brute-force module of simplydomain. This allows simplydomain to generate all applicable RFC character sets off a subdomain keyspace. This can range from 1 char() to 5 char() which can feasibly be brute forced.
Required Parameters:
Optional Parameters:
Implemented Definition
simplydomain.execute_raw_bruteforce(
domain,
config={},
dnsservers=[],
debug='CRITICAL',
verbose=False,
wordlist_count=0,
return_type='json',
wordlist_bruteforce=False,
raw_bruteforce=True,
raw_depth=2
):
Example(s)
>>> import simplydomain
>>> simplydomain.execute_raw_bruteforce('uber.com', raw_depth=3)
'{"args": {"debug": true, "domain": "uber.com",..}, "data":...."}'
Executes the static wordlist brute-force module of simplydomain. This allows simplydomain to get a range() of X subdomains for to be brute-forced. This can range from 1-1 Million words.
Required Parameters:
Optional Parameters:
Implemented Definition
simplydomain.execute_raw_bruteforce(
domain,
config={},
dnsservers=[],
debug='CRITICAL',
verbose=False,
wordlist_count=100,
return_type='json',
wordlist_bruteforce=True,
raw_bruteforce=False,
raw_depth=0
):
Example(s)
>>> import simplydomain
>>> simplydomain.execute_raw_bruteforce('uber.com', wordlist_count=100)
'{"args": {"debug": true, "domain": "uber.com",..}, "data":...."}'
Content type
Image
Digest
Size
342.4 MB
Last updated
almost 8 years ago
docker pull simplysecurity/simplydomain