Updated Jul 14, 2026

Recon

Pull passive SecurityTrails intel from domains

CLI client for SecurityTrails subdomain, WHOIS, and DNS modes.

Agent

overview

What haktrails does

haktrails is a Go client for the SecurityTrails API. Feed a domains FILE plus an api-key, pick a mode (subdomains, whois, historicaldns, associateddomains, associatedips, tags), and get passive results without probing the target.

Use it when you hold a SecurityTrails key and want vendor intel early. -t sets threads, but the API plan caps throughput. For historicaldns, set -type to a, aaaa, mx, ns, soa, or txt.

Trickest exposes haktrails as a managed Recon node that writes FILE and FOLDER. Seed httpx from subdomains mode. Prefer subfinder when you need many passive sources without a single-vendor key.

source github.com/hakluke/haktrails

use cases

Where haktrails fits

Enumerate subdomains passively

Run subdomains mode against a domains list to pull SecurityTrails' known subdomains without sending a single request to the target.

Pull historical DNS and WHOIS

Use historicaldns and historicalwhois modes to recover past records and registration data that reveal infrastructure changes and ownership over time. Set -type to pick the DNS record type.

Expand scope from one domain

Use associateddomains and associatedips modes to find related assets, broadening an engagement's scope from a single seed domain.

Seed a probing pipeline

Feed haktrails subdomains straight into httpx so the rest of the workflow runs against the full discovered surface.

reference

haktrails inputs and flags

14 inputs
NameTypeFlagDescription
domainsFILE·List of target domains to query, one per line.
api-keySTRING·SecurityTrails API key used to authenticate every request.
subdomainsBOOLEANsubdomainsSubdomains mode: pull known subdomains for each domain.
associateddomainsBOOLEANassociateddomainsAssociated domains mode: find domains related to each target to widen scope.
associatedipsBOOLEANassociatedipsAssociated IPs mode: return IP addresses linked to each domain.
historicaldnsBOOLEANhistoricaldnsHistorical DNS mode: return past DNS records (set -type for the record type).
whoisBOOLEANwhoisWHOIS mode: return current registration data.
typeSTRING-typeDNS record type for historical DNS queries: a, aaaa, mx, ns, soa, txt (default a).

Showing key inputs. haktrails exposes 14 inputs in total.

Full flag reference (14 inputs)
NameTypeFlagDescription
tagsBOOLEANtagsTags mode: return SecurityTrails tags for each domain.
typeSTRING-typeDNS record type for historical DNS queries: a, aaaa, mx, ns, soa, txt (default a).
whoisBOOLEANwhoisWhois mode: return current WHOIS registration data.
api-keySTRING·SecurityTrails API key used to authenticate every request.
companyBOOLEANcompanyCompany mode: return company details for each domain.
detailsBOOLEANdetailsDetails mode: return SecurityTrails record details for each domain.
domainsFILE·Target domains to query, one per line.
threadsSTRING-tNumber of threads to use; the API enforces its own rate limits (default 2).
subdomainsBOOLEANsubdomainsSubdomains mode: return known subdomains for each domain.
associatedipsBOOLEANassociatedipsAssociated IPs mode: return IP addresses linked to each domain.
historicaldnsBOOLEANhistoricaldnsHistorical DNS mode: return past DNS records for each domain.
subs-per-hostSTRING-bNumber of subdomains to send per request for the submission endpoint (default 100).
historicalwhoisBOOLEANhistoricalwhoisHistorical WHOIS mode: return past WHOIS registration data for each domain.
associateddomainsBOOLEANassociateddomainsAssociated domains mode: return domains related to each target.

example

Run haktrails

haktrails · command
# pull SecurityTrails subdomains for a domainecho example.com | haktrails subdomains
sample output
api.example.comwww.example.commail.example.comdev.example.comstaging.example.comvpn.example.comblog.example.comcdn.example.com…  (one subdomain per line, ready to pipe into httpx)

guidance

Choosing haktrails

Use when you have a SecurityTrails key and want passive subdomain, DNS, or WHOIS data without touching the target. Prefer subfinder for multi-source passive coverage. Follow with httpx for live checks.

subfinder

Aggregates passive subdomains from many sources. Broader coverage without a single-vendor key.

amass

Deeper OSINT and active enumeration. Wider asset graph than a single API client.

assetfinder

Lightweight passive subdomain finder. Fewer modes than haktrails.

faq

haktrails questions

Yes. Every request authenticates with an api-key. On the CLI the key often lives in ~/.config/haktrails/config.yaml; the Trickest node takes api-key as an input. Your plan sets quota; -t cannot push past API rate limits.

Run haktrails yourself

A domains list feeds haktrails, which queries SecurityTrails for subdomains and passes them to httpx for live probing before they land as a queryable output.

Facts on this page come from the live Trickest tool library.