उपयोगकर्ता खाते और पासवर्ड का परीक्षण करने के लिए उपकरण (परीक्षण लॉगिन)


46

हाँ, मैं किसी वीएम या रिमोट को किसी चीज़ में आग लगा सकता हूं और पासवर्ड की कोशिश कर सकता हूं ... मुझे पता है ... लेकिन क्या कोई उपकरण या स्क्रिप्ट है जो लॉगिन को पर्याप्त रूप से प्रमाणित करेगा या पुष्टि करेगा कि पासवर्ड सही है?

परिदृश्य:

एक सर्वर सेवा खाते का पासवर्ड "भूल गया" है ... लेकिन हमें लगता है कि हम जानते हैं कि यह क्या है। मैं कुछ को क्रेडेंशियल्स पास करना चाहता हूं और इसे "सही पासवर्ड" या "गलत पासवर्ड" के साथ वापस किक करना है।

मैंने उस उपयोगकर्ता खाते और पासवर्ड के साथ एक ड्राइव मैपिंग स्क्रिप्ट के बारे में भी सोचा था, यह देखने के लिए कि क्या उसने ड्राइव को सफलतापूर्वक मैप किया है या नहीं, लेकिन इसे सही ढंग से काम करने के तर्क में खो गया ... कुछ इस तरह:

-स्क्रिप्ट संदेश के माध्यम से उपयोगकर्ता नाम पूछती है -स्क्रिप्ट के माध्यम से पासवर्ड के लिए पूछती है -स्क्रिप्ट एक साझा साझा करने के लिए एक ड्राइव को मैप करने की कोशिश करती है, जो कि सभी के पास -स्क्रिप्ट अनुपयोगी ड्राइव तक पहुंचता है यदि सफल -स्क्रिप्ट वापस आता है तो पॉपअप संदेश बॉक्स "सही पासवर्ड" या "गलत" बताता है पारण शब्द"

किसी भी मदद की सराहना की है ... आपको लगता है कि यह एक दुर्लभ घटना होगी इसे समर्थन करने के लिए एक उपकरण की आवश्यकता नहीं है लेकिन ... अच्छी तरह से ...।


क्या ओएस? क्या सेवा?
क्रिस्टियन सियुपिटु

@Cristian - विंडोज डोमेन खाते - सिर्फ यह सत्यापित करें कि पासवर्ड सही है या नहीं
TheCleaner

जवाबों:


77
runas /u:yourdomain\a_test_user notepad.exe

उपयोगिता पासवर्ड के लिए संकेत देगी, यदि सही पासवर्ड प्रदान किया गया है, तो नोटपैड लॉन्च करेगा, यदि नहीं तो यह त्रुटि 1326 उत्पन्न करेगा: उपयोगकर्ता नाम या पासवर्ड गलत है


1
चतुर रॉबर्टो। +1
क्लींकर

3
सरल। सुरुचिपूर्ण। मुझें यह पसंद है।
यह उतार चढ़ाव भरा

5
बहुत बढ़िया! इस समाधान के स्वीकृत उत्तर पर दो महत्वपूर्ण लाभ हैं: 1) विंडोज एक्सपी + बॉक्स पर उपलब्ध है, इससे संबंधित कुछ भी डाउनलोड नहीं करना है, 2) इससे संबंधित है: जैसा कि यह एमएस से है, इसके लिए मुझे अपने पर भरोसा करने की आवश्यकता नहीं है अज्ञात सिद्धता के कुछ तृतीय-पक्ष टूल का पासवर्ड।
akavel

2
सर्वरफॉल्ट आईटी इसे जानता है, लेकिन यदि आप एक घरेलू उपयोगकर्ता हैं जो इस उत्तर को एक वेब खोज से ढूंढ रहे हैं (तो यह सबसे अच्छा उत्तर है - केवल विंडोज के साथ आने वाले सामान का उपयोग करता है): एक घरेलू कंप्यूटर पर, yourdomainऊपर का हिस्सा आपका है कंप्यूटर का नाम । नियंत्रण कक्ष> सिस्टम में खोजें। मूल्यों में से एक शाब्दिक है कि, "कंप्यूटर का नाम:"। जैसे अगर आप कंप्यूटर का नाम "स्मिथ-लैपटॉप" और आपका उपयोगकर्ता नाम "जो" है, तो आप करेंगेrunas /u:smith-laptop\joe notepad.exe
Daryn

1
एक सफल प्रमाणीकरण पर, आपको बस एक त्रुटि मिल सकती है जैसे1385: Logon failure: the user has not been granted the requested logon type at this computer.
mwfearnley

11

पॉवर्सशेल स्क्रिप्ट:

#usage: Test-UserCredential -username UserNameToTest -password (Read-Host)

Function Test-UserCredential { 
    Param($username, $password) 
    Add-Type -AssemblyName System.DirectoryServices.AccountManagement 
    $ct = [System.DirectoryServices.AccountManagement.ContextType]::Machine, $env:computername 
    $opt = [System.DirectoryServices.AccountManagement.ContextOptions]::SimpleBind 
    $pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList $ct 
    $Result = $pc.ValidateCredentials($username, $password).ToString() 
    $Result 
} 

http://powershellcommunity.org/Forums/tabid/54/aft/8034/Default.aspx


new-object directoryservices.directoryentry "",$username,$password- रिटर्न वैल्यू, क्रेडेंशियल्स काम करते हैं, अपवाद, वे काम नहीं करते हैं। इस उत्तर से लिया गया है जहाँ इसे एक साफ समारोह में लपेटा गया है: serverfault.com/q/596602/57144
TessellatingHeckler

