Ceplin Command Identifier

Identifier / Programs / Windows

findstr.exe

Searches for patterns of text in files. Windows commands reference

LOLBAS ADS, Credentials, Download 13 Sigma rules name it 9 ATT&CK techniques 4 documented commands 12 known copies with hashes

Opens the identifier with your command. It is read in your browser and sent nowhere.

How findstr.exe is abused

documented by LOLBAS

ADS T1564.004 Hide Artifacts: NTFS File Attributes

/vPrints only lines that don't contain a match. Windows commands reference
/lProcesses search strings literally. Windows commands reference

Credentials T1552.001 Unsecured Credentials: Credentials In Files

/sSearches the current directory and all subdirectories. Windows commands reference
/iIgnores the case of the characters when searching for the string. Windows commands reference

Download T1105 Ingress Tool Transfer

/vPrints only lines that don't contain a match. Windows commands reference
/lProcesses search strings literally. Windows commands reference

Each abuse is LOLBAS's category and the options and words it uses; the full write-up is on LOLBAS's page for findstr.exe.

4 documented commands

from LOLBAS, each read by the identifier

ADS T1564.004 Hide Artifacts: NTFS File Attributes User privileges

Searches for the string W3AllLov3LolBas, since it does not exist (/V) the specified .exe file is written to an Alternate Data Stream (ADS) of the specified target file.

findstr /V /L W3AllLov3LolBas {PATH_ABSOLUTE:.exe} > {PATH_ABSOLUTE}:file.exe
Identify

Trips no Sigma process-creation rule.

ADS T1564.004 Hide Artifacts: NTFS File Attributes User privileges

Searches for the string W3AllLov3LolBas, since it does not exist (/V) file.exe is written to an Alternate Data Stream (ADS) of the file.txt file.

findstr /V /L W3AllLov3LolBas {PATH_SMB:.exe} > {PATH_ABSOLUTE}:file.exe
Identify

Trips 1 Sigma rule: mediumRemote File Download Via Findstr.EXE by Furkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)

Credentials T1552.001 Unsecured Credentials: Credentials In Files User privileges

Search for stored password in Group Policy files stored on SYSVOL.

findstr /S /I cpassword \\sysvol\policies\*.xml
Identify

Trips 4 Sigma rules: highFindstr GPP Passwords by frack113; mediumPotential Password Reconnaissance Via Findstr.EXE by Josh Nickels; mediumSuspicious SYSVOL Domain Group Policy Access by Markus Neis, Jonhnathan Ribeiro, oscd.community; lowInsensitive Subfolder Search Via Findstr.EXE by Furkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)

Download T1105 Ingress Tool Transfer User privileges

Searches for the string W3AllLov3LolBas, since it does not exist (/V) file.exe is downloaded to the target file.

findstr /V /L W3AllLov3LolBas {PATH_SMB:.exe} > {PATH_ABSOLUTE:.exe}
Identify

Trips 1 Sigma rule: mediumRemote File Download Via Findstr.EXE by Furkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)

3 of the 4 commands the identifier reads trip a Sigma process-creation rule; 1 trips none. These commands and their descriptions are from LOLBAS’s entry for findstr.exe, by Oddvar Moe, at commit 2056cb766250 of 2026-09-26, under the GPL-3.0 and LOLBAS’s notice, with no warranty. Changed: Markdown is shown formatted. The source is in lolbas-gtfobins-commands.json.gz, and the full entry is on LOLBAS’s page for findstr.exe. The identifier reads each with LOLBAS’s placeholders filled in: a URL as https://example.com/file, a share as \\192.0.2.10\share\file, a path as C:\Data\file and a command as calc.exe.

What detects it

Sigma process creation rules
highLSASS Process Reconnaissance Via Findstr.EXEFlorian Roth (Nextron Systems)
mediumRemote File Download Via Findstr.EXEFurkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
mediumFindstr Launching .lnk FileTrent Liffick
mediumPermission Misconfiguration Reconnaissance Via Findstr.EXENasreddine Bencherchali (Nextron Systems)
mediumSecurity Tools Keyword Lookup Via Findstr.EXENasreddine Bencherchali (Nextron Systems), frack113
lowInsensitive Subfolder Search Via Findstr.EXEFurkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
highSuspicious Spool Service Child ProcessJustin C. (@endisphotic), @dreadphones (detection), Thomas Patzke (Sigma rule)
highWebshell Detection With Command Line KeywordsFlorian Roth (Nextron Systems), Jonhnathan Ribeiro, Anton Kutepov, oscd.community, Chad Hudson, Matt Anderson
mediumPrivate Keys Reconnaissance Via CommandLine Toolsfrack113, Nasreddine Bencherchali (Nextron Systems)
T1027.003Obfuscated Files or Information: Steganography
T1036Masquerading
T1105Ingress Tool Transfer
T1202Indirect Command Execution
T1218System Binary Proxy Execution
T1518.001Software Discovery: Security Software Discovery
T1552.001Unsecured Credentials: Credentials In Files
T1552.006Unsecured Credentials: Group Policy Preferences
T1564.004Hide Artifacts: NTFS File Attributes

