2008-09-22 6 views
8

में लॉग इन किए गए उपयोगकर्ता का उपयोगकर्ता नाम/पासवर्ड प्राप्त करना क्या वर्तमान में विंडोज में उपयोगकर्ता के नाम और पासवर्ड में लॉग इन करने के लिए कोई एपीआई है?विंडोज

अग्रिम धन्यवाद।

उत्तर

28

पासवर्ड: नहीं, सुरक्षा कारणों से इसे बनाए रखा नहीं जाता है - इसका उपयोग किया जाता है, फिर त्याग दिया जाता है। आप इस उपयोगकर्ता के लिए पर्याप्त विशेषाधिकार दिए गए रजिस्ट्री से एन्क्रिप्टेड पासवर्ड पुनर्प्राप्त कर सकते हैं, फिर इसे rainbow tables जैसे कुछ का उपयोग करके डिक्रिप्ट कर सकते हैं, लेकिन यह वर्तमान संसाधनों का उपयोग करके अत्यधिक संसाधन गहन और समय लेने वाला है। उपयोगकर्ता को संकेत देने के लिए बहुत बेहतर है।

वैकल्पिक रूप से, यदि आप नोवेल के रूप में किसी प्रकार की 'एकल साइनऑन' प्रणाली को कार्यान्वित करना चाहते हैं, तो आपको इसे एक जीआईएनए (प्री-विस्टा) या एक क्रेडेंशियल प्रदाता (Vista) के माध्यम से करना चाहिए, जिसके परिणामस्वरूप आपका कोड होगा लॉगिन पर उपयोगकर्ता नाम और पासवर्ड दिया जा रहा है, केवल एक ही समय पर पासवर्ड उपलब्ध है।

उपयोगकर्ता नाम के लिए, वर्तमान उपयोगकर्ता नाम (जो आपका कोड चला रहा है) प्राप्त करना आसान है: AdvApi32.dll में GetUserName फ़ंक्शन वास्तव में आपके लिए यह करता है।

यदि आप किसी सेवा के रूप में चल रहे हैं, तो आपको याद रखना होगा कि कोई भी "लॉग इन उपयोगकर्ता" नहीं है: किसी भी समय स्थानीय सिस्टम, नेटवर्क सेवा, सिस्टम और अन्य खातों जैसे किसी भी वास्तविक के अलावा कई हैं लोग। ऐसा करने के लिए This article provides some sample code and documentation

+0

धन्यवाद - मैं पासवर्ड को तोड़ नहीं करना चाहता, मैं सिर्फ उपयोगकर्ता एक कदम को बचाने के लिए चाहता था, लेकिन वहाँ के बाद से कोई 'अच्छा' तरीका है कि ऐसा करने के लिए, मैं सिर्फ इसके लिए उपयोगकर्ता को कहेंगे। – dennisV

3

यदि संभव हो तो मैं इसे एक बड़ी सुरक्षा दोष मानता हूं!

+1

हाँ, कि क्या मैं भी सोच रहा हूँ, लेकिन अच्छी तरह जांचें कि मैं कुछ भी याद नहीं है ... – dennisV

2

GetUserName आपको नाम मिलेगा, लेकिन वह पासवर्ड जो आपको प्राप्त नहीं हो सकता है। यह विंडोज स्टोर भी नहीं है, AFAIK - केवल आपके पासवर्ड का हैश।

जो आप प्राप्त करने की कोशिश कर रहे हैं उसके आधार पर (आप हमें थोड़ा और बता सकते हैं ..) उपयोगकर्ता पर लॉग ऑन करना और उसकी ओर से सामान करना संभव है।

+0

धन्यवाद करना चाहता था है - कि मैं क्या सोचा है। – dennisV

4

आप किसी एन्क्रिप्टेड के बाद से उपयोगकर्ता का पासवर्ड नहीं प्राप्त कर सकते हैं (यह उल्लेख न करें कि यह एक मानक अभ्यास है जो सादे टेक्स्ट में पासवर्ड स्टोर नहीं करता है)।

उपयोगकर्ता नाम हो रही है के लिए, आप उपयोग कर सकते हैं GetUserName या NPGetUser

0

आप कर सकते हैं GetUserName() के साथ उपयोगकर्ता नाम मिलता है, लेकिन आप पासवर्ड नहीं मिल सकता है; यह डमीज 101 के लिए सुरक्षा का उल्लंघन करेगा।

+0

धन्यवाद - मुझे लगता है कि उपयोगकर्ता को संकेत देना होगा। – dennisV

3

ध्यान दें कि यह कैसे किया जाता है, लेकिन http://www.nirsoft.net/utils/network_password_recovery.html से "नेटवर्क पासवर्ड रिकवरी" टूल कुछ कैश से पासवर्ड प्राप्त करता प्रतीत होता है।

