Abuse Elevation Control Mechanism

Adversaries may circumvent mechanisms designed to control elevate privileges to gain higher-level permissions. Most modern systems contain native elevation control mechanisms that are intended to limit privileges that a user can perform on a machine. Authorization has to be granted to specific users in order to perform tasks that can be considered of higher risk. An adversary can perform several methods to take advantage of built-in control mechanisms in order to escalate privileges on a system.

Angreifer können Mechanismen zur Kontrolle der Berechtigungserweiterung umgehen, um sich höhere Berechtigungen zu verschaffen. Die meisten modernen Systeme enthalten systemeigene Mechanismen zur Kontrolle der Berechtigungserweiterung, die dazu dienen, die Berechtigungen zu begrenzen, die ein Benutzer auf einem Computer ausführen kann. Bestimmten Benutzern muss eine Berechtigung erteilt werden, um Aufgaben auszuführen, die als risikoreicher angesehen werden können. Ein Angreifer kann verschiedene Methoden anwenden, um die eingebauten Kontrollmechanismen auszunutzen, um die Privilegien auf einem System zu erweitern.

Les adversaires peuvent contourner les mécanismes conçus pour contrôler l'élévation des privilèges afin d'obtenir des autorisations de niveau supérieur. La plupart des systèmes modernes contiennent des mécanismes natifs de contrôle de l'élévation des privilèges qui sont destinés à limiter les privilèges qu'un utilisateur peut exécuter sur une machine. Des autorisations doivent être accordées à des utilisateurs spécifiques afin d'effectuer des tâches qui peuvent être considérées comme présentant un risque plus élevé. Un adversaire peut exécuter plusieurs méthodes pour tirer parti des mécanismes de contrôle intégrés afin d'élever les privilèges sur un système.

Gli avversari possono aggirare i meccanismi progettati per controllare i privilegi di elevazione per ottenere permessi di livello superiore. La maggior parte dei sistemi moderni contiene meccanismi nativi di controllo dell'elevazione che hanno lo scopo di limitare i privilegi che un utente può eseguire su una macchina. L'autorizzazione deve essere concessa a specifici utenti per eseguire compiti che possono essere considerati di maggior rischio. Un avversario può eseguire diversi metodi per approfittare dei meccanismi di controllo incorporati al fine di aumentare i privilegi su un sistema.

Law Assessment

Article Assessment
(Datenbeschaffung)
Contribution Details
Last update: 2021-11-10
Autoren: Roman Kost

Dans le cadre d'attaques utilisant des mécanismes d'élévation, rien n'est en principe effacé. La détérioration de données prévue par l'article 144bis du Code pénal ne s'applique pas à cette technique d'attaque.

Nel contesto degli attacchi che fanno uso di meccanismi di elevazione, non si cancella nulla per principio. La corruzione dei dati secondo l'art. 144bis SCC non è rilevante nel caso di questa tecnica di attacco.

In the context of attacks that make use of elevation mechanisms, nothing is deleted as a matter of principle. Data corruption according to Art. 144bis SCC is not relevant in the case of this attack technique.

Im Rahmen von Angriffen, die sich Elevationmechanismen zu Nutze machen, wird grundsätzlich nichts gelöscht. Die Datenbeschädigung nach Art. 144bis StGB ist bei dieser Angriffstechnik nicht einschlägig.

(Datenbeschädigung)
Contribution Details
Last update: 2021-11-13
Autoren: Roman Kost

Dans le cadre d'attaques utilisant des mécanismes d'élévation, rien n'est en principe effacé. La détérioration de données prévue par l'article 144bis du Code pénal ne s'applique pas à cette technique d'attaque.

Nel contesto di attacchi che fanno uso di meccanismi di elevazione, non si cancella nulla per principio. Il danno ai dati secondo l'Art. 144bis SCC non è rilevante per questa tecnica di attacco.

In the context of attacks that make use of elevation mechanisms, nothing is deleted as a matter of principle. Data corruption pursuant to Art. 144bis SCC is not relevant for this attack technique.

Im Rahmen von Angriffen, die sich Elevationmechanismen zu Nutze machen, wird grundsätzlich nichts gelöscht. Die Datenbeschädigung nach Art. 144bis StGB ist bei dieser Angriffstechnik nicht einschlägig.

Forensics

Forensic Domain Assessment
None assessed
There could be a forensic assessment of a subtechnique.
Login
ID: T1548
Sub-techniques:  T1548.001, T1548.002, T1548.003, T1548.004
Platforms: Linux, Windows, macOS
Permissions Required: Administrator, User
Version: 1.0
Created: 30 January 2020
Last Modified: 22 July 2020
Translations:  DE FR IT EN
Provided by LAYER 8

