Rechercher : dans
Par :

[C++] Obtenir le mot de passe windows

Dernière réponse le 5 jui 2009 à 19:09:21 Marm, le 3 jui 2009 à 18:49:10 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.11

Meilleures réponses pour « [C++] Obtenir le mot de passe windows » dans :
[Windows] Mot de passe de session perdu ou oublié VoirCette astuce vous aidera si vous avez perdu votre mot de passe de session. Cette méthode fonctionne jusqu'à Windows 2000, mais pas (ou plus ?) XP. Si vous n'êtes pas l'administrateur du système Il est nécessaire de demander à l'administrateur de...
Comment changer mon mot de passe sous WLM/MSN VoirPour changer son mot de passe Windows Live Messenger, il suffit d'utiliser l'interface prévue à cet effet : http://memberservicesnet.passport.net/memberservice.srf?lc=1036 Si vous avez perdu votre mot de passe, merci de vous référer à...
Mettre un mot de passe dans le compte invité Voirtesté sous vista et xp Attribuer un mot de passe au compte invité vous avez activé le compte invité sur votre ordinateur, mais vous ne voulez pas que tout le monde y accède, donc il faut mettre un mot de passe, sachant que windows ne propose pas...

1

Melies, le 5 jui 2009 à 15:19:14
  • +1

Ca a été expliqué depuis longtemps chez les pros (http://tinyurl.com/cvd7wv )
(1995 !)

Répondre à Melies

2

loveparade, le 5 jui 2009 à 17:49:44

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...)
loveparade at your service
Linux Debian Lenny on AMD64, x86 and external usb disk

Répondre à loveparade

3

KX, le 5 jui 2009 à 18:53:33

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) La confiance n'exclut pas le contrôle 

Répondre à KX

4

Marm, le 5 jui 2009 à 19:02:24

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

Répondre à Marm

5

KX, le 5 jui 2009 à 19:09:06

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... La confiance n'exclut pas le contrôle 

Répondre à KX

6

 fiddy, le 5 jui 2009 à 19:09:21

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
Google is your friend

Répondre à fiddy