Atomic Runbook: Search Domain DNS Queries in Chronicle

SkillSearch

Use when searching UDM DNS query and resolution logs for a domain in

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Atomic Runbook: Search Domain DNS Queries in Chronicle skill

What this skill tells your AI

The instructions your AI receives, as published by dandye/adk_runbooks in skills/atomic/domain-search-dns-chronicle/SKILL.md and read by ahel’s review.

ID: RB-ATOM-DOMAIN-004 Version: 1.0 Last_Updated: 2025-05-30 Purpose: To perform a detailed search for DNS query events associated with a specific domain/FQDN in Chronicle SIEM using the search_security_events tool. This helps identify which internal hosts resolved or attempted to resolve the domain. Parent_Runbook(s)/Protocol(s): rules-bank/indicator_handling_protocols.md#2-atomic-indicator-domain-name--fqdn, rb_domain_lookup_entity_chronicle.md Trigger: When detailed DNS resolution logs for a domain are needed, often after an initial entity lookup or if suspicious domain activity is suspected.


Inputs Required

  • domain_name: string - The domain name or FQDN to search for in DNS queries.
    • Source Example: Alert field, output from other enrichment runbooks.
  • hours_back (optional): integer - How many hours of historical data to search. Defaults to 72 (3 days).
  • max_events (optional): integer - Maximum event records to return. Defaults to 100.

Execution Steps

  1. Tool Selection:
    • Primary_Tool_MCP_Server: secops-mcp
    • Primary_Tool_Name: search_security_events
  2. Query Construction (for text parameter of the tool):
    • Base query: "DNS lookups for '{domain_name}'"
    • Append time window: "... in the last {hours_back} hours"
    • Example text value: "DNS lookups for 'malicious-example.com' in the last 48 hours"
  3. Parameter Mapping:
    • Map constructed query to text.
    • Map hours_back to hours_back.
    • Map max_events to max_events.
  4. Execute Tool: Call search_security_events.
    • AI Agent Note: Refer to rules-bank/mcp_tool_best_practices.md.
  5. Data Transformation/Extraction:
    • Focus on events.events list. Extract principal.hostname, principal.ip (client resolving), network.dns.question.name, and network.dns.answers.rdata (resolved IPs).

Outputs Expected

  • dns_query_events: list - List of UDM DNS event records.
  • translated_udm_query: string - The actual UDM query executed.
  • total_events_matched: integer.
  • clients_resolving_domain: list - Unique list of principal.hostname or principal.ip that queried the domain.
  • resolved_ips_from_dns: list - Unique list of IPs found in network.dns.answers.rdata.
  • output_status: string - ["Success", "NoEventsFound", "Failure"]
  • output_message: string (if Failure).

Decision Logic / Next Steps (If Applicable)

  • IF output_status is "Success":
    • Log key findings (e.g., number of clients, list of resolved IPs).
    • For each unique IP in resolved_ips_from_dns, consider initiating IP-specific atomic runbooks (e.g., RB-ATOM-IP-001, RB-ATOM-IP-003).
    • For each client in clients_resolving_domain, assess criticality using asset_inventory_guidelines.md.
    • If many clients resolved a known malicious domain, escalate.
    • Proceed to rb_domain_search_network_traffic_chronicle.md to look for actual connections to resolved IPs.
  • IF output_status is "NoEventsFound":
    • Log "No DNS queries found for domain {domain_name} in Chronicle for the last {hours_back} hours."
  • ELSE (output_status is "Failure"):
    • Log error: output_message.
    • Escalate: "Failed to search DNS queries for domain {domain_name} in Chronicle."

AI Agent Execution Notes

  • If total_events_matched is high, AI should summarize findings (e.g., top 5 client IPs, count of unique resolved IPs) rather than listing all events.
  • Correlate resolved_ips_from_dns with GTI reputation data if available.

Metrics Collection Points

  • Log execution time.
  • Log output_status, number of dns_query_events returned.
  • (Reference rules-bank/ai_performance_logging_requirements.md)

References

  • rules-bank/mcp_tool_best_practices.md
  • rules-bank/indicator_handling_protocols.md
  • rules-bank/analytical_query_patterns.md
  • rules-bank/ai_performance_logging_requirements.md

Signals

GitHub stars
84
Forks
14
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
domain-search-dns-chronicle
Source
github.com/dandye/adk_runbooks