Event Triggered Execution: Trap

Adversaries may establish persistence by executing malicious content triggered by an interrupt signal. The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d.

Adversaries can use this to register code to be executed when the shell encounters specific interrupts as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received.[1][2]

Angreifer können eine Persistenz herstellen, indem sie bösartige Inhalte ausführen, die durch ein Interrupt-Signal ausgelöst werden. Mit dem Befehl trap können Programme und Shells Befehle angeben, die beim Empfang von Interrupt-Signalen ausgeführt werden. Eine häufige Situation ist ein Skript, das die ordnungsgemässe Beendigung und Behandlung von üblichen Tastaturunterbrechungen wie ctrl+c und ctrl+d ermöglicht.

Angreifer können dies nutzen, um Code zu registrieren, der ausgeführt wird, wenn die Shell auf bestimmte Unterbrechungen stösst, und so einen Mechanismus zur Aufrechterhaltung des Systems schaffen. Trap-Befehle haben das folgende Format trap 'command list' signals, wobei "command list" ausgeführt wird, wenn "signals" empfangen wird.(Zitat: Trap Manual)(Zitat: Cyberciti Trap Statements)

Les adversaires peuvent établir la persistance en exécutant un contenu malveillant déclenché par un signal d'interruption. La commande trap permet aux programmes et aux shells de spécifier les commandes qui seront exécutées à la réception des signaux d'interruption. Une situation courante est un script permettant la terminaison et le traitement gracieux d'interruptions clavier courantes comme ctrl+c et ctrl+d.

Les adversaires peuvent utiliser ceci pour enregistrer du code à exécuter lorsque le shell rencontre des interruptions spécifiques comme mécanisme de persistance. Les commandes Trap ont le format suivant trap 'command list' signals où "command list" sera exécuté lorsque "signals" seront reçus.(Citation : Manuel Trap)(Citation : Cyberciti Trap Statements)

Gli avversari possono stabilire la persistenza eseguendo contenuti malevoli innescati da un segnale di interruzione. Il comando trap permette a programmi e shell di specificare comandi che saranno eseguiti alla ricezione di segnali di interruzione. Una situazione comune è uno script che permette la terminazione aggraziata e la gestione dei comuni interrupt da tastiera come ctrl+c e ctrl+d.

Gli avversari possono usarlo per registrare codice da eseguire quando la shell incontra interrupt specifici come meccanismo di persistenza. I comandi Trap sono del seguente formato trap 'command list' signals dove "command list" sarà eseguito quando si ricevono "signals".(Citazione: Trap Manual)(Citazione: Cyberciti Trap Statements)

Login
ID: T1546.005
Sub-technique of:  T1546
Platforms: Linux, macOS
Permissions Required: Administrator, User
Version: 1.0
Created: 24 January 2020
Last Modified: 24 March 2020
Translations:  DE FR IT EN
Provided by LAYER 8

Mitigations

This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.

Detection

ID Data Source Data Component
DS0017 Command Command Execution
DS0022 File File Creation
File Modification
DS0009 Process Process Creation

Trap commands must be registered for the shell or programs, so they appear in files. Monitoring files for suspicious or overly broad trap commands can narrow down suspicious behavior during an investigation. Monitor for suspicious processes executed through trap interrupts.

Trap-Befehle müssen für die Shell oder Programme registriert werden, damit sie in Dateien erscheinen. Die Überwachung von Dateien auf verdächtige oder übermässig weit gefasste Trap-Befehle kann verdächtiges Verhalten während einer Untersuchung eingrenzen. Überwachen Sie auf verdächtige Prozesse, die über Trap-Interrupts ausgeführt werden.

Les commandes pièges doivent être enregistrées pour le shell ou les programmes, afin qu'elles apparaissent dans les fichiers. La surveillance des fichiers à la recherche de commandes pièges suspectes ou trop larges peut permettre de réduire les comportements suspects au cours d'une enquête. Surveillez les processus suspects exécutés par le biais d'interruptions pièges.

I comandi trap devono essere registrati per la shell o i programmi, quindi appaiono nei file. Monitorare i file alla ricerca di comandi trap sospetti o troppo ampi può restringere il comportamento sospetto durante un'indagine. Monitorare i processi sospetti eseguiti tramite interrupt trap.

References