Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/kolmteistov/gobalance-patch
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणक्रिप्टोग्राफीपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubkolmteistov/gobalance-patch

gobalance-patch

GoBalance onion load balancer के लिए सुरक्षा पैच और proof-of-concept, जिसमें blindedSign के माध्यम से master key recovery और forged descriptor acceptance को कवर किया गया है, साथ में regression tests भी शामिल हैं।

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

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

सभी देखें →

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

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

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

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

GoBalance सुरक्षा पैच और PoC

gitlab.com/n0tr1v/gobalance के लिए एडवाइज़री पैकेज - मास्टर ब्रांच, कमिट bb1b0f3 ("fix crash")। स्थिति: गंभीर - दो स्वतंत्र पूर्ण-अधिग्रहण पथ। अपस्ट्रीम patch1 ब्रांच इनमें से किसी को भी ठीक नहीं करती।

इस पैकेज में एक पूर्ण सुरक्षा पैच, दोनों हमला पथों के लिए एक एंड-टू-एंड प्रूफ-ऑफ-कॉन्सेप्ट, और फिक्स के स्थायी होने को सिद्ध करने वाले रिग्रेशन टेस्ट शामिल हैं। यह दो फ़ोरमों को प्रभावित करने वाली हाल की onion-डोमेन अधिग्रहण घटनाओं के संबंध में तैयार की गई पूर्ण भेद्यता विश्लेषण रिपोर्ट ("Laporan Analisis Keamanan GoBalance") के साथ आता है। चरण-दर-चरण बिल्ड और टेस्ट गाइड USAGE.md में है।


1. कार्यकारी सारांश

#भेद्यतागंभीरताप्रभावस्थिति
1मास्टर पहचान कुंजी blindedSign के माध्यम से लीक होती है (स्थिर nonce प्रीफ़िक्स)गंभीरएकल सार्वजनिक डिस्क्रिप्टर से पूर्ण onion पहचान पुनर्प्राप्तिठीक किया गया
2RegisterDescriptor जाली इंस्टेंस डिस्क्रिप्टर स्वीकार करता है (कोई हस्ताक्षर / बाइंडिंग सत्यापन नहीं)गंभीरकिसी भी GoBalance फ्रंटएंड का ट्रैफ़िक हाईजैकठीक किया गया
3pkg/brand में नियतात्मक, समय-सीडेड RNG पथउच्च (फुटगन)इसका उपयोग करने वाली किसी भी चीज़ के लिए पूर्वानुमेय कुंजी सामग्रीहटाया गया
4इंट्रोडक्शन-पॉइंट शफल math/rand का उपयोग करता हैनिम्नप्रोटोकॉल-निकट कोड में कमज़ोर रैंडमनेसcrypto/rand से बदला गया

भेद्यता #1 - एक सार्वजनिक डिस्क्रिप्टर से मास्टर कुंजी पुनर्प्राप्ति (गंभीर)

pkg/stem/descriptor/hidden_service.go में डिस्पैचर blindedSign() ने identityKey.Seed() - कच्चे 32-बाइट स्केलर a - को BlindedSignWithTorKey() में पास किया। Tor-प्रारूप कुंजियाँ विस्तारित कुंजियाँ हैं: 64 बाइट (a || h), जहाँ h वह PRF कुंजी है जो प्रति-हस्ताक्षर nonce प्रीफ़िक्स व्युत्पन्न करती है। h अनुपस्थित होने पर, nonce व्युत्पत्ति इनपुट खाली था और

kPrime = SHA512("Derive temporary signing key hash input" || <empty>)

एक सार्वजनिक स्थिरांक बन गया। परिणाम: जो कोई भी एक प्रकाशित डिस्क्रिप्टर पढ़ सकता है, वह nonce r की पुनर्गणना कर सकता है, ब्लाइंडेड स्केलर s' = (S − r) · H(R‖PK‖M)⁻¹ mod L के लिए हल कर सकता है, और इसे एक सार्वजनिक गुणक से अनब्लाइंड कर सकता है - onion सेवा की मास्टर पहचान कुंजी पुनर्प्राप्त कर सकता है। कोई सर्वर एक्सेस नहीं, कोई MitM नहीं, कोई ब्रूट फ़ोर्स नहीं। यह एक मूक डोमेन-अधिग्रहण प्रिमिटिव है और हाल के फ़ोरम हाईजैक में देखे गए तंत्र के अनुरूप है।

