अपडेट पर वापस जाएँ
New releaseJul 26, 2026

emp3r0r v4.7.1

स्व-उपचार गॉसिप मेश C2 सहायता प्राप्त पीयर डिस्कवरी, क्रॉस-प्लेटफॉर्म BOF निष्पादन, और स्क्रिप्टेबल एजेंट्स के साथ।

साझा करें
emp3r0r

emp3r0r

स्व-उपचार गॉसिप मेश C2, सहायक पीयर डिस्कवरी, क्रॉस-प्लेटफ़ॉर्म BOF निष्पादन और स्क्रिप्टेबल एजेंट्स के साथ।


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


Screenshot From 2026-08-26 14-20-24

emp3r0r क्या है?

emp3r0r एक उन्नत, ज़ीरो-ट्रस्ट पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क और कमांड एंड कंट्रोल (C2) सिस्टम है, जिसे Linux और Windows लक्ष्य वातावरण के लिए डिज़ाइन किया गया है। उच्च-सुरक्षा वातावरण में संचालित करने के लिए शुरू से निर्मित, emp3r0r स्वायत्त गॉसिप मेश नेटवर्किंग, फाइललेस मेमोरी-ओनली निष्पादन, क्रॉस-प्लेटफ़ॉर्म BOF लोडिंग, इंटर-एजेंट फ़ाइल ट्रांसफर और इन-मेमोरी स्क्रिप्टेबल एजेंट्स को जोड़ता है ताकि बेहतर स्टील्थ, परिचालन नियंत्रण और परिचालन सुरक्षा (OPSEC) प्रदान की जा सके।


मुख्य विशेषताएं और अनूठी क्षमताएं

🐍 स्क्रिप्टेबल एजेंट्स (एम्बेडेड Starlark इंजन और Win32 API प्रॉक्सी)

emp3r0r एजेंट्स में एक एम्बेडेड Starlark स्क्रिप्टिंग इंजन (Go में शुद्ध रूप से कार्यान्वित Python बोली) शामिल है। स्क्रिप्ट लक्ष्य पर Python, Bash या PowerShell स्थापित किए बिना मेमोरी में फाइललेस रूप से निष्पादित होती हैं।

  • शून्य होस्ट निर्भरता: कमांड इंटरप्रेटर (/bin/sh, powershell.exe) स्पॉन किए बिना या स्थापित रनटाइम पर निर्भर हुए बिना स्टैंडअलोन स्क्रिप्ट निष्पादित करता है।
  • अंतर्निहित एजेंट Go APIs: फ़ाइलसिस्टम संचालन (read_file, write_file, list_dir, mkdir, remove, exists), HTTP नेटवर्किंग (http_get, http_post), कमांड निष्पादन (exec_cmd) और हैशिंग (crypto_hash) के लिए उजागर फ़ंक्शन।
  • डायनामिक Win32 API प्रॉक्सी: Windows लक्ष्यों पर, Starlark स्क्रिप्ट सिस्टम DLL को गतिशील रूप से लोड कर सकती हैं और नेटिव Win32 APIs (win_call, win_alloc, win_free, win_read_mem) को सीधे स्क्रिप्ट कोड से निष्पादित कर सकती हैं, बिना नेटिव C कोड संकलित किए।
  • मॉड्यूलर एकीकरण: Starlark स्क्रिप्ट JSON मैनिफेस्ट (config.json) का उपयोग करके परिभाषित की जाती हैं, जो सहज CLI पैरामीटर पार्सिंग और वितरण के लिए होती हैं।

यह क्यों मायने रखता है: पारंपरिक C2 स्क्रिप्ट मॉड्यूल को होस्ट इंटरप्रेटर या प्रोसेस स्पॉनिंग की आवश्यकता होती है, जो भारी डिस्क या कमांड-लाइन निष्पादन निशान छोड़ते हैं। emp3r0r के स्क्रिप्टेबल एजेंट्स नेटिव सिस्टम इंटरैक्शन के साथ पूरी तरह से मेमोरी में जटिल लॉजिक निष्पादित करते हैं।


