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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/naacbin/covenantdecryptor
एन्क्रिप्शन/डिक्रिप्शन उपकरणमेमोरी फोरेंसिकनेटवर्क फोरेंसिकमालवेयर विश्लेषणडिजिटल फोरेंसिकक्रिप्टोग्राफीकमांड एंड कंट्रोल
GitHubnaacbin/covenantdecryptor

CovenantDecryptor

मिनीडंप से RSA निजी कुंजियाँ निकालकर, AES सत्र कुंजियाँ पुनर्प्राप्त करके, और नेटवर्क कैप्चर को प्लेनटेक्स्ट में परिवर्तित करके Covenant C2 संचार को डिक्रिप्ट करता है।

रिपॉजिटरी देखें
37452 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CovenantDecryptor

CovenantDecryptor को Covenant ट्रैफ़िक के संचार डेटा को डिक्रिप्ट करने के लिए डिज़ाइन किया गया है।

मेमोरी से निजी कुंजी निकालने की प्रक्रिया अन्य C2, जैसे Empire, पर भी लागू होती है, क्योंकि यह कुंजी बनाने के लिए RSACryptoServiceProvider का उपयोग करता है।

Covenant संचार कैसे काम करता है ?

Covenant संचार आरंभीकरण में 3 चरण होते हैं :

  • Stage0 :
    1. संक्रमित एजेंट एक सार्वजनिक कुंजी प्रसारित करके RSA सत्र शुरू करता है, जिसे SetupAESKey का उपयोग करके एन्क्रिप्ट किया जाता है और जो एक दुर्भावनापूर्ण एक्ज़िक्यूटेबल में एम्बेडेड होती है। भेजने से पहले, यह GruntHTTPStager में वर्णित अनुसार टेक्स्ट को type 0 पर सेट करके फ़ॉर्मेट करता है।
    2. C2 आगामी संचार के लिए RSA सार्वजनिक कुंजी से एन्क्रिप्टेड SessionKey स्थानांतरित करता है।
  • Stage1 :
    1. संक्रमित एजेंट संदेश को डिक्रिप्ट करने के लिए SetupAESKey का उपयोग करता है, और फिर SessionKey को डिक्रिप्ट करने के लिए RSA निजी कुंजी का उपयोग करता है। इसके बाद, यह SessionKey के साथ 4 यादृच्छिक रूप से उत्पन्न बाइट्स को एन्क्रिप्ट करता है और उन्हें प्रसारित करता है। भेजने से पहले, यह GruntHTTPStager में वर्णित अनुसार टेक्स्ट को type 1 पर सेट करके फ़ॉर्मेट करता है।
    2. C2 SessionKey का उपयोग करके 4 बाइट्स को डिक्रिप्ट करता है, 4 अतिरिक्त यादृच्छिक रूप से उत्पन्न बाइट्स जोड़ता है और परिणामी 8 बाइट्स डेटा को संक्रमित एजेंट को स्थानांतरित करता है।
  • Stage2 :
    1. संक्रमित एजेंट SessionKey से 8 बाइट्स को डिक्रिप्ट करता है। इसके बाद, यह जाँचता है कि पहले 4 बाइट्स उस डेटा से मेल खाते हैं जिसे उसने पहले प्रसारित किया था, और अंतिम 4 बाइट्स को C2 को वापस स्थानांतरित करने के लिए आगे बढ़ता है। भेजने से पहले, यह GruntHTTPStager में वर्णित अनुसार टेक्स्ट को type 2 पर सेट करके फ़ॉर्मेट करता है।
    2. C2 4 बाइट्स को डिक्रिप्ट करता है और सत्यापित करता है कि वे उन्हीं से मेल खाते हैं जिन्हें उसने पहले प्रसारित किया था।

सत्यापन पूर्ण होने के बाद, डेटा का आदान-प्रदान किया जा सकता है।

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

CovenantDecryptor दो उपयोगिताओं से बना है। extract_privatekey स्क्रिप्ट सार्वजनिक modulus का उपयोग करके RSA निजी कुंजी बनाने के लिए minidump फ़ाइल से p और q अभाज्य संख्याएँ प्राप्त करती है। decrypt_covenant_traffic स्क्रिप्ट में 3 कमांड हैं: modulus, key और decrypt। पहला कमांड Covenant संचार से modulus निकालता है, जबकि दूसरा डेटा ट्रैफ़िक को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली AES कुंजी प्राप्त करता है। अंत में, तीसरा कमांड ट्रैफ़िक को डिक्रिप्ट करता है।

आपको क्या चाहिए ?

  • Covenant का डेटा ट्रैफ़िक नेटवर्क कैप्चर से निकाला जाता है और एक अलग फ़ाइल में संग्रहीत किया जाता है।
  • AES कुंजी, जो stage 0 बाइनरी में एम्बेडेड होती है, संचार की शुरुआत में उपयोग की जाती है।
  • संक्रमित प्रक्रिया की एक minidump फ़ाइल।

उपयोग

संक्रमित होस्ट के stage 0 अनुरोध से modulus निकालें :

root@kitploit:~
$ python3 decrypt_covenant_traffic.py modulus -i traffic.txt -k "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64
[+] Modulus: 
19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287
[+] Exponent: 65537

संक्रमित Covenant प्रक्रिया की minidump फ़ाइल से RSA निजी कुंजी प्राप्त करें :

root@kitploit:~
$ python3 extract_privatekey.py -i memory.dmp -m 19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287 -o ./keys/
[+] Saved private key /home/user/privkey1.pem

स्क्रिप्ट p और q को little और big endian के रूप में प्राप्त करने का प्रयास करेगी।

Covenant C2 के stage 0 प्रतिक्रिया से SessionKey प्राप्त करें, जिसका उपयोग नेटवर्क ट्रैफ़िक को एन्क्रिप्ट करने के लिए किया जाता है :

root@kitploit:~
$ python3 decrypt_covenant_traffic.py key -i traffic.txt --key "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64 -r mykey.pem -s 1
[+] New AES key : 0011223344556677889900112233445566778899001122334455667788990011

Covenant संचार को डिक्रिप्ट करें :

root@kitploit:~
$ python3 decrypt_covenant_traffic.py decrypt -i traffic.txt -k "0011223344556677889900112233445566778899001122334455667788990011" -t hex -s 2
[...]
[*] Response message 10 : {"status":"2","output":"Hello.\r\n"}
[...]

TODO

  • extract_privatekey - रॉ फ़ाइल को पार्स करें।
  • extract_privatekey - हेडर के आधार पर निजी कुंजियाँ खोजें (modulus के बिना)।

जैसा कि StackOverflow पर उल्लेख किया गया है, डेटा का डिक्रिप्शन raw Microsoft RSA निजी कुंजी का उपयोग करके भी प्राप्त किया जा सकता है।

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