5

आप भी उपयोग कर सकते हैं:

नेट का उपयोग \\ संगणना \ शार्कनाम [पासवर्ड] / उपयोगकर्ता:] उपयोगकर्ता नाम]

यदि दूरस्थ कंप्यूटर पर उस नाम से कोई हिस्सा है। या, C$यदि खाता एक व्यवस्थापक है तो उपयोग करें ।


1

आप एक आसान vbscript फ़ंक्शन लिख सकते हैं जो इसे सत्यापित कर सकता है ... कुछ इस तरह:

Function GoodPassword(strAdminUsername, strAdminPassword, strNTDomain)
    Const ADS_SECURE_AUTHENTICATION = 1

    On Error Resume Next
    Set objIADS = GetObject("WinNT:").OpenDSObject("WinNT://" & _
                        strNTDomain, strAdminUserame, _
                        strAdminPassword, _
                        ADS_SECURE_AUTHENTICATION)
    if err.number = 0 then
       GoodPassword = True
    Else
       GoodPassword = False
    End If
    On Error GoTO 0
End Function

सूत्रों का कहना है:

http://www.4guysfromrolla.com/webtech/061202-1.shtml

http://hsdn.net/category_3.html


कृपया ध्यान दें कि यह 'एन' राशि के विफल होने के बाद एक खाते को लॉक कर देगा, 'एन' जो भी पॉलिसी आपने तय की है। यह हमेशा आपके द्वारा उपयोग किए जाने वाले किसी भी समाधान के लिए सही होना चाहिए।
mrTomahawk

इसके अलावा, वह चेक स्थानीय उपयोगकर्ताओं की साख को अनदेखा कर सकता है, जब तक कि आप इसे ट्वीक नहीं करते, उपयोगकर्ता नाम को दो बार इस तरह निर्दिष्ट करता है OpenDSObject("WinNT://domain/userName,user","userName", "password", 1)स्रोत
अगस्तिनो

1

Windows डेस्कटॉप पर आप SysInternals / MS द्वारा सक्रिय निर्देशिका एक्सप्लोरर का उपयोग कर सकते हैं:

https://docs.microsoft.com/en-us/sysinternals/downloads/adexplorer


मुझे लगता है कि आप पासवर्ड परीक्षण मामले के रूप में प्रारंभिक "कनेक्ट टू एक्टिव डायरेक्ट्री" संकेत दे रहे हैं - जो मेरे परीक्षण से काम करने के लिए लगता है। "उपयोगकर्ता नाम या पासवर्ड गलत है" में गलत पासवर्ड का परिणाम काफी जल्दी होता है, इसलिए यह संभव पासवर्ड की मानसिक सूची के माध्यम से काम करने के लिए एक सभ्य GUI- आधारित परीक्षण होगा।
जिमिनीम

0

आप पासवर्ड का परीक्षण करने के लिए कई प्रसिद्ध उपकरणों में से एक का उपयोग कर सकते हैं। एक मैंने देखा L0phtcrack है । हो सकता है कि आप प्रमाणीकरण डेटाबेस के डंप के साथ यह ऑफ़लाइन करने का एक तरीका भी हो। "दूसरी दुनिया" में, हम इस तरह के सामान के लिए "जॉन द रिपर" का उपयोग करते हैं।


1
मैं पासवर्ड को क्रैक करने या उनकी ताकत का परीक्षण करने की बात नहीं कर रहा हूं। मैं एक ऐसे टूल के बारे में बात कर रहा हूं जो मुझे बता सकता है कि क्या मैं किसी विशेष खाते के लिए दर्ज किया गया पासवर्ड उस खाते का पासवर्ड है।
18

@ TheCleaner: निश्चित रूप से, आप किसी विशिष्ट खाते के लिए सभी संभावित पासवर्डों के साथ शब्द-सूची बना सकते हैं और इस सूची का उपयोग खातों के सेट के लिए कर सकते हैं। या एक ही ... SMB या कुछ के साथ परीक्षण एक बुरा विचार है। यह आपके लॉग्स को भरता है, सत्रों को फ़ाइल सर्वर में गड़बड़ करता है, डीसी और फ़ाइल सर्वरों पर लोड आदि उत्पन्न करता है।
PEP

0

ऊपर से कोड का उपयोग करते हुए, सभी डोमेन खातों की जांच करके देखें कि क्या वे एक निश्चित पासवर्ड का उपयोग कर रहे हैं।

$usernames = Get-ADUser -Filter * | select -ExpandProperty SamAccountName

foreach ($username in $usernames) {
$password = "Password"
Add-Type -AssemblyName System.DirectoryServices.AccountManagement 
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Machine, $env:computername 
$opt = [System.DirectoryServices.AccountManagement.ContextOptions]::SimpleBind 
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList $ct 
$Result = $pc.ValidateCredentials("domain\$username", $password).ToString() 
If ($Result -eq "True") {echo "$username" >> C:\result.txt}
}

-1

प्रमाणीकरण (टेलनेट, पीओपी, आईएमएपी, एसएमटीपी, जो आप चाहते हैं) के साथ एक नेटवर्क सेवा का उपयोग क्यों नहीं करें? दूसरी तरफ, यदि आप मशीन पर हैं तो आप su - userToTestएक गैर निजी खाते से कोशिश कर सकते हैं। यदि पासवर्ड ठीक है, तो शेल के कनेक्शन की अनुमति देने पर आपको उपयोगकर्ताटेस्टेस्ट होमेडिर में अनुमति दी जाएगी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.