Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.42 KB

File metadata and controls

60 lines (47 loc) · 2.42 KB
┏━╸┏━┓┏━┓┏━┓╻ ╻┏━┓┏━╸┏━╸┏━┓┏┓╻
┃╺┓┣┳┛┣━┫┣━┛┣━┫┣┳┛┣╸ ┃  ┃ ┃┃┗┫
┗━┛╹┗╸╹ ╹╹  ╹ ╹╹┗╸┗━╸┗━╸┗━┛╹ ╹
        ATTACK SURFACE MAPPING

About

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.

Tools

  • 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

Consistent Coding Practices

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
  • --nocolor flag
  • --verbose flag
  • --silent flag
  • --nostore flag
  • --nosource flag
  • LOGLEVEL=DEBUG support
    Allows detailed process tracing
  • Nice docstrings
  • SIGINT handling
  • Precise error messages
  • Rate limiting (if applicable)
  • Configurable DNS resolver (if applicable)

Architecture Overview

__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