Hacking Tools

Gungnir : Monitoring Certificate Transparency In Real-Time

Gungnir is a command-line tool written in Go that continuously monitors certificate transparency (CT) logs for newly issued SSL/TLS certificates.

Its primary purpose is to aid security researchers and penetration testers in discovering new domains and subdomains as soon as they are issued certificates, allowing for timely security testing.

The tool connects to multiple CT logs and actively watches for new certificate entries.

Whenever a new certificate is detected, Gungnir extracts the domains and subdomains present in the certificate’s subject alternative names (SANs) and Common Name (CN) and prints them to stdout in real-time.

By running Gungnir continuously, security professionals can stay ahead of the curve and rapidly identify potential attack surfaces as soon as new domains or subdomains become active on the web.

This proactive approach enables early reconnaissance, vulnerability scanning, and prompt remediation of any identified issues.

Key Features:

  • Real-time Monitoring: Actively monitors multiple CT logs for newly issued certificates.
  • Domain Extraction: Extracts domains and subdomains from certificate subject alternative names and common name.
  • Continuous Output: Prints discovered domains and subdomains to stdout as they are detected.
  • Customizable Filtering: Allows filtering output based a text file of root domains. Gungnir is designed to be a lightweight and efficient tool, making it suitable for running on various platforms, from local machines to cloud instances or containerized environments.

Installation

go install github.com/g0ldencybersec/gungnir/cmd/gungnir@latest

Usage

Options

Usage of gungnir:
  -debug    Debug CT logs to see if you are keeping up. Outputs to STDERR
  -r        Path to the list of root domains to filter against
  -v        Output go logs (500/429 errors) to STDERR
  -j        JSONL output cert info

To run the tool, use a text file of root domains you want to monitor: roots.txt. Then, run the gungnir module:

./gungnir -r roots.txt (filtered)
- or -
./gungnir (unfiltered)

Once the tool starts and initializes, it will print domains to stdout. So feel free to pipe the output into your favorite tool!

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

3 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

3 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago