Question Analysis

On a Windows device, review the process execution logs to find instances where a built-in listing tool was piped into a string filter. Identify the process name that the attacker was searching for.

11ba69ee-902e-4a0f-b3b6-418aed7d7ddb
Question ID
6/16
Models Correct
1
Valid Answer
38%
Success Rate
Reference Answer

Human-validated correct answer for this question

lsass
Model Performance Comparison

See how different AI models performed on this question

ModelAnswerKQL QueryStatusAttemptsTimeCost
gemini-2.5-flash-preview-04-17
lsass
DeviceProcessEvents | where ActionType == "ProcessCreated" | where ProcessCommandLine contains "|" and (ProcessCommandLine contains "findstr" or ProcessCommandLine contains "find.exe" or ProcessCommandLine contains "Select-String") | project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, ProcessCommandLine
Correct
1
14.76s
0.0082
gpt-35-turbo
vssadmin.exe
DeviceProcessEvents | where ProcessCommandLine contains ' | findstr ' | project ExtractedProcessName = tostring(split(ProcessCommandLine, ' | findstr ')[0])
Incorrect
1
3.10s
0.0026
gpt-4-turbo-2024-04-09
cmd.exe
DeviceProcessEvents | where ActionType == 'ProcessCreated' and (InitiatingProcessCommandLine has 'dir' and InitiatingProcessCommandLine has 'findstr') | extend SearchedProcess = extract('findstr ["](.+?)["]', 1, InitiatingProcessCommandLine) | project DeviceName, InitiatingProcessCommandLine, SearchedProcess
Incorrect
4
44.45s
0.2099
gpt-4.1
No answer provided
No query generated
Incorrect
5
0.00s
0.0457
gpt-4.1-finetuned
No answer provided
No query generated
Incorrect
5
0.00s
0.0581
gpt-4.1-mini
No answer provided
No query generated
Incorrect
5
0.00s
0.0101
gpt-4.1-nano
No answer provided
No query generated
Incorrect
5
0.00s
0.0013
gpt-4o
No answer provided
No query generated
Incorrect
5
0.00s
0.0635
grok-3-beta
No answer provided
No query generated
Incorrect
5
0.00s
0.0951
grok-3-mini-beta
lsass
DeviceProcessEvents | where ProcessCommandLine contains '| findstr' | extend searchedFor = extract(@'findstr "(.*?)"', 1, ProcessCommandLine) | project TimeGenerated, DeviceName, ProcessCommandLine, searchedFor | order by TimeGenerated desc
Correct
1
15.30s
0.0017
o1-high
lsass
DeviceProcessEvents | where ActionType == "ProcessCreated" | where FileName in~ ("cmd.exe", "powershell.exe") | where ProcessCommandLine has_any ("tasklist", "net", "wmic", "dir", "sc") | where ProcessCommandLine has_any ("| find", "| findstr") | extend AttackerSearch = extract(@'\|(?:\s*)find(?:str)?\s+(?:"([^"]+)"|(\S+))', 1, ProcessCommandLine) | project TimeGenerated, DeviceName, InitiatingProcessAccountName, ProcessCommandLine, AttackerSearch | order by TimeGenerated desc
Correct
1
41.22s
0.1809
o1-low
No answer provided
No query generated
Incorrect
5
0.00s
0.8842
o3-mini-high
lsass
DeviceProcessEvents | where InitiatingProcessCommandLine has "tasklist" and InitiatingProcessCommandLine has "|" | where InitiatingProcessCommandLine has_any ("find", "findstr") | extend SearchedProcess = extract(@"(?i)\|\s*(?:findstr|find)\s+(?:/i\s+)?([^\s]+)", 1, InitiatingProcessCommandLine) | project TimeGenerated, DeviceName, InitiatingProcessCommandLine, SearchedProcess // Timerange will be set in function call.
Correct
1
12.84s
0.0099
o3-mini-low
cmd.exe
DeviceProcessEvents | where isnotempty(InitiatingProcessCommandLine) | where InitiatingProcessCommandLine contains "dir" and (InitiatingProcessCommandLine contains "| find " or InitiatingProcessCommandLine contains "| findstr ") | extend SearchedProcess = extract('(?i)\\|\\s*(?:findstr|find)\\s+"([^"]+)"', 1, InitiatingProcessCommandLine) | project TimeGenerated, DeviceName, InitiatingProcessFileName, ProcessCommandLine = InitiatingProcessCommandLine, SearchedProcess | order by TimeGenerated desc
Incorrect
5
126.47s
0.0583
o4-mini-high
lsass
DeviceProcessEvents // Look for any command line containing a pipe | where ProcessCommandLine contains "|" // Ensure a built-in listing tool is used before the pipe | where ProcessCommandLine matches regex "(?i)\\b(?:dir|ls|Get-ChildItem|tasklist|wmic)\\b\\s*\\|" // Ensure a string filter is called after the pipe | where ProcessCommandLine matches regex "(?i)\\|\\s*(?:findstr|grep)\\b" // Extract the term passed to findstr or grep (first non-quoted token) | extend SearchedTerm = extract("(?i)(?:findstr|grep)\\s+['\\\"]?([^'\\\"]+)", 1, ProcessCommandLine) | where isnotempty(SearchedTerm) // Summarize by the searched term, showing count and example devices/accounts | summarize EventCount = count(), AffectedDevices = make_set(DeviceName, 10), AffectedUsers = make_set(InitiatingProcessAccountName, 10) by SearchedTerm | project SearchedTerm, EventCount, AffectedDevices, AffectedUsers | order by EventCount desc
Correct
2
76.77s
0.0275
o4-mini-low
lsass
DeviceProcessEvents | where ActionType == "ProcessCreated" // Identify invocations of built-in listing tools piped into findstr | where ProcessCommandLine has "|" and ProcessCommandLine has "findstr" | where ProcessCommandLine has_any ("dir","tasklist") // Extract the search term passed to findstr | extend SearchTerm = extract(@"findstr\s+""?([^""\s]+)""?", 1, ProcessCommandLine) | where isnotempty(SearchTerm) // Select relevant details and count occurrences | project TimeGenerated, DeviceName, InitiatingProcessAccountName, SearchTerm, ProcessCommandLine | summarize Occurrences = count() by SearchTerm | sort by Occurrences desc
Correct
3
110.85s
0.0379