फिक्स: डिस्पैचर अब पूर्ण विस्तारित कुंजी (gobpk.PrivateKey.PrivKey()) अग्रेषित करता है; BlindedSignWithTorKey किसी भी ऐसी कुंजी पर पैनिक करता है जो ठीक 64 बाइट नहीं है; blindedSignP2 रक्षा-गहराई के रूप में स्वतंत्र रूप से ESK लंबाई लागू करता है; gobpk.New लोड समय पर काटी गई Tor कुंजियों को अस्वीकार करता है।

भेद्यता #2 - जाली इंस्टेंस डिस्क्रिप्टर स्वीकार किए गए (गंभीर)

NewReceivedDescriptor() ने जो कुछ भी नेटवर्क ने दिया उसे पार्स किया और विश्वास किया। चूँकि सबक्रेडेंशियल डिस्क्रिप्टर के भीतर ही ले जाई गई ब्लाइंडेड कुंजी से व्युत्पन्न होते हैं, एक हमलावर अपनी कुंजियों का उपयोग करके किसी और के onion पते के लिए क्रिप्टोग्राफ़िक रूप से स्व-संगत डिस्क्रिप्टर बना सकता था। फिर फ्रंटएंड पीड़ित की पहचान के अंतर्गत हमलावर के इंट्रोडक्शन पॉइंट्स को पुनः प्रकाशित कर देता - एक पूर्ण ट्रैफ़िक हाईजैक जिसके लिए किसी कुंजी पुनर्प्राप्ति की आवश्यकता ही नहीं होती।

फिक्स: नए VerifyHiddenServiceDescriptorV3() में तीन-स्तरीय सत्यापन: (1) ब्लाइंडेड कुंजी के अंतर्गत प्रमाणपत्र हस्ताक्षर, (2) प्रमाणित साइनिंग कुंजी के अंतर्गत डिस्क्रिप्टर हस्ताक्षर, और (3) बाइंडिंग - ब्लाइंडेड कुंजी उस मान के बराबर होनी चाहिए जिसकी फ्रंटएंड स्वतंत्र रूप से सहमति (GetBlindingParam + समय अवधि) और इंस्टेंस पते से गणना करता है। RegisterDescriptor फेल-क्लोज़्ड है: लाइव सहमति के बिना यह अंधाधुंध विश्वास करने के बजाय पंजीकरण से इनकार कर देता है।

2. इस पैकेज में क्या है

gobalance-patch/
├── README.md                  ← this file (English)
├── USAGE.md                   ← step-by-step build & test guide (English)
├── README_ID.md               ← ringkasan patch (Bahasa Indonesia)
├── gobalance-security.patch   ← unified diff against master@bb1b0f3 (7 files, +360/−94)
├── gobalance-patched/         ← full pre-patched source tree (drop-in)
│   ├── go.mod / go.sum / main.go
│   ├── pkg/…                  ← patched libraries, incl. regression tests
│   ├── poc/                   ← end-to-end attack demo + vulnerable code snapshot
│   ├── cmd/gbdemo/            ← standalone recovery demo CLI (+ E2E tests) - USAGE #13
│   └── tools/                 ← pem2tor.py (PEM→Tor key converter), get_desc.py (descriptor fetch)
└── gobalance-v1/              ← community fork "GoBalance Enhanced v1.0" (Dread), bundled
                                 as distributed for testing - still VULNERABLE - USAGE #14

3. त्वरित शुरुआत

# Option A - patch a fresh upstream checkout
git clone https://gitlab.com/n0tr1v/gobalance && cd gobalance
git apply /path/to/gobalance-security.patch
go build ./... && go test ./...

# Option B - use the bundled pre-patched tree (fastest)
cd gobalance-patched
go build ./...
go test ./poc/ -v      # attack demo: succeeds vs vulnerable snapshot, fails vs patch
go test ./...          # full suite: 8 packages ok

अपेक्षित आउटपुट के साथ पूर्ण वॉकथ्रू के लिए USAGE.md देखें।

