[C++] Obtenir le mot de passe windows

Fermé
Marm - 3 juil. 2009 à 18:49
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 5 juil. 2009 à 19:09
Bonjour,

Je suis présentement à la recherche d'une façon d'obtenir le mot de passe utilisateur de windows pour mon application en C++.

Je voudrais savoir s'il y a une fonction permettant cela comme GetUserName de la librairie windows.h le fait pour obtenir l'identifiant.

Sinon y-a-t-il un endroit dans le registre où on peut le trouver?
Est-il enregistré dans un fichier quelconque que l'on peut lire?

Merci à l'avance.

Marm

5 réponses

Ca a été expliqué depuis longtemps chez les pros (https://groups.google.com/forum/?hl=fr#!forum/fr.comp.os.ms-windows.programmation )
(1995 !)
1
loveparade Messages postés 506 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 14 mai 2011 60
5 juil. 2009 à 17:49
Je ne sais pas quel est le but mais pour rappel => http://www.commentcamarche.net/faq/sujet 307 devenir pirate informatique (juste au cas ou...)
0
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
5 juil. 2009 à 18:53
Personnellement je ne travaille pas avec Microsoft et je ne sais pas comment ils ont codés Windows, mais si on est un peu malin il est évident qu'on ne va pas stocker des mots de passes en toute lettre.

Par contre on doit transformer un mot de passe en une clé grâce à un algorithme, puis stocker cette clé, et la comparer avec d'autres clés pour voir s'il y a effectivement égalité.

Je pense qu'au mieux tu pourrais récupérer cette clé, mais faire l'algorithme inverse pour passer de la clé au mot de passe doit être particulièrement difficile et dans tous les cas illégal (comme le précisait loveparade)
0
Bonjour à vous tous,

Tout d'abord, ce n'est pas du tout dans un but illégal mais de convivialité que je veux obtenir ce mot de passe.
Je conçois une application windows qui a besoin du username et mot de passe windows pour se connecter et je veux simplement une connection automatique sans demander le mot de passe à l'utilisateur.

Je me doutais effectivement que ce mot de passe serait crypter, mais y-a-t-il un moyen de l'obtenir quand même?

Melies, merci pour ton aide, mais je crois que le site que tu m'as fournis n'est pas bon. Je me fais redirigé sur une page de résultat de google groups qui n'a pas de rapport....


Merci à vous tous

Marm
0
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
5 juil. 2009 à 19:09
Le moyen pour l'obtenir quand même est illégal, le mot de passe Windows est réservé pour l'administration de Windows, et aucun autre programme (non-Windows) ne doit pouvoir y accéder...

À quoi servirait de mettre un mot de passe si tout le monde pouvait s'en servir ?

Éventuellement, bien que ça me paraisse compliqué, tu peux demander à l'utilisateur de rentrer son code Windows puis de la crypter pour la comparer avec la clé de l'utilisateur Windows.
Personnellement si un programme me demandait mon mot de passe Windows, je me méfierai et je ne lui donnerai pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 838
5 juil. 2009 à 19:09
Salut,
Il y a deux façons de stocker les MdP dans la base SAM locale (lorsqu'il n'y a pas de contrôleur de domaine bien sûr). Soit il s'agit de LM, soit de NTLM.
LM est très mauvais cryptographiquement puisqu'il s'agit de convertir de padder à 14 lettres en rajoutant des NULL caracters, de convertir tout en majuscule, et de le séparer en deux mots de passe de 7 caractères qui serviront de clés pour chiffrer un magic word "KGS!@#$%". Les deux résultats seront concaténés pour obtenir le chiffre LM de 16 caractères.

NTLM utilise la fonction de hachage MD4.

Pour cela, tu devras donc implémenter ces deux algorithmes dans ton programme ou utiliser des bibliothèques. Pour récupérer le hash des mots de passe, tu devras contourner la sécurité d'accès à la base SAM locale en utilisant la technique d'injection de DLL. Cette technique est utilisée par PWdump dont tu pourras t'inspirer largement.

Après, il ne te restera plus qu'à réaliser la partie bruteforce.

Cdlt
0