LoFP LoFP / false positives will be present based on legitimate software, filtering may need to occur.

Techniques

Sample rules

Windows Rundll32 WebDav With Network Connection

Description

The following analytic detects the execution of rundll32.exe with command-line arguments loading davclnt.dll and the davsetcookie function to access a remote WebDav instance. It uses data from Endpoint Detection and Response (EDR) agents, correlating process execution and network traffic data. This activity is significant as it may indicate exploitation of CVE-2023-23397, a known vulnerability. If confirmed malicious, this could allow an attacker to establish unauthorized remote connections, potentially leading to data exfiltration or further network compromise.

Detection logic


| tstats `security_content_summariesonly` count 
  min(_time) as firstTime 
  max(_time) as lastTime 
FROM datamodel=Endpoint.Processes where 
  Processes.parent_process_name=svchost.exe
  `process_rundll32` 
  Processes.process IN (
    "*\\windows\\system32\\davclnt.dll,*davsetcookie*", 
    "*\\windows\\syswow64\\davclnt.dll,*davsetcookie*") 
by host _time span=1h 
  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)` 

| rename dest as src 

| join host process_id
[
  
| tstats `security_content_summariesonly` count 
    latest(All_Traffic.dest) as dest
    latest(All_Traffic.dest_ip) as dest_ip 
    latest(All_Traffic.dest_port) as dest_port
  FROM datamodel=Network_Traffic.All_Traffic where 
    All_Traffic.dest_port!=0 
    NOT (All_Traffic.dest_ip IN (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)) 
  by host All_Traffic.action All_Traffic.app All_Traffic.bytes All_Traffic.bytes_in All_Traffic.bytes_out
          All_Traffic.dest  All_Traffic.dest_ip All_Traffic.dest_port All_Traffic.dvc All_Traffic.protocol
          All_Traffic.protocol_version All_Traffic.src All_Traffic.src_ip All_Traffic.src_port
          All_Traffic.transport All_Traffic.user All_Traffic.vendor_product All_Traffic.direction
          All_Traffic.process_id
  
| `drop_dm_object_name(All_Traffic)`
] 

| `windows_rundll32_webdav_with_network_connection_filter`

Windows Rundll32 WebDAV Request

Description

The following analytic identifies the execution of rundll32.exe with command-line arguments loading davclnt.dll and the davsetcookie function to access a remote WebDAV instance. This detection leverages data from Endpoint Detection and Response (EDR) agents, focusing on process names and command-line executions. This activity is significant as it may indicate an attempt to exploit CVE-2023-23397, a known vulnerability. If confirmed malicious, this could allow an attacker to execute remote code or exfiltrate data, posing a severe threat to the environment.

Detection logic


| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=rundll32.exe Processes.process IN ("*\\windows\\system32\\davclnt.dll,*davsetcookie*","*\\windows\\syswow64\\davclnt.dll,*davsetcookie*") 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)` 
| `windows_rundll32_webdav_request_filter`