┏━╸┏━┓┏━┓┏━┓╻ ╻┏━┓┏━╸┏━╸┏━┓┏┓╻
┃╺┓┣┳┛┣━┫┣━┛┣━┫┣┳┛┣╸ ┃ ┃ ┃┃┗┫
┗━┛╹┗╸╹ ╹╹ ╹ ╹╹┗╸┗━╸┗━╸┗━┛╹ ╹
ATTACK SURFACE MAPPING
GraphRecon is a set of python tools dedicated to model the attack surface of a target in the form of a graph using the Open Asset Model.
- dnsdump
Extract data from DNS records - dnsfuzz
Enumerate subdomain by querying A and AAAA record based on a wordlist - txtminer
Extract products based on TXT domain verification tokens - certdump
Extract data from x509 certificate - apex
Return the apex of a given domain
All tools are developed using the same coding standards to ensure uniformity.
- Available as both a library and a script
Supports manual use as well as automation - Data stored in an asset store
Enables structured exploration of the attack surface as an asset graph - Command pattern
Makes tasks easy to queue, schedule, and run in parallel -
--nocolorflag -
--verboseflag -
--silentflag -
--nostoreflag -
--nosourceflag -
LOGLEVEL=DEBUGsupport
Allows detailed process tracing - Nice docstrings
- SIGINT handling
- Precise error messages
- Rate limiting (if applicable)
- Configurable DNS resolver (if applicable)
__main__.py handles CLI arguments, displays output, and invokes commands.
service.py implements the commands. It is responsible for translating user input into domain-level primitives and for handling everything needed to ensure that run() executes without errors. It also handles storage, rate limiting, and other concerns surrounding the core logic.
core.py contains the tool’s core logic.
© Oppliger J