Mitigations

ID Mitigation Description
M1047 Audit

Check for common UAC bypass weaknesses on Windows systems to be aware of the risk posture and address issues where appropriate.[1]

M1038 Execution Prevention

System settings can prevent applications from running that haven't been downloaded from legitimate repositories which may help mitigate some of these issues. Not allowing unsigned applications from being run may also mitigate some risk.

M1028 Operating System Configuration

Applications with known vulnerabilities or known shell escapes should not have the setuid or setgid bits set to reduce potential damage if an application is compromised. Additionally, the number of programs with setuid or setgid bits set should be minimized across a system. Ensuring that the sudo tty_tickets setting is enabled will prevent this leakage across tty sessions.

M1026 Privileged Account Management

Remove users from the local administrator group on systems.

By requiring a password, even if an adversary can get terminal access, they must know the password to run anything in the sudoers file. Setting the timestamp_timeout to 0 will require the user to input their password every time sudo is executed.

M1022 Restrict File and Directory Permissions

The sudoers file should be strictly edited such that passwords are always required and that users can't spawn risky processes as users with higher privilege.

M1052 User Account Control

Although UAC bypass techniques exist, it is still prudent to use the highest enforcement level for UAC when possible and mitigate bypass opportunities that exist with techniques such as DLL Search Order Hijacking.

Detection

ID Data Source Data Component
DS0017 Command Command Execution
DS0022 File File Metadata
File Modification
DS0009 Process OS API Execution
Process Creation
Process Metadata
DS0024 Windows Registry Windows Registry Key Modification

Monitor the file system for files that have the setuid or setgid bits set. Also look for any process API calls for behavior that may be indicative of Process Injection and unusual loaded DLLs through DLL Search Order Hijacking, which indicate attempts to gain access to higher privileged processes. On Linux, auditd can alert every time a user's actual ID and effective ID are different (this is what happens when you sudo).

Consider monitoring for /usr/libexec/security_authtrampoline executions which may indicate that AuthorizationExecuteWithPrivileges is being executed. MacOS system logs may also indicate when AuthorizationExecuteWithPrivileges is being called. Monitoring OS API callbacks for the execution can also be a way to detect this behavior but requires specialized security tooling.

On Linux, auditd can alert every time a user's actual ID and effective ID are different (this is what happens when you sudo). This technique is abusing normal functionality in macOS and Linux systems, but sudo has the ability to log all input and output based on the LOG_INPUT and LOG_OUTPUT directives in the /etc/sudoers file.

There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. Analysts should monitor Registry settings for unauthorized changes.

Überwachen Sie das Dateisystem auf Dateien, bei denen die Bits setuid oder setgid gesetzt sind. Achten Sie auch auf alle Prozess-API-Aufrufe, die auf Process Injection und ungewöhnlich geladene DLLs durch DLL Search Order Hijacking hinweisen, die auf Versuche hinweisen, Zugriff auf höher privilegierte Prozesse zu erhalten. Unter Linux kann auditd jedes Mal einen Alarm auslösen, wenn die tatsächliche ID und die effektive ID eines Benutzers nicht übereinstimmen (das passiert, wenn Sie sudo verwenden).

Ziehen Sie in Erwägung, die Ausführung von /usr/libexec/security_authtrampoline zu überwachen, die darauf hinweisen kann, dass AuthorizationExecuteWithPrivileges ausgeführt wird. MacOS-Systemprotokolle können ebenfalls anzeigen, wann AuthorizationExecuteWithPrivileges aufgerufen wird. Die Überwachung von OS-API-Callbacks für die Ausführung kann ebenfalls eine Möglichkeit sein, dieses Verhalten zu erkennen, erfordert aber spezielle Sicherheitstools.

Unter Linux kann auditd jedes Mal einen Alarm auslösen, wenn die tatsächliche ID und die effektive ID eines Benutzers unterschiedlich sind (das passiert, wenn Sie sudo verwenden). Diese Technik missbraucht die normale Funktionalität in macOS- und Linux-Systemen, aber sudo hat die Fähigkeit, alle Ein- und Ausgaben auf der Grundlage der Direktiven LOG_INPUT und LOG_OUTPUT in der Datei /etc/sudoers zu protokollieren.

