Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/ivancabrera02/hashsiphon
रक्षात्मक उपकरणपासवर्ड हमलेजानकारी एकत्र करनापोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubivancabrera02/hashsiphon

HashSiphon

वर्तमान उपयोगकर्ता के NetNTLMv2 हैश को HTTP प्रमाणीकरण प्रॉक्सी के माध्यम से निकालता है, सीधे SSPI कॉल से बचता है; v2 प्रक्रिया एट्रिब्यूशन को तोड़ने के लिए प्रमाणीकरण को BITS सेवा को सौंपता है।

रिपॉजिटरी देखें
32567 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

HashSiphon

HTTP-लेयर प्रमाणीकरण प्रॉक्सी के माध्यम से NTLM हैश निष्कर्षण, आक्रमणकारी प्रक्रिया से शून्य SSPI कॉल।

HashSiphon वर्तमान उपयोगकर्ता का NetNTLMv2 हैश निकालता है, सीधे SSPI API को कॉल करने के बजाय HTTP प्रमाणीकरण प्रवाह में हेरफेर करके। यह दो वेरिएंट प्रदान करता है: v1 उसी प्रक्रिया के भीतर .NET के HTTP स्टैक के माध्यम से NTLM प्रमाणीकरण को रूट करता है, और v2 प्रमाणीकरण को पूरी तरह से एक अलग PID में BITS सेवा (svchost.exe) को सौंपता है, जिससे प्रक्रिया-स्तरीय एट्रिब्यूशन पूरी तरह टूट जाता है।

यह क्यों मायने रखता है

प्रत्येक ज्ञात NTLM हैश स्व-निष्कर्षण उपकरण Internal Monologue, मैनुअल SSPI स्क्रिप्ट, और उनके व्युत्पन्न आक्रमणकारी की अपनी प्रक्रिया से AcquireCredentialsHandle → InitializeSecurityContext → AcceptSecurityContext को कॉल करते हैं। EDR इन SSPI फ़ंक्शन्स को हुक करते हैं और कॉल श्रृंखला को फ़्लैग करते हैं।

HashSiphon एक मौलिक रूप से भिन्न मार्ग अपनाता है:

पहलूInternal MonologueHashSiphon v1HashSiphon v2
आक्रमणकारी PID से SSPI कॉल4+ प्रत्यक्ष कॉल0 प्रत्यक्ष (WinHTTP आंतरिक रूप से कॉल करता है)हमारे स्वामित्व वाली किसी भी प्रक्रिया में 0
प्रमाणीकरण प्रक्रियाआक्रमणकारी PIDआक्रमणकारी PID (HTTP स्टैक के माध्यम से)svchost.exe (BITS सेवा)
सुरक्षा API आयातSSPI DLL आयात आवश्यकहमारे कोड में कोई नहींहमारे कोड में कोई नहीं
पहचान सतहSSPI हुक, API कॉल पैटर्नHTTP लूपबैक ट्रैफ़िकBITS जॉब + लूपबैक ट्रैफ़िक
प्रक्रिया एट्रिब्यूशनआक्रमणकारी PIDआक्रमणकारी PIDटूटा हुआ, पूरी तरह से भिन्न PID

यह कैसे काम करता है

दोनों वेरिएंट एक ही मूल साझा करते हैं: 127.0.0.1 पर एक न्यूनतम TCP सर्वर जो NTLM चैलेंज-रिस्पॉन्स एक्सचेंज करने के लिए पर्याप्त HTTP बोलता है, एक नियंत्रित 8-बाइट चैलेंज के साथ ताकि कैप्चर किया गया हैश ऑफ़लाइन क्रैक करने योग्य हो।

v1 — HTTP स्व-प्रमाणीकरण (HashSiphon.ps1)