Is it the real findstr.exe?

file version info and known copies
Installed inC:\Windows\system32\
C:\Windows\SysWOW64\
Signed byMicrosoft Windows
ProductMicrosoft Windows Operating System, Microsoft Corporation
DescriptionFind String (QGREP) Utility

12 known copies

10.0.22000.1 (WinBuild.160101.0800) · C:\WINDOWS\SysWOW64\findstr.exe · signed by Microsoft Windows

4332173c1585b767864db04a042ba6f2a228e8cc7b040821344903eaff6817c3

10.0.22000.1 (WinBuild.160101.0800) · C:\WINDOWS\system32\findstr.exe · signed by Microsoft Windows

718dcdb4498fa61c7cc6b98bd369432751f73759e7f04e0d01b9569fb1bf535e

10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\findstr.exe · signed by Microsoft Windows

1900c48fdb1c2ddfa59c37ba86affa502d44af55f313d0d53fac60d9b96943b6

10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\system32\findstr.exe · signed by Microsoft Windows

b29be6da54121f5d9350c545ececce26f30a7f209ce0d9aaea8e00c27dda27a2

10.0.18362.1 (WinBuild.160101.0800) · C:\WINDOWS\SysWOW64\findstr.exe · signed by Microsoft Windows

3e543c71749de0e95d39eaf328fca253d5f025fd85ecb07670a1536ec87015da

10.0.18362.1 (WinBuild.160101.0800) · C:\WINDOWS\system32\findstr.exe · signed by Microsoft Windows

e09620769585acda7f33096f8cacc609d1bfa327d9da051a597ffffefd96172d

10.0.17763.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\findstr.exe · signed by Microsoft Windows

6212e4eb194109c71815ace1ed8d56139dda04be2f6e1bb01eac9315c6fb5abf

10.0.17763.1 (WinBuild.160101.0800) · C:\Windows\system32\findstr.exe · signed by Microsoft Windows

750ab5e1f3eb18cc42a4a4c7bab27753f6b26fb9752ad3861833753091044281

10.0.14393.0 (rs1_release.160715-1616) · C:\Windows\system32\findstr.exe · signed by Microsoft Windows

2956f7bc863498dfcc868ce7df4c9c131a4a5c17b065658456afef7566ace1ee

10.0.14393.0 (rs1_release.160715-1616) · C:\Windows\SysWOW64\findstr.exe · signed by Microsoft Windows

ea0c8f0ccb347acf136a9cf692a06f9fbd13604ce8ec2327d58cad7eefa0144f

6.3.9600.16384 (winblue_rtm.130821-1623) · C:\windows\system32\findstr.exe · not signed

95d90aeccb3439ae2460468d249b3034f55074564ee48647b07c283037acea53

6.3.9600.16384 (winblue_rtm.130821-1623) · C:\windows\SysWOW64\findstr.exe · not signed

d1d8a3b724bc9637e7602b5c6ed0df34378e6ff84e833182bc856e7ed531d388

From the file’s version info and the copies recorded by xCyclopedia (MIT). A copy in another folder, signed by someone else or with another hash is not necessarily malicious, but it is worth a closer look. In Ceplin, "<sha256>".whatis() says which known copy a hash is.

Everyday use

from tldr-pages, CC BY 4.0

Find one or more strings in all files

findstr "string1 string2 ..." *Identify

Find one or more strings in a piped command's output

dir | findstr "string1 string2 ..."Identify

Find one or more strings in all files recursively

findstr /s "string1 string2 ..." *Identify
/sSearches the current directory and all subdirectories. Windows commands reference

None of the 3 examples the identifier reads matches LOLBAS abuse or trips a Sigma process-creation rule.

Options

19 in Windows commands reference
Show every option of findstr.exe
/bMatches the text pattern if it is at the beginning of a line.
/eMatches the text pattern if it is at the end of a line.
/lProcesses search strings literally.
/rProcesses search strings as regular expressions.
/sSearches the current directory and all subdirectories.
/iIgnores the case of the characters when searching for the string.
/xPrints lines that match exactly.
/vPrints only lines that don't contain a match.
/nPrints the line number of each line that matches.
/mPrints only the file name if a file contains a match.
/oPrints character offset before each matching line.
/pSkips files with non-printable characters.
/offDoes not skip files that have the offline attribute set.
/fGets a file list from the specified file.
/cUses the specified text as a literal search string.
/gGets search strings from the specified file.
/dSearches the specified list of directories.
/aSpecifies color attributes with two hexadecimal digits.
/?Displays Help at the command prompt.