🔐 TOFU क्रिप्टोग्राफिक पहचान पिनिंग

emp3r0r एजेंट नामांकन पर सख्त UUID और सार्वजनिक-कुंजी पिनिंग के साथ Trust-On-First-Use (TOFU) लागू करता है।

  • अपरिवर्तनीय बाइंडिंग: एक बार नामांकित होने के बाद, एजेंट का UUID उसकी क्रिप्टोग्राफिक सार्वजनिक कुंजी से पिन हो जाता है। परिवर्तित क्रेडेंशियल्स के साथ पुनः नामांकन को प्रतिरूपण प्रयास के रूप में अस्वीकार कर दिया जाता है।
  • नियंत्रित रीसेट: डी-रजिस्ट्रेशन के लिए forget_agent के माध्यम से स्पष्ट ऑपरेटर प्राधिकरण की आवश्यकता होती है।

यह क्यों मायने रखता है: सत्र अपहरण, एजेंट क्लोनिंग और परिचालन वातावरण में मूक पहचान बहाव को रोकता है।


🔒 परफेक्ट फॉरवर्ड सीक्रेसी (PFS)

सभी C2 और पीयर संचार ECDH कुंजी विनिमय को HKDF-व्युत्पन्न सत्र कुंजियों के साथ लागू करते हैं।

  • एफेमरल कुंजियां: प्रत्येक सत्र अद्वितीय एन्क्रिप्शन कुंजियां उत्पन्न करता है।
  • डिकपल्ड सुरक्षा: दीर्घकालिक कुंजियों या किसी व्यक्तिगत एजेंट से समझौता पिछले या समानांतर संचार से समझौता नहीं कर सकता।

यह क्यों मायने रखता है: इंटरसेप्टेड नेटवर्क कैप्चर के पूर्वव्यापी डिक्रिप्शन को रोकता है।


🕸️ स्वायत्त P2P गॉसिप मेश नेटवर्क

एग्रेस-प्रतिबंधित या पृथक नेटवर्क खंडों में एजेंट्स स्वायत्त रूप से पीयर खोजते हैं और गॉसिप-आधारित (Memberlist) मेश नेटवर्क के माध्यम से ट्रैफ़िक टनल करते हैं।

  • प्लगेबल पीयर ट्रांसपोर्ट: कैमोफ्लेज mTLS 1.3 (एफेमरल प्रमाणपत्रों का उपयोग करके) और KCP (विश्वसनीय UDP) के लिए समर्थन।
  • एंड-टू-एंड एन्क्रिप्शन: सभी इंटर-एजेंट मेश हॉप्स AES-GCM एन्क्रिप्शन में लपेटे गए हैं।
  • कम नेटवर्क फुटप्रिंट: प्रत्यक्ष एजेंट-से-एजेंट रिलेिंग अनावश्यक ब्रॉडकास्ट शोर और केंद्रीकृत C2 कनेक्शन चोकपॉइंट्स को समाप्त करती है।

यह क्यों मायने रखता है: खंडित नेटवर्कों में पिवोटिंग निरंतर ऑपरेटर हस्तक्षेप या स्थिर प्रॉक्सी सेटअप की आवश्यकता के बिना स्वायत्त रूप से होती है।


📂 P2P फ़ाइलसिस्टम

