
JavaScript बीकन्स और C2 जिनका उपयोग XSS पेलोड या पोस्ट-एक्सप्लॉइटेशन इम्प्लांट्स के रूप में वेबएप सर्वर या डेस्कटॉप सॉफ्टवेयर पर उपयोगकर्ताओं की निगरानी और स्थायित्व बनाए रखने के लिए किया जा सकता है। ब्राउज़र एक्सटेंशन, इलेक्ट्रॉन ऐप, और नोड/बन ऐप इम्प्लांट्स शामिल हैं।
प्रमुख परिवर्तन परियोजना की घोषणाओं में दस्तावेज़ित किए गए हैं:
https://github.com/hoodoer/JS-Tap/discussions/categories/announcements
आप JS-Tap के बारे में मूल ब्लॉग पोस्ट यहाँ पढ़ सकते हैं:
https://trustedsec.com/blog/js-tap-weaponizing-javascript-for-red-teams
ShmooCon में JS-Tap संस्करण 1 का छोटा डेमो:
https://youtu.be/IDLMMiqV6ss?si=XunvnVarqSIjx_x0&t=19814
HackSpaceCon में JS-Tap संस्करण 2 का डेमो, जिसमें C2 और पोस्ट-एक्सप्लॉइटेशन इम्प्लांट के रूप में उपयोग शामिल है:
https://youtu.be/aWvNLJnqObQ?t=11719
स्वचालित पेलोड जनरेटर का डेमो, जो इंटरसेप्ट किए गए फॉर्म सबमिशन और JavaScript नेटवर्क ट्रैफ़िक को कस्टम C2 पेलोड उत्पन्न करने के लिए ब्लूप्रिंट के रूप में उपयोग करता है:
https://www.youtube.com/watch?v=cU915mxLfTo
CactusCon में v2 का डेमो जिसमें मिमिक फीचर शामिल है:
https://youtu.be/O7-zxAmP13o?si=gchYwOJksutCCUPH
v3 बीकॉन का डेमो, बीटा कोड:
https://youtu.be/-esrfSHqZeo
मैं डेटाबेस के लिए माइग्रेशन स्क्रिप्ट बनाने की योजना नहीं बना रहा हूँ, और संस्करण संख्या में वृद्धि में अक्सर डेटाबेस स्कीमा में बदलाव शामिल होते हैं (चेंजलॉग देखें)। आपको संस्करण अपग्रेड पर शायद अपना jsTap.db डेटाबेस हटा देना चाहिए। यदि आपके JS-Tap सर्वर में कस्टम पेलोड हैं, तो डेटाबेस फ़ाइलों को हटाने से पहले उन्हें निर्यात करना सुनिश्चित करें।
JS-Tap रेड टीमर्स के लिए एक JavaScript-आधारित आक्रामक टूलकिट है। इसकी शुरुआत XSS या पोस्ट-एक्सप्लॉइटेशन इम्प्लांट के माध्यम से वेबऐप पर हमला करने के लिए एक सामान्य JavaScript पेलोड के रूप में हुई थी, और अब इसमें ब्राउज़र एक्सटेंशन और इलेक्ट्रॉन डेस्कटॉप ऐप इम्प्लांट शामिल हो गए हैं — सभी एक ही C2 सर्वर को रिपोर्ट करते हैं।
पेलोड के लिए यह आवश्यक नहीं है कि लक्षित उपयोगकर्ता हमले के तहत एप्लिकेशन में प्रमाणित हो, और इसके लिए एप्लिकेशन के बारे में कोई पूर्व ज्ञान आवश्यक नहीं है, सिवाय JavaScript को एप्लिकेशन में लाने का एक तरीका खोजने के।
एप्लिकेशन सर्वर पर ही हमला करने के बजाय, JS-Tap पेलोड एप्लिकेशन के क्लाइंट-साइड पर ध्यान केंद्रित करता है और क्लाइंट-साइड कोड को भारी रूप से इंस्ट्रूमेंट करता है। एक C2 सिस्टम कस्टम JavaScript पेलोड जोड़ने और उन्हें JS-Tap क्लाइंट पर कार्यों के रूप में चलाने की अनुमति देता है, जो सीधे एप्लिकेशन सर्वर पर हमला करने का एक साधन प्रदान करता है। सर्वर पर हमला करने के लिए तेज़ी से संक्रमण की सुविधा के लिए, JS-Tap में अब एक "मिमिक" फीचर शामिल है जो स्वचालित रूप से कस्टम पेलोड उत्पन्न करता है और उन्हें C2 सिस्टम को सौंप देता है।
उदाहरण DOM बीकॉन पेलोड payloads निर्देशिका में telemlib.js फ़ाइल में निहित है, हालांकि इस निर्देशिका की कोई भी फ़ाइल बिना प्रमाणीकरण के प्रस्तुत की जाती है, इसलिए आप एक ही समय में विभिन्न एप्लिकेशन को लक्षित करने वाले विभिन्न कॉन्फ़िगरेशन के साथ कई पेलोड प्रस्तुत कर सकते हैं।
telemlib.js फ़ाइल को अपनी पसंद के किसी भी फ़ाइल नाम पर कॉपी करें और आवश्यकतानुसार कॉन्फ़िगरेशन को संशोधित करें। इस फ़ाइल को अस्पष्ट (obfuscated) नहीं किया गया है। किसी एंगेजमेंट में उपयोग करने से पहले दृढ़ता से विचार करें कि एंडपॉइंट के नामकरण को बदलें, टिप्पणियाँ हटाएं, और पेलोड को अत्यधिक अस्पष्ट करें। डिफ़ॉल्ट रूप से एप्लिकेशन काफी स्पष्ट API एंडपॉइंट (जैसे /loot/screenshot) का उपयोग करता है, App Settings में आप ट्रैफ़िक अस्पष्टीकरण को चालू कर सकते हैं।
सार्वजनिक रूप से उजागर सर्वर पर उपयोग करने से पहले नीचे दिए गए कॉन्फ़िगरेशन अनुभाग की सावधानीपूर्वक समीक्षा करना सुनिश्चित करें।
JS-Tap में पाँच बीकॉन/एजेंट प्रकार हैं जो एक ही सर्वर से जुड़ते हैं:
| बीकॉन प्रकार | यह क्या है | यह वहाँ कैसे पहुँचता है |
|---|---|---|
| DOM बीकॉन (telemlib.js) | एक JavaScript पेलोड जो एक वेब पेज में इंजेक्ट किया जाता है। DOM को इंस्ट्रूमेंट करता है, उपयोगकर्ता गतिविधि कैप्चर करता है, स्क्रीनशॉट, नेटवर्क कॉल। | XSS भेद्यता, या सीधे लक्ष्य ऐप की JavaScript फ़ाइलों में जोड़ा गया (पोस्ट-एक्सप्लॉइटेशन)। |
| BEX बीकॉन | एक ब्राउज़र एक्सटेंशन (Chrome MV3 / Firefox MV2)। सभी ब्राउज़िंग गतिविधि की निगरानी करता है, कुकीज़ (httpOnly सहित), localStorage, sessionStorage, और अनुरोध हेडर कैप्चर करता है। आदेश पर विशिष्ट डोमेन में DOM बीकॉन इंजेक्ट कर सकता है। | लक्ष्य के ब्राउज़र में स्थापित (सोशल इंजीनियरिंग, भौतिक पहुँच, नीति पुश, आदि)। |
| साइडकार | एक मूल Go बाइनरी जो लक्ष्य के OS पर चलती है। फ़ाइल सिस्टम ब्राउज़िंग, फ़ाइल पढ़ना, और कमांड निष्पादन प्रदान करता है। | मूल मैसेजिंग के माध्यम से BEX बीकॉन के साथ स्थापित। कमांड रिले करने के लिए BEX बीकॉन की आवश्यकता होती है। |
| एटम बीकॉन | इलेक्ट्रॉन डेस्कटॉप एप्लिकेशन के लिए दोहरी-परत वाला इम्प्लांट। एक मुख्य-प्रक्रिया एजेंट (Node.js रनटाइम) + सभी ऐप विंडो में रेंडरर पेलोड इंजेक्ट करता है। ब्राउज़र-स्तरीय डेटा संग्रह को होस्ट-स्तरीय OS पहुँच के साथ जोड़ता है — कोई अलग बाइनरी आवश्यक नहीं। ब्राउज़र प्रॉक्सी मोड का समर्थन करता है। | atomize.py का उपयोग करके लक्ष्य इलेक्ट्रॉन ऐप के ASAR आर्काइव (या अनपैक्ड ऐप निर्देशिका) में पैच किया गया। |
| V8 बीकॉन | Node.js और Bun CLI एप्लिकेशन (Gemini CLI, Claude Code, आदि) के लिए एक JavaScript एजेंट। सभी HTTP/Fetch नेटवर्क कॉल को इंटरसेप्ट करता है, कीस्ट्रोक कैप्चर करता है, और फ़ाइल सिस्टम और शेल पहुँच प्रदान करता है। ब्राउज़र प्रॉक्सी मोड का समर्थन करता है। शून्य निर्भरताएँ। | पर्यावरण चर के माध्यम से इंजेक्ट: NODE_OPTIONS="--require" (Node.js) या BUN_OPTIONS="--preload" (Bun)। कोई ऐप पैचिंग आवश्यक नहीं। |
सभी पाँच एक ही JS-Tap सर्वर पोर्टल पर रिपोर्ट करते हैं, जहाँ लूट देखी जाती है और C2 कमांड जारी किए जाते हैं।
पोर्टल में दो सत्र-क्लोनिंग उपकरण भी शामिल हैं:
| उपकरण | यह क्या करता है |
|---|---|
| ब्राउज़र प्रॉक्सी | JS-Tap सर्वर पर एक MITM प्रॉक्सी जो ऑपरेटर के HTTP/HTTPS ट्रैफ़िक को वेबसॉकेट के माध्यम से पीड़ित के ब्राउज़र (या Node.js प्रक्रिया) के माध्यम से रूट करता है। अनुरोध पीड़ित के नेटवर्क संदर्भ से प्राप्त किए जाते हैं, इसलिए लक्ष्य साइट पीड़ित का IP और TLS फिंगरप्रिंट देखती है। प्रमाणित ब्राउज़िंग के लिए सत्र टिकट के साथ संयोजित करें। BEX, Atom, और V8 बीकॉन द्वारा समर्थित। नीचे ब्राउज़र प्रॉक्सी देखें। |
| JS-Tap कंडक्टर | एक स्टैंडअलोन फ़ायरफ़ॉक्स एक्सटेंशन जो BEX बीकॉन (एक "JS-Tap टिकट" के रूप में) द्वारा कैप्चर किए गए सत्र डेटा को आयात करता है और इसे स्थानीय रूप से पुन: चलाता है — कुकीज़ सेट करना, हेडर इंजेक्ट करना, स्टोरेज भरना, और User-Agent स्पूफ करना — ताकि ऑपरेटर पीड़ित के रूप में ब्राउज़ कर सके। नीचे JS-Tap टिकट और JS-Tap कंडक्टर देखें। |
स्टैंडअलोन DOM बीकॉन: DOM बीकॉन पेलोड (telemlib.js) स्वतंत्र रूप से काम करता है। इसे XSS के माध्यम से इंजेक्ट करें या लक्ष्य की JS फ़ाइलों में इम्प्लांट करें। यह अपने आप JS-Tap सर्वर को कॉल करता है।
ड्रॉपर के रूप में BEX बीकॉन: BEX बीकॉन ब्राउज़िंग की निगरानी करता है और निष्क्रिय खुफिया जानकारी (कुकीज़, localStorage, sessionStorage, अनुरोध हेडर, नेविगेशन) एकत्र करता है। JS-Tap पोर्टल से, आप बीकॉन को एक विशिष्ट डोमेन में DOM बीकॉन इंजेक्ट करने का आदेश दे सकते हैं। BEX बीकॉन द्वारा उत्पन्न DOM बीकॉन एक्सटेंशन के captureVisibleTab API (BEX-असिस्ट मोड) के माध्यम से उच्च-गुणवत्ता वाले स्क्रीनशॉट प्राप्त करता है।
OS पहुँच के लिए साइडकार: स्थापित होने पर, साइडकार बाइनरी BEX बीकॉन को अंतर्निहित ऑपरेटिंग सिस्टम तक पहुँच प्रदान करती है। कमांड JS-Tap पोर्टल से भेजे जाते हैं, बीकॉन के एन्क्रिप्टेड चैनल के माध्यम से मूल बाइनरी तक रिले किए जाते हैं, और परिणाम वापस भेजे जाते हैं। यह एक ब्राउज़र एक्सटेंशन को फ़ाइल सिस्टम पहुँच और कमांड निष्पादन के लिए एक पैर जमाने में बदल देता है।