+0

बहुत रोचक - धन्यवाद! – dennisV

0

फिर "नेटवर्क पासवर्ड रिकवरी" उपकरण
Windows (XP तक) एक सरल आसान के साथ पासवर्ड की एक कॉपी संग्रहीत तोड़ने के लिए एन्क्रिप्शन - पुरानी शैली lanmanager नेटवर्क शेयरों को जोड़ने के लिए। उपकरण सामान्य रूप से इसके खिलाफ सभी संभावित पासवर्ड आज़माएं, इंद्रधनुष तालिकाओं (शब्दकोश शब्दों के पूर्ववर्ती एन्क्रिप्टेड संस्करणों) का उपयोग करके इसे गति दें।

XPsp2/3 Vista में यह सुविधा हटा दी गई है। नई एन्क्रिप्शन क्रैक करने के लिए बहुत कठिन है और सभी संभावित मूल्यों को आजमाने के लिए कई घंटों की आवश्यकता है, ऑनलाइन सेवाएं हैं जो आपको बड़ी संख्या में मशीनों पर चलाएंगी ताकि आपको कीमत के लिए त्वरित उत्तर दिया जा सके।

मूल पोस्टर उत्तर देने के लिए - आप आमतौर पर पासवर्ड की दुकान नहीं है और क्या में आप एन्क्रिप्ट उपयोगकर्ता typd (वास्तव में हैश) के साथ तुलना में प्रवेश किया पासवर्ड और उस की दुकान।। पासवर्ड जांचने के लिए आप जो भी उपयोगकर्ता उत्साहित करते हैं और उसकी तुलना करते हैं, वही एन्क्रिप्शन करते हैं। एन्क्रिप्टेड फॉर्म से वास्तविक पासवर्ड पर जाना आम तौर पर असंभव है।

संपादित करें मुझे संदेह है कि आप यहां गलत सवाल पूछ रहे हैं - आप पासवर्ड क्यों चाहते हैं, आप क्या सत्यापित करने की कोशिश कर रहे हैं और कब?

mimikatz # privilege::debug 
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK 

mimikatz # sekurlsa::logonPasswords full 
... 
Utilisateur principal  : user 
Domaine d'authentification : domain 
     kerberos : 
     * Utilisateur : user 
     * Domaine  : domain 
     * Mot de passe : pass 
+0

हाँ, मैं समझता हूं। उपयोगकर्ता को थोड़ा सा "असामान्य" संकेत देना सुरक्षित है, क्योंकि मैंने ऐसा करने वाले बहुत से अनुप्रयोग नहीं देखे हैं। – dennisV

+0

मैं पासवर्ड सत्यापित नहीं करना चाहते हैं, मैं वास्तव में एक उपयोगकर्ता के रूप में लॉग ऑन करने के लिए सेवा सेटिंग सेट करना चाहते हैं और इसके लिए मैं उपयोगकर्ता नाम और पासवर्ड की आवश्यकता है। मैंने सोचा कि मैं एक उपयोगकर्ता कुछ परेशानी को बचाने अगर मैं उस जानकारी स्वचालित रूप से मिल सकता है सकते हैं, लेकिन मैं नहीं कर सकता है, तो इसके लिए पूछने के लिए कुछ जीयूआई है करना होगा। – dennisV

+0

@ डेनिसवी क्या आपको इसके लिए कोई समाधान मिला है? – lucacerone

2

कई टिप्पणीकर्ताओं जो मानना ​​है कि यह वर्तमान में प्रवेश किए उपयोगकर्ता का पासवर्ड प्रकट करने के लिए संभव नहीं है के लिए, Dump cleartext passwords of logged in user(s) जो दिखाता है mimikatz उपयोग करने के लिए कैसे सिर्फ इतना है कि ऐसा करने के लिए देखना विंडोज लॉगिन पासवर्ड के बारे में जानें ... लेकिन आप निश्चित रूप से प्रमाण-पत्र प्रबंधक से सादे टेक्स्ट पासवर्ड खींच सकते हैं। उदाहरण के लिए यहां टीएफएस के लिए पासवर्ड खींचने के लिए एक कार्यक्रम है। ज्यादातर मामलों में, यह विंडोज लॉगिन के समान है।

namespace ShowPassword 
{ 
    using Microsoft.TeamFoundation.Client; 
    using System; 
    using System.Net; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      var tpc = new TfsTeamProjectCollection(new Uri("http://mycompany.com/tfs")); 
      var nc = tpc.Credentials as NetworkCredential; 
      Console.WriteLine("the password is " + nc.Password); 
     } 
    } 
} 

मैं इस Nuget पैकेज TeamFoundation ExtendedClient साथ बनाम 2015 के तहत के रूप में "कंसोल" एप्लिकेशन को संकलित।