आंतरिक नेटवर्कों में फ़ाइल वितरण को तेज करने के लिए P2P रिले ट्रांसपोर्ट (mTLS/KCP) के माध्यम से प्रत्यक्ष एजेंट-से-एजेंट फ़ाइल साझाकरण।

  • एन्क्रिप्टेड P2P टनल: एग्रेस प्रतिबंधों को बायपास करने और केंद्रीय C2 बैंडविड्थ बाधाओं को कम करने के लिए mTLS/KCP का उपयोग करके पीयर के बीच ट्रांसफर टनल करें।
  • स्मार्ट इन-मेमोरी फ़ाइल कैशिंग: फ़ाइलें एजेंट मेमोरी में एन्क्रिप्टेड ब्लॉब्स के रूप में कैश की जाती हैं; अन्य एजेंटों द्वारा मांग पर डाउनलोड के लिए सहज रूप से परोसा जा सकता है। फ़ाइल का अनुरोध करते समय, एजेंट अपने स्थानीय memfs, फिर अन्य पीयर, और अंत में C2 को देखते हैं।
  • स्वचालित C2 रिले फॉलबैक: यदि लक्ष्य पीयर के पास अनुरोधित फ़ाइल नहीं है, तो यह गतिशील रूप से C2 सर्वर से मांग पर फ़ाइल प्राप्त करता है और स्ट्रीम करता है।

यह क्यों मायने रखता है: प्रत्यक्ष एजेंट-से-एजेंट फ़ाइल साझाकरण ट्रांसफर गति को अधिकतम करता है, नेटवर्क चोकपॉइंट्स को बायपास करता है और प्रत्यक्ष C2 ट्रैफ़िक दृश्यता को कम करता है।


📡 मल्टी-प्रोटोकॉल लिसनर और प्लगेबल स्टेजर

प्रारंभिक पहुंच और पेलोड वितरण के लिए लचीले Stage 0 डाउनलोडर स्टेजर और प्रोटोकॉल लिसनर।

  • मल्टी-प्रोटोकॉल लिसनर: विश्वसनीय अनुक्रम-पावती फ्रेमिंग और कस्टम HTTP प्रोफाइल के साथ एम्बेडेड और स्टैंडअलोन HTTP, TCP और UDP लिसनर। स्टैंडअलोन लिसनर वैकल्पिक TLS (-tls) का समर्थन करता है, जो कोई cert/key जोड़ी प्रदान नहीं होने पर स्व-हस्ताक्षरित प्रमाणपत्र स्वतः उत्पन्न करता है।
  • स्टैंडअलोन C डाउनलोडर स्टेजर: प्रतीक त्रुटियों के बिना वितरणों में संगतता के लिए प्रत्यक्ष, libc-स्वतंत्र Linux syscalls के साथ निर्मित।
  • एन्क्रिप्टेड स्टेज डिलीवरी: लिसनर ऑपरेटर-आपूर्ति गुप्त से व्युत्पन्न कुंजी का उपयोग करके RC4 के साथ स्टेज किए गए पेलोड को एन्क्रिप्ट करता है; स्टेजर रिफ्लेक्टिव लोडिंग से पहले इसे मेमोरी में डिक्रिप्ट करता है।
  • प्लगेबल स्टेजर ट्रांसपोर्ट: मॉड्यूलर ट्रांसपोर्ट सिस्टम जो ऑपरेटरों को कस्टम C ट्रांसपोर्ट मॉड्यूल (transport_<name>.c) डालने की अनुमति देता है। अंतर्निहित फ्रीस्टैंडिंग विकल्पों में कच्चे syscalls के माध्यम से HTTP, TCP और UDP, साथ ही डायनामिक लाइब्रेरी ट्रांसपोर्ट (जैसे रनटाइम प्रतीक समाधान के माध्यम से libcurl) शामिल हैं।
    • लाभ: कोर स्टेजर लॉजिक को बदले बिना ट्रैफ़िक को वैध सिस्टम चैनलों (जैसे नेटिव libcurl या कस्टम प्रोटोकॉल कार्यान्वयन) में सहज रूप से मिलाकर एग्रेस फ़िल्टरिंग और नेटवर्क डिटेक्शन को बायपास करता है।
  • प्लगेबल सेल्फ-अनपैकिंग पैकर: एक्स्टेंसिबल स्टब और पैकर मॉड्यूल इंटरफ़ेस (pack_<name>.py + unpack_stub_<name>.c)। ऑपरेटर स्वचालित रनटाइम हेडर पैचिंग के साथ कस्टम पैकिंग/ऑब्स्क्यूरेशन एल्गोरिदम (अंतर्निहित विकल्पों में RC4 स्ट्रीम एन्क्रिप्शन और ग्रीडी LZSS संपीड़न शामिल हैं) लिख सकते हैं।
    • लाभ: अद्वितीय कुंजियों या एल्गोरिदम के साथ Stage 0 पेलोड को एन्क्रिप्ट/संपीड़ित करके स्थिर AV/EDR YARA नियमों और सिग्नेचर मिलान को तोड़ता है, रीड/राइट मेमोरी में सेल्फ-अनपैकिंग करता है जिसे निष्पादन से पहले रीड/एक्ज़ीक्यूट में फ्लिप किया जाता है।
  • छोटा पेलोड आकार: जबकि emp3r0r एजेंट बाइनरी संपीड़न के बिना ~20MB हैं, यह स्टेजर 2KB है; sRDI-जैसा पेलोड जो यह emp3r0r लिसनर से प्राप्त करता है, ~8MB है (ELF शेयर्ड ऑब्जेक्ट प्रारूप में एजेंट बाइनरी से संपीड़ित)।
  • लचीले प्रारूप: कच्चे पोजीशन-इंडिपेंडेंट शेलकोड (.bin), सेल्फ-अनपैकिंग पैक्ड शेलकोड (packed), स्टैंडअलोन ELF निष्पादन योग्य, या शेयर्ड ऑब्जेक्ट्स (.so) में संकलित होता है।
  • इन-मेमोरी हार्डनिंग: स्टेज मेमोरी को रीड/राइट आवंटित करता है, पेलोड को डी-ऑब्स्क्यूरेट करता है, फिर रिफ्लेक्टिव लोडिंग से पहले रीड/एक्ज़ीक्यूट लागू करता है। सेल्फ-अनपैकर कभी भी RWX (रीड/राइट → अनपैक → रीड/एक्ज़ीक्यूट) मैप नहीं करता है, और परिवर्तनीय स्टेजर स्टेट राइटेबल कोड के बजाय समर्पित रीड/राइट पेज में रहता है।

