Ceplin Command Identifier

Identifier / Programs / Linux and Unix

m4

Macro processor. tldr-pages

GTFOBins command, file-read, shell 3 documented commands

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

How m4 is abused

documented by GTFOBins

command

file-read

shell

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

3 documented commands

from GTFOBins, each read by the identifier

command unprivileged, with sudo, as SUID

echo 'esyscmd(/path/to/command)' | m4
Identify

file-read unprivileged, with sudo, as SUID

m4 /path/to/input-file
Identify

shell unprivileged, with sudo, as SUID

echo 'esyscmd(/bin/sh 0<&2 1>&2)' | m4
Identify

None of the 3 commands the identifier reads trips a Sigma process-creation rule. These commands are from GTFOBins, at commit acd524623f9c of 2026-05-27, under the GPL-3.0, with no warranty. Changed: Markdown is shown formatted. The source is in lolbas-gtfobins-commands.json.gz, and the full entry is on GTFOBins’s page for m4. The identifier reads the line of each that runs m4.

Everyday use

from tldr-pages, CC BY 4.0

Process macros in a file

m4 path/to/fileIdentify

Define a macro before processing files

m4 --define macro_name=macro_value path/to/fileIdentify

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