4. PoC क्या सिद्ध करता है

  1. हमला (भेद्य कोड): मास्टर स्केलर एकल सार्वजनिक डिस्क्रिप्टर से पुनर्प्राप्त किया जाता है, और पुनर्प्राप्त कुंजी से भविष्य की समय अवधि के लिए जाली बनाया गया हस्ताक्षर पीड़ित के वास्तविक हस्ताक्षर के बाइट-दर-बाइट समान होता है - Test01_Vulnerable_MasterKeyRecoveredFromSingleDescriptor।
  2. रक्षा: पैच किया गया बिल्ड काटी गई 32-बाइट Tor कुंजी को जोखिम का नाम लेते हुए स्पष्ट पैनिक के साथ अस्वीकार करता है - Test02_Patched_TruncatedTorKeyRejected।
  3. संगतता: पैच किए गए tor-पथ हस्ताक्षर अभी भी ब्लाइंडेड सार्वजनिक कुंजी के अंतर्गत मानक ed25519 के रूप में सत्यापित होते हैं, इसलिए Tor अंतर-संचालनीयता अपरिवर्तित है - Test03_Patched_TorPathSignaturesVerifyAsStdEd25519।
  4. रक्षा: पैच किए गए कोड के विरुद्ध वही हमला गणित दोहराने पर कचरा प्राप्त होता है जो अब वास्तविक मास्टर स्केलर से मेल नहीं खाता - Test04_Patched_AttackMathYieldsGarbage।
  5. रक्षा (#2): एक स्व-संगत जाली डिस्क्रिप्टर पुराने विश्वास मॉडल की जाँचों (पार्स + cert-sig + descriptor-sig) को पास कर देता है लेकिन नई सहमति बाइंडिंग जाँच द्वारा अस्वीकार कर दिया जाता है - TestForgedSelfConsistentDescriptorIsDetected।
  6. रक्षा (#2): वास्तविक इनटेक पथ ईमानदार डिस्क्रिप्टर स्वीकार करता है और छेड़छाड़ किए गए / गलत-बाइंड किए गए को अस्वीकार करता है - TestNewReceivedDescriptor_AcceptsHonestDescriptor, _RejectsTamperedSignature, _RejectsWrongIdentityBinding।

PoC में सभी कुंजियाँ टेस्ट समय पर स्थानीय रूप से उत्पन्न होती हैं। किसी वास्तविक सेवा को लक्षित नहीं किया गया।

5. परिचालन नोट्स - तैनाती से पहले पढ़ें

  1. यदि आपने कभी भेद्य कोड चलाया है तो कुंजियाँ रोटेट करें। मास्टर कुंजी पुनर्प्राप्त करने के लिए एक सार्वजनिक डिस्क्रिप्टर पर्याप्त था (भेद्यता #1)। पैच आगे बढ़ते हुए लीक को बंद कर देता है लेकिन पहले से सार्वजनिक किए गए डिस्क्रिप्टर को अप्रकाशित नहीं कर सकता। एक नई onion पहचान बनाएँ और माइग्रेट करें।
  2. वायर संगतता संरक्षित है। डिस्क्रिप्टर प्रारूप अपरिवर्तित हैं और हस्ताक्षर ब्लाइंडेड कुंजी के अंतर्गत मानक ed25519 बने हुए हैं - Tor और सामान्य सत्यापनकर्ता कोई अंतर नहीं देखते। Seed/PEM-प्रारूप कुंजियाँ पहले की तरह ही व्यवहार करती हैं (वह पथ हमेशा सही था; मूल TestBlindedSign अभी भी पास होता है)।
  3. फेल-क्लोज़्ड व्यवहार जानबूझकर है। लाइव सहमति के बिना फ्रंटएंड अब इंस्टेंस डिस्क्रिप्टर को अंधाधुंध विश्वास करने के बजाय पंजीकृत करने से इनकार कर देता है।
  4. अपस्ट्रीम patch1 ब्रांच भेद्यता #1 या #2 को ठीक नहीं करती। यह पैच मास्टर के ऊपर लागू किया जाना चाहिए (या बंडल किया गया ट्री उपयोग करें)।

6. टेस्ट वातावरण

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