🧩 नेटिव क्रॉस-प्लेटफ़ॉर्म BOF और PICO समर्थन (COFF, ELF और PICO)

Windows और Linux दोनों लक्ष्यों पर इन-मेमोरी बाइनरी मॉड्यूल निष्पादित करें:

  • Windows COFF लोडर: टाइप किए गए पैरामीटर पैकिंग (int, short, cstr, wstr, binary) के साथ Windows BOF बाइनरी को फाइललेस रूप से चलाएं।
  • Linux ELF ऑब्जेक्ट लोडर: Linux पर ELF रिलोकेटेबल ऑब्जेक्ट फ़ाइलों (.o) को सीधे एजेंट मेमोरी में लोड करें।
  • Crystal-Kit PICO मॉड्यूल और स्टैक स्पूफिंग: उन्नत एवेज़न के लिए SilentMoonwalk कॉलस्टैक डीसिंक स्पूफर की विशेषता वाले एकीकृत PICO (Position-Independent Code Object) लोडर और पैकर।
  • बंडल BOF सूट: Kerbeus-BOF, Remote-OPs और Situational Awareness (SA) मॉड्यूल संग्रह के लिए अंतर्निहित समर्थन।

यह क्यों मायने रखता है: कॉलस्टैक स्पूफिंग के साथ इन-प्रोसेस संकलित C मॉड्यूल चलाकर प्रोसेस निर्माण ओवरहेड को समाप्त करता है और कमांड-लाइन और कॉलस्टैक मॉनिटरिंग को बायपास करता है।


🔑 ऑन-डिमांड Windows टोकन मैनिपुलेशन