Es gibt viele Möglichkeiten, die UAC zu umgehen, wenn sich ein Benutzer in der lokalen Administratorgruppe eines Systems befindet, so dass es schwierig sein dürfte, alle Varianten gezielt zu erkennen. Sie sollten sich darauf konzentrieren, den Schaden einzudämmen und genügend Informationen über den Start von Prozessen und Aktionen zu sammeln, die vor und nach einer UAC-Umgehung durchgeführt werden könnten. Einige Methoden zur Umgehung der Benutzerkontensteuerung beruhen auf der Änderung bestimmter, für den Benutzer zugänglicher Registry-Einstellungen. Analysten sollten die Registry-Einstellungen auf nicht autorisierte Änderungen überwachen.

Surveillez le système de fichiers pour détecter les fichiers dont les bits setuid ou setgid sont activés. Recherchez également tout appel d'API de processus dont le comportement pourrait indiquer une [Injection de processus] (/techniques/T1055) et des DLL chargées de manière inhabituelle par le biais d'un [Détournement de l'ordre de recherche de DLL] (/techniques/T1574/001), ce qui indique des tentatives d'accès à des processus à privilèges plus élevés. Sous Linux, auditd peut alerter chaque fois que l'ID réel et l'ID effectif d'un utilisateur sont différents (c'est ce qui se passe lorsque vous sudo).

Pensez à surveiller les exécutions de /usr/libexec/security_authtrampoline qui peuvent indiquer que AuthorizationExecuteWithPrivileges est en cours d'exécution. Les journaux système de MacOS peuvent également indiquer quand AuthorizationExecuteWithPrivileges est appelé. La surveillance des callbacks de l'API du système d'exploitation pour l'exécution peut également être un moyen de détecter ce comportement mais nécessite un outillage de sécurité spécialisé.

Sous Linux, auditd peut alerter chaque fois que l'ID réel et l'ID effectif d'un utilisateur sont différents (c'est ce qui se passe lorsque vous sudo). Cette technique abuse de la fonctionnalité normale des systèmes macOS et Linux, mais sudo a la capacité de consigner toutes les entrées et sorties sur la base des directives LOG_INPUT et LOG_OUTPUT dans le fichier /etc/sudoers.

Il existe de nombreuses façons de contourner l'UAC lorsqu'un utilisateur fait partie du groupe des administrateurs locaux sur un système, il peut donc être difficile de cibler la détection sur toutes les variations. Les efforts devraient probablement porter sur l'atténuation et la collecte de suffisamment d'informations sur les lancements de processus et les actions qui pourraient être effectuées avant et après un contournement de l'UAC. Certaines méthodes de contournement de l'UAC reposent sur la modification de paramètres de registre spécifiques et accessibles à l'utilisateur. Les analystes devraient surveiller les paramètres du Registre pour détecter les modifications non autorisées.

Monitorare il file system per i file che hanno i bit setuid o setgid impostati. Cerchi anche qualsiasi chiamata API di processo per un comportamento che può essere indicativo di Process Injection e DLL caricate in modo insolito tramite DLL Search Order Hijacking, che indicano tentativi di ottenere accesso a processi con privilegi superiori. Su Linux, auditd può allertare ogni volta che l'ID effettivo di un utente e l'ID effettivo sono diversi (è quello che succede quando si sudo).

Consideri il monitoraggio delle esecuzioni di /usr/libexec/security_authtrampoline che possono indicare l'esecuzione di AuthorizationExecuteWithPrivileges. Anche i log del sistema MacOS possono indicare quando AuthorizationExecuteWithPrivileges viene chiamato. Anche il monitoraggio dei callback API del sistema operativo per l'esecuzione può essere un modo per rilevare questo comportamento ma richiede strumenti di sicurezza specializzati.

Su Linux, auditd può avvisare ogni volta che l'ID effettivo di un utente e l'ID effettivo sono diversi (questo è quello che succede quando si sudo). Questa tecnica abusa della normale funzionalità nei sistemi macOS e Linux, ma sudo ha la capacità di registrare tutti gli input e output in base alle direttive LOG_INPUT e LOG_OUTPUT nel file /etc/sudoers.

Ci sono molti modi per eseguire bypass di UAC quando un utente è nel gruppo di amministratori locali su un sistema, quindi può essere difficile puntare al rilevamento su tutte le varianti. È probabile che gli sforzi si concentrino sulla mitigazione e sulla raccolta di informazioni sufficienti sui lanci dei processi e sulle azioni che potrebbero essere eseguite prima e dopo l'esecuzione di un bypass UAC. Alcuni metodi di bypass UAC si basano sulla modifica di specifiche impostazioni del Registro di sistema accessibili all'utente. Gli analisti dovrebbero monitorare le impostazioni del Registro per cambiamenti non autorizzati.

References