« Rid Hijacking » : différence entre les versions
Aucun résumé des modifications |
|||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
Le SID (Security |
Le SID (Security Identifier) est un identifiant alphanumérique qui permet de donner à chaque domaine un identifiant unique et il permet au système Windows d’autoriser ou de refuser l’accès à des ressources, ceci étant déterminé par le RID (Relative Identifier). |
||
Pour connaitre son RID il suffit de tapper la commande windows : |
|||
<pre> |
<pre> |
||
> whoami /all |
> whoami /all |
||
Ligne 12 : | Ligne 13 : | ||
le RID est la dernière séquence numérique du SID. |
le RID est la dernière séquence numérique du SID. |
||
L’objectif du RID Hijack (détournement du RID) est de modifier cette valeur |
L’objectif du RID Hijack (détournement du RID) est de modifier cette valeur afin d'usurper l'identité et les droits d'un autre utilisateur. On constate tout de suite que grâce à cette méthode on peut donner des droits d’administrateur à n’importe quel utilisateur, ou même se faire passer pour quelqu'un d'autre ! |
||
[[Fichier:SID.png|vignette]] |
[[Fichier:SID.png|vignette]] |
||
== Introduction == |
== Introduction == |
||
Découverte par le chercheur colombien Sebastian Castro, le RID Hijacking permet |
Découverte par le chercheur colombien Sebastian Castro, le RID Hijacking permet d'usurper l'identité d'un autre utilisateur, récupérant au passage tout ses droits. |
||
Actuellement on sait que toutes les |
Actuellement, on sait que toutes les machines windows, de windows 98 à windows 10 (version actuelle) sont vulnérable à ce type d’attaque, les tests sur windows phone et sur des version antérieures à windows 98 n’ont pas encore été effectué, mais théoriquement elles sont aussi vulnérables. |
||
Un avantage de cette faille est que la modification du RID est persistante, donc le pirate continue à garder les privilèges même après un reboot de la machine. |
Un avantage de cette faille est que la modification du RID est persistante, donc le pirate continue à garder les privilèges même après un reboot de la machine. |
||
Ce qui est tout de même remarquable c’est que cette faille |
Ce qui est tout de même remarquable c’est que cette faille, bien que dévoilée en Décembre 2017, aucune mise à jour Windows a corrigé la faille. Malgré la facilitation d’application, ni les média ni les campagnes de sensibilisations aux malware ont communiqué sur cette vulnérabilité. |
||
== Processus du Login Windows == |
== Processus du Login Windows == |
Dernière version du 14 novembre 2018 à 07:36
Ce document est destiné à un usage éducatif uniquement. Nous ne sommes pas responsables de l'utilisation illégale et frauduleuse des utilisateur qui on lu ce document.
Principe
Le SID (Security Identifier) est un identifiant alphanumérique qui permet de donner à chaque domaine un identifiant unique et il permet au système Windows d’autoriser ou de refuser l’accès à des ressources, ceci étant déterminé par le RID (Relative Identifier). Pour connaitre son RID il suffit de tapper la commande windows :
> whoami /all
le RID est la dernière séquence numérique du SID.
L’objectif du RID Hijack (détournement du RID) est de modifier cette valeur afin d'usurper l'identité et les droits d'un autre utilisateur. On constate tout de suite que grâce à cette méthode on peut donner des droits d’administrateur à n’importe quel utilisateur, ou même se faire passer pour quelqu'un d'autre !
Introduction
Découverte par le chercheur colombien Sebastian Castro, le RID Hijacking permet d'usurper l'identité d'un autre utilisateur, récupérant au passage tout ses droits. Actuellement, on sait que toutes les machines windows, de windows 98 à windows 10 (version actuelle) sont vulnérable à ce type d’attaque, les tests sur windows phone et sur des version antérieures à windows 98 n’ont pas encore été effectué, mais théoriquement elles sont aussi vulnérables. Un avantage de cette faille est que la modification du RID est persistante, donc le pirate continue à garder les privilèges même après un reboot de la machine. Ce qui est tout de même remarquable c’est que cette faille, bien que dévoilée en Décembre 2017, aucune mise à jour Windows a corrigé la faille. Malgré la facilitation d’application, ni les média ni les campagnes de sensibilisations aux malware ont communiqué sur cette vulnérabilité.
Processus du Login Windows
Dans ce paragraphe on se concentre sur le fonctionnement du système de sécurité windows au moment de l’authentification, on ne donnera
Une ouverture de session requiert que l’utilisateur possède un compte utilisateur dans le Gestionnaire de SAM (Security Accounts) sur l’ordinateur local. SAM protège et gère les informations d’utilisateur et groupe sous la forme de comptes de sécurité stockées dans le Registre de l’ordinateur local.
Voilà ce qu’il ce passe quand un utilisateur windows effectue une authentification localement :
- Dans un premier temps winlogon initialise un SID et l’envoie au SLASS avec le nom utilisateur et le hash du mot de passe qui virent d’être saisi
- NTLM reçoit les information depuis le SLASS et le transmet au SAM
- SAM effectue des requêtes dans le Registry avec les info fourni par l’utilisateur, de cette manière le SAM peut vérifier que les identifiants sont correctes et en suite il peut récupérer les restrictions que l’utilisateur possède, maintenant les info sont renvoyées au NTML.
- Si le processus s’est exécuté sans problèmes alors le NTML demande au LSASS de créer les token d’accès pour l’utilisateur, ce token contient entre autre le SID qui contient à sa fois le RID
Contournement du RID
Sebastian Castro s’est aperçu que dans le Registry on y trouve une copie du RID de chaque utilisateur dans un fichier REG_BINARY, et avec les droits d'administrateur (ou si on a pris le contrôle de la machine) on peut modifier ces valeurs. Que ce passe t il si on essaye d’attribuer le RID 500 à un utilisateur standard ? Tout simplement au moment du login son token lui permettra d’avoir les droits d’administrateur. La faille provient du fait que le LSASS ne vérifie pas la cohérence entre l’utilisateur et le RID associé.
Partie Pratique
il est fortement recommandé d’utiliser comme système d’exploitation Kali linux ou Parrot, car ces deux OS sont conçu pour la sécurité informatique et il possèdent déjà par défaut les outils dont on a besoin.
Le framework metasploit est un framework qui possède une base de donnée, constamment mis à jours qui possède un grand membre d’attaques informatiques automatisées. Actuellement il possède presque 1800 exploits, et parmi ces exploit on y trouve aussi.
Premiere Phase :
La première Phases consiste à scanner votre cible pour connaitre le système d’exploitation et les port qui sont ouverts, si l’OS des pas un Système windows alors vous n’avez aucune chance d’exploiter la faille du RID. Connaitre les ports ouverts nous permet de savoir comment on va pouvoir prendre le contrôle de la machine. Dans un premier temps lancez la console metasploit, ensuite si vous connaissez l’adresse ip de la cible vous pouvez scanner la cible avec un outils comme Nmap de la maniere suivante :
msf> nmap [IP_address]
Si vous préférez vous pouvez scanner un réseau :
msf> nmap [IP_address/MASK]
Deuxième Phase :
La deuxième phase est dédié à la prise de contrôle sur la machine cible, ce paragraphe mériterais une page à part sur le wiki, ici on va pas rentrer dans les détails mais on va tout de même vous donner les notions de bases. On a besoin de controller la machine cible parce que nous devons pouvoir modifier la valeur du RID qui se trouve dans le Registre du SAM. il y a beaucoup d’attaque possible et les attaque qui faut utiliser dépendent du Système d’exploitation et des ports ouverts de la machine cible. Une fois que vous avez pris le contrôle rentrez la commande suivante sur la console metaslpoit :
msf > sessions
Si vous avez réussi a prendre le contrôle de la machine alors vous devait avoir une session ouverte avec un identifient de session.
ouvrier une sessions nous permet d’acceder à la machine comme si on était connecté en SSH
Attention la session doit être de type meterpreter
Troisième phase
Maintenant qu’on a une sessions ouverte avec la cible on peut exploiter le RID HIJACK :
msf > use post/windows/manage/rid_hijack
Maintenant on a besoin de configurer l’attaque, on a besoin d’indiquer l’id de la session (session qu’on a établi dans la deuxième phase), le nom d l’utilisateur distant visé, et le numero de RID qu’on veut attribuer. On remarque qu’on a pas besoin d’ajouter le mot de passe de l’utilisateur parce que grâce à la session ouverte on a déjà accès à la machine, et c’est grâce à cet accès qu’on peut modifier le RID.
msf > set SESSION [id_de_session] msf > set USERNAME [username_distant] msf > set RID [RID_souhaité]
maintenant vous pouvez lancer l’attaque avec la commande :
msf > exploit
Si tout s’est bien passé vous venez de modifier le RID de l’utilisateur.