resolvr
Resolves domains and optionally filters on in-scope results.
Examples
Docs
root@kali:~/.../personal/resolvr$ ./resolvr.py -h
usage: resolvr [-h] [-v] [-q] [-i [INPUT]] [-o [OUTPUT]] [-s [SCOPE]]
[-O [OUT_OF_SCOPE]] [-n [NO_RESOLVE]]
Resolves domains and optionally filters on in-scope results
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-q, --quiet surpress extra output
-i [INPUT], --input [INPUT]
input list of domains to test (default stdin)
-o [OUTPUT], --output [OUTPUT]
output filename
-s [SCOPE], --scope [SCOPE]
input list of in-scope address ranges (default *)
-O [OUT_OF_SCOPE], --out-of-scope [OUT_OF_SCOPE]
out of scope hosts output filename
-n [NO_RESOLVE], --no-resolve [NO_RESOLVE]
non-resolved hosts output filename
Basic Usage
First, you need a list of domains and subdomains that are possibly a target, usually discovered through any number of subdomain enumeration techniques:
root@kali:~$ subbrute.py company.com -o discovered_subdomains_company.com.txt
company.com
dev.company.com
wiki.company.com
host2.company.com
...omitted for brevity...
Generally you want to take this list and feed it into resolvr, like so:
root@kali:~$ resolvr.py -i discovered_subdomains_company.com.txt -o resolvr_results_company.com.txt
___
/\_ \
_ __ __ ____ ___\//\ \ __ __ _ __
/\`'__\/'__`\ /',__\ / __`\\ \ \ /\ \/\ \ /\`'__\
\ \ \//\ __//\__, `\/\ \L\ \\_\ \_\ \ \_/ |\ \ \/
\ \_\\ \____\/\____/\ \____//\____\\ \___/ \ \_\
\/_/ \/____/\/___/ \/___/ \/____/ \/__/ \/_/
v1.0
info: Host company.com resolves to 255.255.255.254
error: Failed to resolve the host dev.company.com
error: Failed to resolve the host wiki.company.com
info: Host host2.company.com resolves to 255.255.255.255
...omitted for brevity...
Target Filtering
Additionally, if you know the exact CIDR ranges of which hosts are in scope, you can feed this in as well, which will be taken into account:
root@kali:~$ cat target_ranges.txt
255.255.255.255/32
root@kali:~$ resolvr.py -i discovered_subdomains_company.com.txt -o resolvr_results_company.com.txt -s target_ranges.txt
___
/\_ \
_ __ __ ____ ___\//\ \ __ __ _ __
/\`'__\/'__`\ /',__\ / __`\\ \ \ /\ \/\ \ /\`'__\
\ \ \//\ __//\__, `\/\ \L\ \\_\ \_\ \ \_/ |\ \ \/
\ \_\\ \____\/\____/\ \____//\____\\ \___/ \ \_\
\/_/ \/____/\/___/ \/___/ \/____/ \/__/ \/_/
v1.0
info: Host company.com resolves to 255.255.255.254 but is *not* in scope
error: Failed to resolve the host dev.company.com
error: Failed to resolve the host wiki.company.com
info: Host host2.company.com resolves to 255.255.255.255 and is in scope
...omitted for brevity...
Installation
Standard
pip3 install resolvr
Bleeding Edge
Use this only if the central package is out of date, and you need to install the latest package with the latest features.
python3 setup.py install
Development
- It is recommended that you use a virtual environment for development:
virtualenv --python python3 venvsource ./venv/bin/activate
python setup.py develop- Run with
resolvrlike normal - Upload to PyPI using the process outlined in https://packaging.python.org/tutorials/packaging-projects/
Metadata
Release files for resolvr 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| resolvr-1.0.tar.gz | 4.5 kB | Without provenance | Details for resolvr-1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| resolvr-1.0-py3-none-any.whl | Python 3 | none | any | Details for resolvr-1.0-py3-none-any.whl |
Total release size: 21.7 kB
Release files / resolvr-1.0.tar.gz
| Download URL | resolvr-1.0.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9304783bcdb54c2c95c2be0632ffcad5c1b9cbe5140b37ee335d5df3d15b9b97
|
|
BLAKE2b-256 checksum How to use checksums |
132d212079df5e855b72df767886e2deebc782a27699d56f89fd7df4322bbc11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|
Release files / resolvr-1.0-py3-none-any.whl
| Download URL | resolvr-1.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4dfe947ee716fd60ea6583e05a28c8e3593a8fd3e415bd8f0f6738657ca4200
|
|
BLAKE2b-256 checksum How to use checksums |
68e6479212f24e9ba0765815509df900b1748401492166790692449a987a0a02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|
Security for resolvr 1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.