"De la découverte d'une vulnérabilité driver windows à l'élévation de privilèges" M

Tout ce qui ne mérite pas d'être entendu mais qui doit être dit.

Moderators: Mod, Mod, Mod

"De la découverte d'une vulnérabilité driver windows à l'élévation de privilèges" M

Postby neib » Mon Jul 09, 2012 8:47 pm

Salut à tous, j'écris ce post après lecture d'un article dans MISC (No62 juil-aout 2012) Le but ici n'est pas de faire un tuto (vous pouvez lire l'article pour ca, il est très bien rédigé et détaillé) mais je me suis dit que parler des vulnérabilités de windows c'était un bon sujet de comptoir et vu qu'on est au bar, ca s'y prête bien non?
Du coup c'est pas très bien détaillé, j'ai voulu garder l'essentiel et le rendre accessible a tous, mais c'est pas non plus super évident de résumer un p'tit dossier en rapidos (ce qui explique le fait que des fois ca peut paraître un peu confus) mais de toute facon, pour les gens dont le sujet les intéresse, je vous conseil vivement de lire le dit article (hé! ^^)

Dans les grandes listes de vulnérabilités de windows (toutes versions confondues) les drivers en font partie. Le but est d'exploiter une vulnérabilité dans un drivers afin d'élever ses privilèges. L'utilisation des drivers nécessite la plupart du temps que l'attaquant ait un accès direct à la machine, mais cela n'exclut pas pour autant les attaques distantes. (drivers wifi, tout ca...)

Pour faire simple, un driver permet d'avoir accès à une zone mémoire en 'kernel land', là où l'utilisateur n'a pas les privilèges suffisant pour y accéder (ring0 = niveau de privilège du noyau ring3 = utilisateur).
Par exemple, un logiciel type anti-rootkit installe au moins un driver avec lequel il va communiquer afin d'exécuter les taches qui nécessitent un accès à des structures du noyau.

Tout d'abord, il faut repérer quel driver est accessible depuis le 'user land', plus précisément depuis un utilisateur limité (le but étant ici de monter ses privilèges en super admin) S'il est accessible en lecture et écriture, d'un point de vue sécurité, cela le rend potentiellement très vulnérable.
On recherche alors une vulnérabilité à l'aide d'un outils de fuzzing (cf wikipedia pour ceux qui connaissent pas [url]http://fr.wikipedia.org/wiki/Fuzzing[/url]) et on observe ce qu'il se passe. La plupart du temps, cela ne nous permettra pas bien plus qu'une attaque type "DoS" (voir plus bas), mais des fois il est possible d'aller bien plus loin.

à titre illustratif, un lien vers une capture d'une bien jolie erreur :
[url]http://www.mygarage.ro/attachments/pc-mechanics/994d1209537066-page_fault_in_nonpaged_area-si-irql_not_less_or_equal-p1030230.jpg[/url] (c'est une image que j'ai trouvé sur le net)
(en gros, on arrive à ce type d'erreur car notre driver nous renvoie à une adresse non mappé et puisque l'exécution se passe en ring0, le système crash)
A partir de ce message et de l'analyse du crash (étape très laborieuse) on peut remonter à une faille et écraser un pointeur de fonction en 'kernel land' (c'est là qu'on peut bien foutre le bordel) et de le faire pointer en 'user land' vers un code arbitraire qui sera alors éxecuter en ring0.
Le type de faille c'est "déférencement de pointeur en écriture"

Bon, c'est peut être un peu confus, alors pour résumer:
on détourne les informations transmises au noyau par le driver afin de pouvoir exécuter notre propre code avec les privilèges ring0 comme par exemple l'élévation de privilège du processus courant, on lance ensuite comme processus cmd.exe il sera alors utilisé avec les privilèges SYSTEM.

Bon, alors du coup pour la p'tite morale, méfiez-vous de vos anti-virus et compagnie, car en voulant apporter plus de sécurité on peut facilement élargir le champ d'attaque (plus génant dans une entreprise que dans notre salon a mon avis mais bon voilà quoi). A part si on est trop des fous et qu'on patch toutes nos applis mais c'est pas donné à tout le monde... Autrement dit, on est pas dans la merde tiens :p

wé je sais c'est plus du domaine Sécurité Intrusion que Bar mais je voulais surtout faire du potin windows à la base. :lol:
User avatar
neib
Projets
 
Posts: 49
Joined: Thu Jun 12, 2008 10:29 pm
Location: ::/128

Postby SHEPSHEP » Tue Jul 10, 2012 9:02 am

Merci pour le partage, une lecture intéressante :)

On trouve le mag MISC dans les maisons de la presse j'imagine ?
SHEPSHEP
Projets
 
Posts: 268
Joined: Wed Apr 08, 2009 11:14 am
Location: /dev/null


Return to Le Bar

Who is online

Users browsing this forum: No registered users and 1 guest

cron