LoFP LoFP / false positives may be caused by administrators resetting spns or querying for spns. filter as needed.

Techniques

Sample rules

ServicePrincipalNames Discovery with SetSPN

Description

The following analytic detects the use of setspn.exe to query the domain for Service Principal Names (SPNs). This detection leverages Endpoint Detection and Response (EDR) data, focusing on specific command-line arguments associated with setspn.exe. Monitoring this activity is crucial as it often precedes Kerberoasting or Silver Ticket attacks, which can lead to credential theft. If confirmed malicious, an attacker could use the gathered SPNs to escalate privileges or persist within the environment, posing a significant security risk.

Detection logic


| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes
  WHERE `process_setspn` (Processes.process="*-t*"
    AND
    Processes.process="*-f*")
    OR
    (Processes.process="*-q*"
    AND
    Processes.process="**/**")
    OR
    (Processes.process="*-q*")
    OR
    (Processes.process="*-s*")
  BY Processes.action Processes.dest Processes.original_file_name
     Processes.parent_process Processes.parent_process_exec Processes.parent_process_guid
     Processes.parent_process_id Processes.parent_process_name Processes.parent_process_path
     Processes.process Processes.process_exec Processes.process_guid
     Processes.process_hash Processes.process_id Processes.process_integrity_level
     Processes.process_name Processes.process_path Processes.user
     Processes.user_id Processes.vendor_product

| `drop_dm_object_name(Processes)`

| `security_content_ctime(firstTime)`

| `security_content_ctime(lastTime)`

| `serviceprincipalnames_discovery_with_setspn_filter`