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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
yellow — DNS canarytokens के लिए एक सरल बाइनरी रैपर। | Kitploit
उपकरण/GitHubGitHub/singe/yellow
रक्षात्मक उपकरणनेटवर्क सुरक्षाघुसपैठ का पता लगाना
GitHubsinge/yellow

yellow

DNS canarytokens के लिए एक सरल बाइनरी रैपर।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
root@kitploit:~
            _ _               
 _   _  ___| | | _____      __
| | | |/ _ \ | |/ _ \ \ /\ / /
| |_| |  __/ | | (_) \ V  V / 
 \__, |\___|_|_|\___/ \_/\_/  
 |___/               
 - बस नीला जोड़ें

yellow - बस नीला जोड़ें

सरल बाइनरी संशोधन जो किसी बाइनरी के निष्पादित होने पर एक canarytoken ट्रिगर करेंगे।

हमलावरों के खिलाफ प्रोडक्शन सिस्टम बूबीट्रैप करने के लिए आदर्श।

वर्तमान में चार विधियाँ हैं:

  • yellow एक लक्षित दृष्टिकोण है जिसमें एक बाइनरी टोकन ट्रिगर करती है और फिर आपकी पसंद के फ़ाइल एक्सटेंशन के आधार पर वास्तविक बाइनरी निष्पादित करती है।
  • spe उपरोक्त का एक रूपांतर है जो Thinkst के हाल ही में जोड़े गए Windows "Sensitive Process Execution" टोकन के समान दृष्टिकोण का उपयोग करता है।
  • libyellow एक क्रॉस-सिस्टम अधिसूचना है और LD_PRELOAD के माध्यम से इंजेक्ट होने पर आपके निर्दिष्ट किसी भी बाइनरी नाम के लिए पारदर्शी रूप से canarytoken ट्रिगर करेगा।
  • ldsoyellow एक पूर्ण रूप से कार्यशील glibc लिंकर (ld.so) है जो इसका उपयोग करने वाली किसी भी बाइनरी के लिए canarytoken ट्रिगर करेगा।

पूर्व-कार्य

अपना स्वयं का DNS कैनरी टोकन canarytokens पर पंजीकृत करें। आप दस्तावेज़ में इनके कार्य करने के तरीके के बारे में अधिक पढ़ सकते हैं।

यह कुछ इस प्रकार दिखेगा: pz21qtyfsidipvrsuzs9n2udi.canarytokens.com

इसे TOKEN पर्यावरण चर में रखें: export TOKEN="c28y9l4dw0drj62un0cm4rwz6.canarytokens.com"

Dockerfiles में एक उदाहरण, कार्यशील टोकन मौजूद है, आप इसकी गतिविधि इतिहास यहाँ देख सकते हैं। हालाँकि, आपको वास्तव में अपना स्वयं का उपयोग करना चाहिए।

निर्माण

इनमें से प्रत्येक निर्माण विधि को लागू करने वाली Dockerfiles उपलब्ध हैं।

यदि आपके पास एक उपयुक्त डिफ़ॉल्ट बिल्ड वातावरण है (जैसे डेबियन आधारित सिस्टम पर build-essential या alpine आधारित सिस्टम पर build-base), तो आप libyellow या yellow को बहुत सरलता से संकलित कर सकते हैं। ldsoyellow अधिक जटिल है।

आप Dockerfiles में yellow के निर्माण और स्थापना का एक सरल एंड-टू-एंड उदाहरण देख सकते हैं।

yellow

gcc -o yellow yellow.c canary32.c

देखें Dockerfile.yellow

spe

कोई निर्माण आवश्यक नहीं है।

libyellow

सुनिश्चित करें कि आप alert_list सरणी में उन बाइनरी की सूची अपडेट करें जिन पर आप अलर्ट प्राप्त करना चाहते हैं।

gcc -shared -fPIC libyellow.c canary32.c -o libyellow.so

Alpine और Debian संस्करणों के लिए Dockerfile.libyellow या Dockerfile.libyellow.debian देखें।

ldsoyellow

कार्यशील उदाहरण के लिए Dockerfile.ldsoyellow देखें। आपको glibc स्रोतों की आवश्यकता होगी (मैं वास्तविक लिंकर के जितना संभव हो उतना करीब होने के लिए आधिकारिक पैकेज संस्करण का उपयोग करने की सलाह देता हूँ)।

apt-get source libc6

पैच rtld.c.patch लागू करें।

cd /glibc-* patch < rtld.c.patch

glibc को सैनिटी जाँच अक्षम करके और सही libdir की ओर इंगित करते हुए कॉन्फ़िगर करें (64-बिट सिस्टम मानते हुए)।

mkdir glibcbuild && cd glibcbuild /glibc-*/configure --disable-sanity-checks --libdir=$(dirname $(find / -name "libc.so.6"|grep 64))

सामान्य रूप से बनाएँ।

make

स्थापना

सभी वेरिएंट कैनरी टोकन URL निर्दिष्ट करने के लिए TOKEN पर्यावरण चर का उपयोग करते हैं। पर्यावरण चर का नाम बदला जा सकता है, या यदि आप चाहें तो इसे हार्डकोड भी किया जा सकता है। फिर से, इनमें से प्रत्येक के लिए Dockerfiles मौजूद हैं।

yellow