Windows पर एजेंट्स अप्रत्यक्ष NT syscalls का उपयोग करके पूरी तरह से इन-प्रोसेस चल रहे प्रोसेस से एक्सेस टोकन चुरा सकते हैं, कैश कर सकते हैं और प्रतिरूपण कर सकते हैं।

  • चोरी और कैश: steal_token --pid <PID> NtOpenProcess + NtDuplicateToken के माध्यम से प्रोसेस टोकन की नकल करता है और इसे SID द्वारा मेमोरी में संग्रहीत करता है। वैकल्पिक रूप से एक चुराई गई पहचान से दूसरी में एस्केलेट करने के लिए --token <sid> के साथ प्रतिरूपण श्रृंखला बनाएं।
  • गणना: list_tokens सभी कैश किए गए टोकन को DOMAIN\User (SID) नामों के साथ प्रदर्शित करता है।
  • सार्वभौमिक प्रतिरूपण: किसी भी मॉड्यूल — Go, Starlark, COFF/BOF — में SID (--token <sid>) द्वारा कैश किए गए टोकन को संदर्भित करें। संवेदनशील संचालन के आसपास थ्रेड-स्तरीय प्रतिरूपण (NtSetInformationThread) लागू किया जाता है।
  • टोकन-जागरूक Starlark: बिल्टिन (read_file, write_file, exec_cmd, Win32 API प्रॉक्सी, आदि) टोकन सेट होने पर स्वचालित रूप से प्रति-syscall प्रतिरूपण करते हैं, और exec_cmd CreateProcessWithTokenW के माध्यम से चुराई गई पहचान के तहत चाइल्ड प्रोसेस स्पॉन कर सकता है।

यह क्यों मायने रखता है: कोई बाहरी उपकरण नहीं, कोई डिस्क आर्टिफैक्ट नहीं, कोई प्रोसेस-निर्माण शोर नहीं। टोकन चोरी और पुन: उपयोग अप्रत्यक्ष syscalls का उपयोग करके पूरी तरह से इन-प्रोसेस होता है, चुराए गए टोकन तुरंत हर अंतर्निहित मॉड्यूल द्वारा उपभोग योग्य होते हैं।


🎭 प्लगेबल C2 ट्रांसपोर्ट, uTLS JA3 एवेज़न और CBOR प्रोटोकॉल

  • प्लगेबल C2 मोड: लचीले HTTP प्रोफाइल के साथ लचीला बीकनिंग (http_poll) और HTTP/2 पर स्ट्रीमिंग (h2conn)।
  • JA3 सिग्नेचर रैंडमाइज़ेशन: TLS क्लाइंट हैलो फिंगरप्रिंट्स को रैंडमाइज़ करने के लिए uTLS का उपयोग करता है, स्थिर नेटवर्क सिग्नेचर को पराजित करता है।
  • बाइनरी वायर प्रोटोकॉल: सभी नियंत्रण डेटा और वायर सीरियलाइज़ेशन के लिए CBOR (Concise Binary Object Representation) का उपयोग करता है, JSON की तुलना में नेटवर्क पेलोड आकार को 30-40% कम करता है।

💾 एन्क्रिप्टेड मेमोरी-फर्स्ट स्टोरेज

  • इन-मेमोरी एन्क्रिप्टेड वर्चुअल फ़ाइलसिस्टम: सभी एजेंट फ़ाइल संचालन इन-मेमोरी AES-GCM वर्चुअल फ़ाइलसिस्टम का उपयोग करते हैं। बड़ा डेटा पहचान योग्य हेडर या एक्सटेंशन के बिना स्वचालित रूप से एन्क्रिप्टेड डिस्क स्टोरेज में स्पिल हो जाता है।
  • P2P-संचालित स्मार्ट कैशिंग: प्रत्येक P2P-सक्षम एजेंट C2 से प्राप्त फ़ाइलों को memfs में कैश करता है; फिर इसे अन्य पीयर के लिए उपलब्ध कराता है, तेज़ इंटर-एजेंट कनेक्शन का उपयोग करते हुए C2 ट्रैफ़िक फुटप्रिंट को कम करता है।

