๐ŸŽฏ Objectives

May 15, 2026 ยท View on GitHub

Test application running state Audit python code with CodeQL

MadeWitVSCode AutomatedWith AuditedWith

๐ŸŽฏ Objectives

Important

The tool was fully refactored to a v2 and is currently in BETA. See the current version here.

Script to automate, when possible, the passive reconnaissance performed on a website prior to an assessment (no direct hit on the target).

Also used to guide a reconnaissance phase by defining all steps (manual or automated) that must be mandatory performed.

๐Ÿ“ฆ Requirements

๐Ÿ’ฌ Execution tested on the following 64 bits versions of Python via this workflow and this script:

VersionSupported?
< 3.12โŒ
3.12โœ…
3.13โœ…
3.14โœ…

๐Ÿ’ป Installation

Use the following command:

pip install --no-cache git+https://github.com/righettod/website-passive-reconnaissance.git

๐Ÿ”‘ API keys file

Note: The script assume that an API key binded to the free version of the API is used of each service.

API keys are expected to be provided within an INI file having the following structure:

[API_KEYS]
;See https://www.shodan.io/
shodan=xxx
;See https://intelx.io/
intelx=xxx
;See https://buckets.grayhatwarfare.com/docs/api/v1
grayhatwarfare=xxx 
;See https://viewdns.info/api/
viewdns=xxx
;See https://dnsdumpster.com/developer/
dnsdumpster=xxx
;See https://docs.leakix.net/docs/api/authentication/
leakix=xxx
;See https://serpapi.com/
;Used for Google Dorks in priority to direct search
serp=xxx
;See https://hunter.io/api
hunter=xxx

๐Ÿ‘ฉโ€๐Ÿ’ป Usage examples

$ wpr --help                                                                                   
usage: wpr [-h] [-v] -d DOMAIN_NAME [-a API_KEY_FILE] [-n NAME_SERVER] [-t REQUEST_TIMEOUT] [-m MOBILE_APP_STORE_COUNTRY_CODE]

options:
  -h, --help            show this help message and exit
  -v                    show program's version number and exit  
  -a API_KEY_FILE       Configuration INI file with all API keys (ex: conf.ini).
  -n NAME_SERVER        Name server to use for the DNS query (ex: 8.8.8.8), default to the system defined one.
  -t REQUEST_TIMEOUT    Delay in seconds allowed for a HTTP request to reply before to fall in timeout (default to 240 seconds).
  -m MOBILE_APP_STORE_COUNTRY_CODE
                        Country code to define in which store mobile app will be searched (default to LU).

required arguments:
  -d DOMAIN_NAME        Domain to analyse (ex: righettod.eu).
wpr -d righettod.eu
wpr -d righettod.eu -n 8.8.8.8
wpr -d righettod.eu -n 8.8.8.8 -m FR
wpr -d righettod.eu -n 8.8.8.8 -t 30
wpr -d righettod.eu -a api_keys.ini
wpr -d righettod.eu -a api_keys.ini -n 8.8.8.8

๐Ÿง‘โ€๐Ÿ’ป Migration to V2 & Development

Choices

Project

cd src/wpr
uv run main.py -d righettod.eu

Update project version

Use this command:

uv run hatch version beta