potential_credential_dumping_activity_via_lsass


Description

Detects process access requests to the LSASS process with specific call trace calls and access masks. This behaviour is expressed by many credential dumping tools such as Mimikatz, NanoDump, Invoke-Mimikatz, Procdump and even the Taskmgr dumping feature.

Query · yara_l

events:
    $process.metadata.event_type = "PROCESS_OPEN"
    re.regex($process.target.process.file.full_path, `\\lsass\.exe$`) nocase
    (
        strings.contains(strings.to_lower($process.target.resource.name), "0x1038") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x1438") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x143a") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x1fffff") //questionable, this one and others have been filtered out due to FP
    )
    (
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "dbgcore.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "dbghelp.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "kernel32.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "kernelbase.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "ntdll.dll")
    )
    NOT (
            strings.contains($process.principal.administrative_domain, "AUTHORI") or
            strings.contains($process.principal.administrative_domain, "AUTORI")
        )
    NOT (
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), ":\\windows\\temp\\asgard2-agent\\") and
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "\\thor\\thor64.exe+") and
        strings.contains(strings.to_upper($process.additional.fields["CallTrace"]), "|UNKNOWN(") and
        $process.target.resource.name = "0x103800" nocase
        )
    NOT re.regex($process.principal.process.file.full_path, `:\\Windows\\Sysmon64\.exe$`) nocase
    $process.principal.hostname = $hostname

  match:
    $hostname over 5m

  outcome:
    //example usage of specifying test hostname to adjust risk score
    $risk_score = max(if($process.principal.hostname = "hostname", 0, 15))
    $principal_process_pid = array_distinct($process.principal.process.pid)
    $principal_process_command_line = array_distinct($process.principal.process.command_line)
    $principal_process_file_sha256 = array_distinct($process.principal.process.file.sha256)
    $principal_process_file_full_path = array_distinct($process.principal.process.file.full_path)
    $principal_process_product_specfic_process_id = array_distinct($process.principal.process.product_specific_process_id)
    $principal_process_parent_process_product_specfic_process_id = array_distinct($process.principal.process.parent_process.product_specific_process_id)
    $target_process_pid = array_distinct($process.target.process.pid)
    $target_process_command_line = array_distinct($process.target.process.command_line)
    $target_process_file_sha256 = array_distinct($process.target.process.file.sha256)
    $target_process_file_full_path = array_distinct($process.target.process.file.full_path)
    $target_process_product_specfic_process_id = array_distinct($process.target.process.product_specific_process_id)
    $log_type = array_distinct(strings.concat($process.metadata.log_type,"/",$process.metadata.product_event_type))

  condition:
    $process
Raw source potential_credential_dumping_activity_via_lsass · YARA-L
Esc
Published by chronicle/detection-rules ↗, licensed under Apache 2.0 ↗. Reproduced here unmodified.
rule potential_credential_dumping_activity_via_lsass {

  meta:
    author = "Samir Bousseaden, Michael Haag"
    description = "Detects process access requests to the LSASS process with specific call trace calls and access masks. This behaviour is expressed by many credential dumping tools such as Mimikatz, NanoDump, Invoke-Mimikatz, Procdump and even the Taskmgr dumping feature."
    reference = "https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_access/proc_access_win_lsass_memdump.yml"
    license = "https://github.com/SigmaHQ/Detection-Rule-License/blob/main/LICENSE.Detection.Rules.md"
    rule_name = "Potential Credential Dumping Activity Via LSASS"
    sigma_uuid = "5ef9853e-4d0e-4a70-846f-a9ca37d876da"
    sigma_status = "experimental"
    rule_id = "mr_33474568-9a0a-4588-ba79-144ab7908f8e"
    tactic = "TA0006"
    technique = "T1003.001"
    type = "Detection"
    data_source = "Sysmon"
    platform = "Windows"
    severity = "Medium"
    priority = "Medium"
    false_positives = "Unknown"

  events:
    $process.metadata.event_type = "PROCESS_OPEN"
    re.regex($process.target.process.file.full_path, `\\lsass\.exe$`) nocase
    (
        strings.contains(strings.to_lower($process.target.resource.name), "0x1038") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x1438") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x143a") or
        strings.contains(strings.to_lower($process.target.resource.name), "0x1fffff") //questionable, this one and others have been filtered out due to FP
    )
    (
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "dbgcore.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "dbghelp.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "kernel32.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "kernelbase.dll") or
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "ntdll.dll")
    )
    NOT (
            strings.contains($process.principal.administrative_domain, "AUTHORI") or
            strings.contains($process.principal.administrative_domain, "AUTORI")
        )
    NOT (
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), ":\\windows\\temp\\asgard2-agent\\") and
        strings.contains(strings.to_lower($process.additional.fields["CallTrace"]), "\\thor\\thor64.exe+") and
        strings.contains(strings.to_upper($process.additional.fields["CallTrace"]), "|UNKNOWN(") and
        $process.target.resource.name = "0x103800" nocase
        )
    NOT re.regex($process.principal.process.file.full_path, `:\\Windows\\Sysmon64\.exe$`) nocase
    $process.principal.hostname = $hostname

  match:
    $hostname over 5m

  outcome:
    //example usage of specifying test hostname to adjust risk score
    $risk_score = max(if($process.principal.hostname = "hostname", 0, 15))
    $principal_process_pid = array_distinct($process.principal.process.pid)
    $principal_process_command_line = array_distinct($process.principal.process.command_line)
    $principal_process_file_sha256 = array_distinct($process.principal.process.file.sha256)
    $principal_process_file_full_path = array_distinct($process.principal.process.file.full_path)
    $principal_process_product_specfic_process_id = array_distinct($process.principal.process.product_specific_process_id)
    $principal_process_parent_process_product_specfic_process_id = array_distinct($process.principal.process.parent_process.product_specific_process_id)
    $target_process_pid = array_distinct($process.target.process.pid)
    $target_process_command_line = array_distinct($process.target.process.command_line)
    $target_process_file_sha256 = array_distinct($process.target.process.file.sha256)
    $target_process_file_full_path = array_distinct($process.target.process.file.full_path)
    $target_process_product_specfic_process_id = array_distinct($process.target.process.product_specific_process_id)
    $log_type = array_distinct(strings.concat($process.metadata.log_type,"/",$process.metadata.product_event_type))

  condition:
    $process
}

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.