त्वरित प्रारंभ

1. C2 सर्वर स्थापना

emp3r0r बनाने के लिए होस्ट पर Docker या Podman की आवश्यकता होती है। कोई स्थानीय Go टूलचेन आवश्यक नहीं है।

# रिपॉजिटरी क्लोन करें
git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r

# कंटेनर के अंदर बनाएं और स्थानीय रूप से स्थापित करें
./install.py

इंस्टॉलर कोर बाइनरी को एक डिस्पोजेबल कंटेनर के अंदर संकलित करता है, प्रीकंपाइल्ड emp3r0r-operator-kit.tar.zst उत्पन्न करता है, आवश्यक Linux क्षमताओं (setcap) को कॉन्फ़िगर करता है, और सिस्टम रनटाइम निर्देशिकाएं सेट करता है।

विकल्प:

./install.py [--debug] [--disable-garble] [--prefix /usr/local] [--skip-build] \
  [--lightweight] [--targets linux/amd64,windows/amd64]

केवल linux/amd64 और windows/amd64 exe/dll लक्ष्य बनाने के लिए --lightweight का उपयोग करें (सबसे तेज़, x86-64-केवल तैनाती के लिए), या पेलोड प्रकारों का एक विशिष्ट सेट संकलित करने के लिए --targets OS/ARCH,... का उपयोग करें।

C2 सर्वर लॉन्च करें:

emp3r0r server --c2-hosts 1.2.3.4 --http-port 12345 --operator-port 13377

नोट: यदि मानक sudo के बजाय root उपयोगकर्ता के साथ स्थापित किया गया है, तो आपका वर्तमान उपयोगकर्ता emp3r0r लॉन्च करने में सक्षम नहीं हो सकता है क्योंकि इंस्टॉलर द्वारा अनुमतियां ठीक से सेट नहीं की जा सकती हैं। यही बात आपके ऑपरेटर मशीनों पर भी लागू होती है।


2. ऑपरेटर मशीन सेटअप

उत्पन्न emp3r0r-operator-kit.tar.zst को अपनी ऑपरेटर मशीन पर स्थानांतरित करें और इंस्टॉलर चलाएं:

tar --zstd -xpf emp3r0r-operator-kit.tar.zst
cd ./emp3r0r-operator-kit && ./install.py

सर्वर द्वारा मुद्रित WireGuard टनल क्रेडेंशियल्स का उपयोग करके ऑपरेटर क्लाइंट को C2 सर्वर से कनेक्ट करें:

emp3r0r client --c2-port 13377 \
  --server-wg-key '<SERVER_WG_KEY>' \
  --server-wg-ip '<SERVER_WG_IP>' \
  --operator-wg-ip '<OPERATOR_WG_IP>' \
  --operator-wg-key '<OPERATOR_WG_KEY>' \
  --c2-host 1.2.3.4

3. एजेंट पेलोड उत्पन्न करें

पेलोड बनाने के लिए emp3r0r ऑपरेटर इंटरफ़ेस के भीतर generate कमांड का उपयोग करें।

डायरेक्ट C2 एजेंट:

generate --type linux_executable --arch amd64 --cc your.domain.com

मेश गेटवे एजेंट:

generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --direct-c2 --p2p-transport mtls

मेश इंटरमीडिएट पीयर:

generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport mtls --peers 1.2.3.4

दस्तावेज़ीकरण और संसाधन


विकास का समर्थन करें

यदि emp3r0r आपके सुरक्षा अनुसंधान और परीक्षण में मूल्यवान साबित हुआ है, तो GitHub Sponsors के माध्यम से इसके निरंतर विकास का समर्थन करने पर विचार करें।

श्रेणियाँ