Identifier / Programs / Linux and Unix
taskset
Get or set a process' CPU affinity or start a new process with a defined CPU affinity. tldr-pages
GTFOBins shell 1 ATT&CK technique 1 documented command
How taskset is abused
shell T1059.004 Command and Scripting Interpreter: Unix Shell
Each abuse is GTFOBins's category and the options and words it uses; the full write-up is on GTFOBins's page for taskset.
1 documented command
shell unprivileged, with sudo
taskset 1 /bin/shIdentifyThe command the identifier reads trips no Sigma process-creation rule. This command is 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 taskset. The identifier reads the line that runs taskset.
What detects it
Everyday use
Get a running process' CPU affinity by PID
taskset --pid --cpu-list process_idIdentifySet a running process' CPU affinity by PID
taskset --pid --cpu-list cpu_id process_idIdentifyStart a new process with affinity for a single CPU
taskset --cpu-list cpu_id commandIdentifyNone of the 3 examples the identifier reads matches GTFOBins abuse or trips a Sigma process-creation rule.
Options
Show every option of taskset
-coption. PID without a mask displays existing affinity. A PID of zero-pSet/get affinity of given PID instead of a new command (--pid)-aSet/get affinity of all threads of the PID (--all-tasks)-cSpecify mask as a cpu list, for example 1,3,4-8:2 (--cpu-list)