Identifier / Programs / Linux and Unix
setarch
Change the reported architecture for a program's execution, primarily used to modify how programs behave based on system architecture. Useful for compatibility testing or running legacy applications. tldr-pages
GTFOBins shell 1 ATT&CK technique 1 documented command
How setarch 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 setarch.
1 documented command
The 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 setarch. The identifier reads the line that runs setarch.
What detects it
Everyday use
Run a command as if the machine architecture is i686 (useful for running 32-bit apps on a 64-bit kernel)
setarch i686 commandIdentifyDisable randomization of the virtual address space
setarch linux32 --addr-no-randomize commandIdentifyOf the 3 examples the identifier reads, 1 matches GTFOBins abuse or trips a Sigma process-creation rule.