root@kitploit:~
┌──────────────────────────┐
│     PowerShell (PID X)   │
│                          │
│  ┌────────────────────┐  │          ┌──────────────────────┐
│  │ TCP Server (C#)    │◄─┼──────────┤ HttpWebRequest +     │
│  │ Loopback :random   │  │  HTTP    │ DefaultCredentials   │
│  │                    │──┼──────────►                      │
│  │ 1. Send 401+NTLM   │  │  NTLM    │ WinHTTP auto-auths   │
│  │ 2. Send Type 2     │  │  Type    │ using current user's │
│  │ 3. Capture Type 3  │  │  1/2/3   │ credentials          │
│  │ 4. Extract hash    │  │          │                      │
│  └────────────────────┘  │          └──────────────────────┘
└──────────────────────────┘
  1. Add-Type के माध्यम से एक C# TCP सर्वर संकलित करता है, 127.0.0.1:0 (OS-निर्धारित पोर्ट) पर बाइंड करता है
  2. क्लाइंट HttpWebRequest + CredentialCache.DefaultCredentials के साथ कनेक्ट करता है
  3. सर्वर नेगोशिएशन ट्रिगर करने के लिए WWW-Authenticate: NTLM के साथ HTTP 401 का जवाब देता है
  4. WinHTTP NTLM Type 1 भेजता है → सर्वर एक तैयार Type 2 (नियंत्रित चैलेंज) के साथ जवाब देता है → WinHTTP Type 3 भेजता है
  5. सर्वर Type 3 को पार्स करता है और NetNTLMv2 हैश निकालता है

ट्रेड-ऑफ: WinHTTP आंतरिक रूप से उसी PID के भीतर SSPI को कॉल करता है, कोई प्रत्यक्ष आयात नहीं, लेकिन कॉल स्टैक अभी भी हम तक वापस ट्रेस होता है।

v2 — BITS सेवा प्रॉक्सी (HashSiphonV2.ps1)

root@kitploit:~
┌─────────────────────┐         ┌───────────────────────────┐
│  PowerShell (PID X) │         │  svchost.exe (PID Y)      │
│                     │         │  BITS Service             │
│  ┌───────────────┐  │  HTTP   │                           │
│  │ TCP Server    │◄─┼─────────┤  BITS downloads from our  │
│  │ (Background   │  │  NTLM   │  server, auto-authenticates│
│  │  Runspace)    │──┼─────────►  using job owner's creds   │
│  └───────────────┘  │  Type   │                           │
│                     │  1/2/3  │  SSPI calls happen HERE,  │
│  Start-BitsTransfer─┼────────►│  not in PID X             │
│  (Trigger only)     │  COM    │                           │
└─────────────────────┘         └───────────────────────────┘
          │
          └── Our process: TcpListener + Start-BitsTransfer
              Zero SSPI. Zero security API imports.
  1. वही C# TCP सर्वर एक बैकग्राउंड PowerShell Runspace में शुरू होता है
  2. Start-BitsTransfer http://127.0.0.1:<port>/hashsiphon.bin की ओर इशारा करते हुए एक डाउनलोड जॉब बनाता है
  3. BITS सेवा (svchost.exe, एक पूरी तरह से अलग PID) हमारे सर्वर से कनेक्ट करती है
  4. BITS जॉब स्वामी की क्रेडेंशियल्स के साथ प्रमाणीकरण करता है, NTLM एक्सचेंज हमारे सर्वर द्वारा कैप्चर किया जाता है
  5. सर्वर एक बॉडी के साथ HTTP 200 लौटाता है ताकि BITS ट्रांसफर को सफल माने
  6. Type 3 संदेश से हैश निकाला जाता है

सफलता: हमारी प्रक्रिया कभी भी SSPI को कॉल नहीं करती, न सीधे, न WinHTTP के माध्यम से, बिल्कुल नहीं। संपूर्ण NTLM गणना svchost.exe में होती है। EDR SSPI हुक कॉल स्टैक को BITS सेवा प्रक्रिया में देखते हैं, हमारी में नहीं।

उपयोग

आवश्यकताएँ

  • Windows 10/11
  • PowerShell 5.1+
  • मानक उपयोगकर्ता विशेषाधिकार (व्यवस्थापक की आवश्यकता नहीं)
  • BITS सेवा चल रही हो (Windows पर डिफ़ॉल्ट)

v1 चलाना

root@kitploit:~
powershell -ExecutionPolicy Bypass -File HashSiphon.ps1

v2 चलाना

root@kitploit:~
powershell -ExecutionPolicy Bypass -File HashSiphonV2.ps1

अपेक्षित आउटपुट (v2)

root@kitploit:~
  [*] Compiling HashSiphon v2 server...
  [+] Server compiled

  HashSiphon v2.0 - BITS Service Proxy Authentication
  Auth by svchost.exe (BITS), not our process

  [1] NTLM HTTP server ready on 127.0.0.1:52847
  [2] Controlled challenge: 1122334455667788
  [3] Triggering BITS transfer to our server...
  [4] BITS transfer initiated

  [+] User:        ivan
  [+] Domain:      DESKTOP-ABCDEF
  [+] NT response: 280 bytes (NTLMv2)

  +----------------------------------------------------------+
  |     NetNTLMv2 HASH - Extracted via BITS service proxy!   |
  +----------------------------------------------------------+
  |  hashcat -m 5600 | john --format=netntlmv2               |
  +----------------------------------------------------------+

  ivan::DESKTOP-ABCDEF:1122334455667788:<NTProofStr>:<ClientBlob>

  +----------------------------------------------------------+
  |  ATTRIBUTION ANALYSIS                                    |
  +----------------------------------------------------------+
  |  Our PID:      844  (PowerShell)                         |
  |  Auth by:      BITS service (svchost.exe, PID 5500)      |
  |  SSPI calls:   Zero from PID 844                         |
  |  Our APIs:     TcpListener + Start-BitsTransfer only     |
  +----------------------------------------------------------+

फ़ॉलबैक व्यवहार

यदि BITS विफल हो जाता है (सेवा अक्षम, मॉड्यूल अनुपलब्ध), तो v2 स्वचालित रूप से Invoke-WebRequest -UseDefaultCredentials के साथ एक चाइल्ड powershell.exe प्रक्रिया लॉन्च करने पर फ़ॉलबैक करता है। यह अभी भी PID पृथक्करण प्राप्त करता है, हालाँकि चाइल्ड प्रक्रिया BITS की तुलना में अधिक दृश्यमान है।

टूल डाउनलोड करें