Identifier / Programs / Linux and Unix
octave
A programming language for scientific computing. tldr-pages
GTFOBins file-read, file-write, shell 3 documented commands
How octave is abused
file-read
file-write
shell
Each abuse is GTFOBins's category and the options and words it uses; the full write-up is on GTFOBins's page for octave.
3 documented commands
file-read unprivileged, with sudo, as SUID
octave-cli --eval 'format none; fid = fopen("/path/to/input-file"); while(!feof(fid)); txt = fgetl(fid); disp(txt); endwhile; fclose(fid);'file-write unprivileged, with sudo, as SUID
octave-cli --eval 'fid = fopen("/path/to/output-file", "w"); fputs(fid, "DATA"); fclose(fid);'shell unprivileged, with sudo, as SUID
octave-cli --eval 'system("/bin/sh")'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 octave. The identifier reads the line of each that runs octave.
Everyday use
Start an interactive session
octaveIdentifyExecute a specific script file
octave path/to/script.mIdentifyExecute a script file with specific arguments
octave path/to/script.m argument1 argument2 ...IdentifyNone of the 3 examples the identifier reads matches GTFOBins abuse or trips a Sigma process-creation rule.