yellow विशिष्ट बाइनरी पर ट्रिगर करने के लिए है जिन्हें आप नाम बदलकर इसका उपनाम बनाते हैं, ठीक वैसे ही जैसे busybox का उपयोग किया जाता है। आपको बाइनरी का नाम बदलकर '.canary' एक्सटेंशन उपयोग करना होगा, फिर मूल बाइनरी नाम के लिए yellow की एक symlink (या प्रतिलिपि) बनानी होगी। उदाहरण के लिए:

root@kitploit:~
cp yellow /usr/bin
mv /usr/bin/id /usr/bin/id.canary
ln -s /usr/bin/yellow /usr/bin/id

इसके बाद id का कोई भी निष्पादन आपके कैनरी टोकन को ट्रिगर करेगा।

देखें Dockerfile.yellow

spe

संवेदनशील प्रक्रिया निष्पादन विधि उपरोक्त के समान तकनीक का उपयोग करती है, सिवाय इसके कि यह बाइनरी के बजाय एक शेल स्क्रिप्ट के साथ ट्रिगर होती है, और इसके साथ एक इंस्टॉलर आता है। spe_install.sh चलाएँ और इसे अपना DNS टोकन और उस बाइनरी का नाम दें जिस पर आप ट्रिगर करना चाहते हैं। बाइनरी का मौजूद होना आवश्यक नहीं है।

उदाहरण के लिए: ./spe_install.sh "c28y9l4dw0drj62un0cm4rwz6.canarytokens.com" /bin/id

इससे जब भी id चलाया जाएगा, एक अलर्ट बनेगा।

यह यहाँ वर्णित Windows टोकन विधि की एक प्रति है।

libyellow

libyellow का उद्देश्य किसी भी बाइनरी पर ट्रिगर करना है जहाँ इसे LD_PRELOAD के माध्यम से इंजेक्ट किया गया है, लेकिन केवल उन पर अलर्ट करना है जिन्हें आप कोड में निर्दिष्ट करते हैं। यह प्रति सत्र LD_PRELOAD पर्यावरण चर को इसकी ओर इंगित करने के लिए सेट करके किया जा सकता है, या पूरे सिस्टम में इसे /etc/ld.so.preload फ़ाइल में जोड़कर किया जा सकता है। यदि लाइब्रेरी उस पर काम नहीं कर रही है तो बाद वाला आपके सिस्टम को तोड़ सकता है, इसलिए अनुशंसा की जाती है कि आप पहले LD_PRELOAD का उपयोग करके इसका परीक्षण करें।

ऊपर 'पूर्व-कार्य' के अंतर्गत बताए अनुसार अपना टोकन TOKEN पर्यावरण चर में रखना याद रखें।

LD_PRELOAD उदाहरण:

root@kitploit:~
cp libyellow.so /usr/lib/
export LD_PRELOAD=/usr/lib/libyellow.so

फिर एक लक्षित बाइनरी चलाएँ, जाँच करें कि यह अपेक्षित रूप से व्यवहार करती है, और आपको एक कैनरी अलर्ट मिलेगा।

एक बार जब आप संतुष्ट हो जाएँ कि सब कुछ काम कर रहा है, तो आप इसे पूरे सिस्टम में इसके साथ जोड़ सकते हैं (यह मसल-आधारित सिस्टम जैसे alpine पर काम नहीं करेगा, जहाँ इसके बजाय LD_PRELOAD विधि उपयोग की जाती है):

root@kitploit:~
cp libyellow.so /usr/lib
echo /usr/lib/libyellow.so >> /etc/ld.so.preload

Alpine और Debian संस्करणों के लिए Dockerfile.libyellow या Dockerfile.libyellow.debian देखें।

ldsoyellow

ldsoyellow विशिष्ट बाइनरी पर ट्रिगर करने के लिए है जहाँ बाइनरी को डिफ़ॉल्ट लिंकर के बजाय इसका उपयोग करने के लिए संशोधित किया जाता है। आप सिस्टम-व्यापी प्रभाव के लिए डिफ़ॉल्ट लिंकर को इसके साथ बदल सकते हैं, लेकिन यह संभवतः बहुत अधिक शोर पैदा करेगा।

Dockerfile.ldsoyellow उदाहरण में /bin/cat के लिए ऐसा करना शामिल है। पहले संशोधित (arm'ed) लिंकर को वैध लिंकर के बगल में कॉपी किया जाता है:

cp <arm'd linker> /lib64/ld-linux-x86-64.so.3

फिर बाइनरी को वैध लिंकर के बजाय इसका उपयोग करने के लिए संशोधित किया जाता है:

sed -i "s/\/lib64\/ld-linux-x86-64.so.2/\/lib64\/ld-linux-x86-64.so.3/" /bin/cat

देखें Dockerfile.ldsoyellow।

Docker में Docker उदाहरण

यदि आप Docker को Docker के अंदर चलाना चाहते हैं, मान लीजिए, एक बिल्ड वातावरण के लिए जहाँ आपका बिल्ड निर्देशों पर सीमित नियंत्रण था, और किसी के बाहर निकलने पर अलर्ट प्राप्त करना चाहते हैं, तो आप Dockerfile.dind-rootless में दिए गए उदाहरण जैसा कुछ कर सकते हैं। यह उदाहरण yellow का उपयोग करता है लेकिन किसी भी या सभी अन्य वेरिएंट का उपयोग कर सकता है।

यह होस्ट में उन बाइनरी को बूबीट्रैप करता है जो कंटेनर से सुलभ नहीं होनी चाहिए।

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