L’élévation des privilèges est une tactique courante, utilisée dans presque toutes les cyberattaques actuelles. Les initiés malveillants, les gangs de rançongiciels et d’autres cybercriminels l’utilisent souvent en combinaison avec des mouvements latéraux, pour traverser le réseau de leur victime en vue d’obtenir un accès non autorisé à des ressources informatiques sensibles. Des droits d’accès élevés sont indispensables pour une activité malveillante, y compris le vol de données sensibles, la perturbation des opérations commerciales et la création de portes dérobées pour les étapes à venir d’une attaque. En raison de l’utilisation généralisée d’Active Directory, les attaques par élévation des privilèges sont plus fréquentes sous Windows que sous Linux, mais les deux cas de figure existent bel et bien.
Pourquoi les privilèges élevés sont-ils importants pour les attaquants ?
Les privilèges élevés sont les clés qui permettent aux cybercriminels de modifier les configurations du système, les autorisations de données et les contrôles de sécurité. C’est généralement à travers l’utilisation d’un compte d’utilisateur standard compromis que les attaquants peuvent accéder à un réseau. L’élévation des privilèges est obtenue en volant les informations d’identification d’un compte d’administrateur système ou d’un compte de service de haut niveau, ce qui leur permet d’accéder aux serveurs critiques, aux appliances réseau, aux référentiels de données et aux systèmes de sauvegarde.
Malheureusement, il est souvent trop facile d’élever les privilèges, même pour des pirates informatiques peu sophistiqués, car de nombreuses organisations ne disposent pas des mesures de sécurité adéquates. En effet, la commodité d’utilisation est trop souvent prise en compte dans la mise en place des contrôles d’accès, et ce, au détriment du principe du moindre privilège.
Élévation horizontale et verticale des privilèges
Les cyberattaques impliquent souvent l’exploitation d’une vulnérabilité concrète, comme une mise à jour de sécurité non réalisée, une configuration inadaptée ou une erreur de programmation. Une fois le système compromis, l’attaquant effectue une reconnaissance, afin d’identifier les utilisateurs à privilèges à compromettre et la façon d’élever les droits d’accès des comptes qui sont déjà sous son contrôle.
Les cybercriminels peuvent utiliser deux types d’élévation des privilèges :
- Élévation horizontale des privilèges : un attaquant compromet un compte, puis accède au même niveau de privilèges ou d’autorisations en tant qu’utilisateur ou application sur un système différent. Par exemple, après avoir compromis un compte d’utilisateur de services bancaires en ligne, un adversaire peut accéder à un autre compte d’utilisateur en en découvrant l’identifiant et le mot de passe.
- Élévation verticale des privilèges (ou élévation des privilèges ou EoP) : une personne malveillante accède à un compte de niveau inférieur, puis exploite une faiblesse du système afin d’obtenir un accès administrateur ou root à une ressource ou à un système. L’élévation verticale des privilèges requiert des techniques d’attaque plus sophistiquées que l’élévation horizontale, telles que des outils de piratage aidant l’attaquant à obtenir un accès élevé aux systèmes et aux données.
Comment l’élévation des privilèges se produit-elle ?
Les attaquants tentant d’effectuer des actions non autorisées exploitent souvent des vulnérabilités pour réaliser une élévation de privilèges. Ces actions ou « exploits » en anglais impliquent des faiblesses connues ou découvertes dans un système d’exploitation, un composant logiciel ou une mauvaise configuration de sécurité. L’attaque se déroule généralement selon les cinq étapes suivantes :
- Trouver une vulnérabilité.
- Créer un exploit d’élévation des privilèges en fonction de cette vulnérabilité.
- Utiliser l’exploit sur un système.
- S’assurer qu’il exploite le système avec succès.
- Obtenir des privilèges supplémentaires si nécessaire.
Quelles sont les principales techniques d’élévation des privilèges ?
Les attaquants peuvent utiliser différentes techniques d’élévation des privilèges. Les trois plus fréquentes sont :
- Manipuler des jetons d’accès.
- Contourner le contrôle des comptes d’utilisateur.
- Utiliser des comptes valides.
Technique 1. Manipulation de jetons d’accès
La manipulation des jetons d’accès exploite la façon dont Windows gère les privilèges d’administrateur. Un jeton d’accès est créé par un système Windows au moment d’une connexion utilisateur. En modifiant un jeton d’accès, un adversaire peut tromper le système et obtenir le droit d’effectuer une tâche système ou d’accéder à un processus ou à un service exigeant des privilèges élevés.
Les adversaires peuvent tirer parti des jetons d’accès en utilisant l’une des trois méthodes suivantes :
- Usurper l’identité ou voler un jeton : un adversaire peut créer un nouveau jeton d’accès qui soit la réplique un jeton existant à l’aide de la fonction DuplicateToken (Ex). Ce jeton peut ensuite être utilisé avec la fonction ImpersonateLoggedOnUser pour permettre au thread appelant d’usurper le contexte de sécurité d’un utilisateur connecté, ou avec la fonction SetThreadToken pour attribuer le jeton usurpé à un thread.
- Créer un processus avec un jeton : un adversaire crée un nouveau jeton d’accès avec la fonction DuplicateToken (Ex), puis l’utilise avec la fonction CreateProcessWithTokenW pour créer un nouveau processus qui s’exécute dans le contexte de sécurité de l’utilisateur usurpé. Cette technique peut être utile pour créer un nouveau processus dans le contexte de sécurité d’un utilisateur différent.
- Usurpation d’identité par jeton : ici, l’adversaire a un nom d’utilisateur et un mot de passe, mais l’utilisateur n’est pas connecté au système. L’adversaire peut créer une ouverture de session pour l’utilisateur à l’aide de LogonUser. Cette fonction renvoie une copie du jeton d’accès de la nouvelle session, et l’adversaire peut utiliser SetThreadToken pour attribuer ce jeton à un thread.
Comment atténuer cette menace ?
Les jetons d’accès font partie intégrante du système de sécurité de Windows et ne peuvent pas être désactivés. Cependant, un attaquant doit d’abord disposer d’un accès de niveau administrateur pour exploiter pleinement cette technique. Par conséquent, vous devez attribuer les droits d’accès conformément au principe du moindre privilège et vous assurer que tous les droits d’accès sont régulièrement révisés. Il faudra également surveiller attentivement les comptes à privilèges et réagir rapidement en cas de signes d’une activité suspecte effectuée par ces comptes. Dans l’idéal, la quasi-totalité des comptes d’administrateur permanents peuvent être remplacés par un accès juste-à-temps.
Technique 2. Contournement du contrôle des comptes d’utilisateur
La fonction de contrôle de compte d’utilisateur (UAC) de Windows sert de passerelle entre les comptes d’utilisateurs standard et ceux dotés de privilèges d’administrateur. Cette fonction limite les applications logicielles aux autorisations d’utilisateur standard, à moins qu’un administrateur n’autorise une augmentation des privilèges, ce qui exige que l’administrateur saisisse ses informations d’identification. De cette façon, seules les applications approuvées par l’utilisateur peuvent recevoir des privilèges d’administration, empêchant ainsi les logiciels malveillants de compromettre le système d’exploitation.
Ce mécanisme n’est pourtant pas infaillible. À moins que le niveau de protection UAC d’un ordinateur ne soit défini sur le niveau le plus élevé, certains programmes Windows sont autorisés à élever les privilèges ou à exécuter des objets COM (Component Object Model), qui sont alors élevés sans autorisation préalable de l’utilisateur.
Comment atténuer cette menace ?
Il vous faut examiner régulièrement votre environnement informatique pour y détecter les faiblesses courantes du contournement de l’UAC et, le cas échéant, remédier aux risques. Une autre bonne pratique consiste à faire un point régulier sur les comptes présents dans vos groupes d’administrateurs locaux sur tous les systèmes Windows, et à supprimer les utilisateurs standard de ces groupes. Vous pouvez le faire en utilisant une stratégie de groupe ou Intune.
Technique 3. Utilisation de comptes valides
Les adversaires peuvent utiliser des techniques d’accès aux informations d’identification telles que le bourrage d’informations d’identification, la manipulation de compte ou l’ingénierie sociale, pour compromettre les informations d’identification de comptes d’utilisateurs légitimes. Ils peuvent même accéder à des systèmes et services distants à l’aide d’un VPN ou d’une connexion de bureau à distance. La principale préoccupation est ici liée à la coïncidence des informations d’identification et des autorisations sur le réseau, car les adversaires pourraient être en mesure de passer d’un compte à l’autre et d’un système à l’autre pour atteindre un niveau d’accès plus élevé, comme celui d’administrateur de domaine ou d’administrateur de l’entreprise.
Comment atténuer cette menace ?
L’un des moyens les plus efficaces pour atténuer cette menace consiste à appliquer une politique de mot de passe robuste pour tous les comptes, incluant des exigences en matière de longueur et de complexité des mots de passe. En outre, il est impératif de changer régulièrement les mots de passe de tous les comptes d’administrateur, et d’utiliser des mots de passe uniques pour les comptes d’administrateur locaux sur chacun de vos systèmes, afin d’empêcher les attaquants de se déplacer latéralement et à volonté sur le réseau en compromettant un seul compte d’administrateur local.
Il est également important de surveiller votre environnement informatique afin de détecter tout comportement d’utilisateur suspect pouvant indiquer une menace en cours. La détection précoce est la clé.
Comment se protéger contre l’élévation des privilèges ?
Bien qu’il n’existe aucun moyen de sécuriser totalement votre environnement contre les pirates et les initiés malveillants cherchant à élever leurs privilèges, vous pouvez néanmoins réduire ce risque en renforçant les surfaces d’attaque de vos systèmes d’exploitation et logiciels de vos endpoints, et en appliquant le principe du moindre privilège pour toutes les ressources. De plus, exiger une authentification multifactorielle permet de renforcer encore la sécurité chaque fois que cela est justifié, en fonction du risque associé à l’activité concernée. Il est important de procéder à des évaluations périodiques des risques afin de détecter et d’évaluer les risques encourus par vos fichiers sensibles, ainsi que de prendre des mesures pour sécuriser les données conformément à leur valeur.
De nombreuses entreprises utilisent une solution de gestion des accès privilégiés (PAM). La solution Netwrix Privileged Access Management vous offre une excellente visibilité des privilèges sur l’ensemble de vos systèmes et applications. Elle vous alerte lorsque des comptes à privilèges sont créés ou modifiés, et découvre des comptes à privilèges que vous ne soupçonniez peut-être même pas. Bref, vous reprenez les rênes en matière de privilèges sur l’ensemble de votre infrastructure informatique.
L’adoption d’une solution de PAM, combinée au respect scrupuleux des meilleures pratiques de sécurité, peut vous aider à bloquer efficacement l’élévation des privilèges et les mouvements latéraux, évitant ainsi la perte de données, les perturbations commerciales et les sanctions liées à la conformité.