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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CaddySmith — Cobalt Strike या Sliver C2 प्रोफाइल से Caddy redirector configs जनरेट करें। | Kitploit
उपकरण/GitHubGitHub/icecubesandwich/caddysmith
भेद्यता परीक्षण फ्रेमवर्कवेब प्रॉक्सी और अवरोधनआईडीएस/आईपीएस से बचनाकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंट
GitHubicecubesandwich/caddysmith

CaddySmith

Cobalt Strike या Sliver C2 प्रोफाइल से Caddy redirector configs जनरेट करें।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CaddySmith

CaddySmith एक छोटा Python स्क्रिप्ट है जो Cobalt Strike या Sliver C2 प्रोफ़ाइल को पढ़ता है और उससे Caddy वेब सर्वर कॉन्फ़िगरेशन बनाता है। उत्पन्न Caddyfile एक सामान्य Linux बॉक्स को रीडायरेक्टर में बदल देता है: वैध बीकन ट्रैफ़िक को आपके टीम सर्वर पर रिवर्स-प्रॉक्सी किया जाता है, और बाकी सब कुछ (स्कैनर, सर्च बॉट, ब्लू टीम प्रोब, रैंडम कर्ल) को एक डिकॉय URL पर भेज दिया जाता है।

मैंने इसे इसलिए लिखा क्योंकि Caddy Apache की तुलना में तेज़ी से खड़ा करने के लिए बहुत ही अनुकूल वेब सर्वर है — एकल स्थिर बाइनरी, स्वचालित Let's Encrypt प्रमाणपत्र, कोई a2enmod डांस नहीं।

केवल अधिकृत अभियान। यह आक्रामक सुरक्षा उपकरण है। इसे केवल उन परिवेशों के विरुद्ध चलाएँ जिनके परीक्षण के लिए आपके पास लिखित अनुमति है।

समर्थित प्रोफ़ाइल प्रारूप

CaddySmith फ़ाइल सामग्री से स्वचालित रूप से प्रारूप का पता लगाता है:

  • Cobalt Strike — क्लासिक टेक्स्ट फ़ॉर्मेट जिसमें set uri "/foo" निर्देश होते हैं। प्रत्येक HTTP-GET / HTTP-POST URI अपने स्वयं के सटीक-पथ मार्ग में बदल जाता है जिसमें प्रोफ़ाइल के क्लाइंट हेडर लागू होते हैं।
  • Sliver — JSON इम्प्लांट कॉन्फ़िगरेशन जो Sliver से निर्यात किया गया है। Sliver में निश्चित URIs नहीं होते हैं; वे बीकन-बिल्ड समय पर path / file / extension सूचियों से उत्पन्न होते हैं। CaddySmith इससे निपटने के लिए शीर्ष-स्तरीय पथ उपसर्गों को glob के रूप में मैच करता है (जैसे path /api* /static* /resources*) और UA से Chrome बिल्ड नंबर पर सबस्ट्रिंग मैच करता है (जो Sliver के प्रति-प्लेटफ़ॉर्म UA पुनर्लेखन में भी जीवित रहता है)।

आप --profile-type cobaltstrike या --profile-type sliver के साथ विशिष्ट पार्सर को भी मजबूर कर सकते हैं।

यह क्या करता है

प्रोफ़ाइल फ़ाइल दिए जाने पर, स्क्रिप्ट निम्नलिखित निकालता है:

  • User-Agent स्ट्रिंग
  • URIs (CS) या पथ उपसर्ग (Sliver)
  • क्लाइंट-साइड हेडर (केवल CS — Sliver विशिष्ट हेडर निर्धारित नहीं करता)
  • Host हेडर (रीडायरेक्टर के डोमेन नाम के रूप में उपयोग किया जाता है यदि आप --server-name पास नहीं करते हैं)
  • क्या स्टेजिंग सक्षम है (केवल CS — set host_stage)

फिर यह एक Caddyfile बनाता है जो:

  1. (वैकल्पिक) सादे HTTP ट्रैफ़िक को 403 लौटाता है
  2. ~15 ज्ञात बुरे user-agent को ब्लॉक करता है (curl, nmap, sqlmap, Googlebot, आदि)
  3. डायरेक्ट-IP एक्सेस और किसी भी HTTP विधि को ब्लॉक करता है जो GET/POST नहीं है
  4. केवल प्रोफ़ाइल के URIs (या Sliver के लिए उपसर्ग) को रिवर्स-प्रॉक्सी करता है, मैचिंग User-Agent पर गेट किया गया
  5. सामान्य स्कैनर प्रोब पथों को ब्लॉक करता है (.env, /wp-admin, .php, आदि)
  6. बाकी सब कुछ आपके डिकॉय URL पर रीडायरेक्ट करता है

आवश्यकताएँ

  • Python 3.7+ (केवल मानक पुस्तकालय का उपयोग करता है, कोई pip install आवश्यक नहीं)
  • रीडायरेक्टर पर ही Caddy 2.x (इंस्टॉल गाइड)

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

root@kitploit:~
python3 caddysmith.py my.profile \
    --backend https://teamserver.internal:443 \
    --decoy   https://www.example.com/ \
    --server-name redirector.example.com \
    --email   [email protected] \
    --forbid-http \
    -o redirector.caddy

यह उत्पन्न कॉन्फ़िगरेशन को redirector.caddy में लिखता है और stderr पर इसने क्या किया इसका सारांश प्रिंट करता है।

उत्पन्न कॉन्फ़िगरेशन को तैनात करना

विकल्प A: Caddyfile को सीधे चलाएँ

उत्पन्न फ़ाइल को रीडायरेक्टर पर कॉपी करें और Caddy को इसके विरुद्ध चलाएँ। --adapter caddyfile फ़्लैग की आवश्यकता है क्योंकि Caddy डिफ़ॉल्ट रूप से JSON कॉन्फ़िग का उपयोग करता है:

root@kitploit:~
caddy run --config /etc/caddy/redirector.caddy --adapter caddyfile

अपडेटेड कॉन्फ़िग के साथ चल रहे इंस्टेंस को रीलोड करने के लिए:

root@kitploit:~
caddy reload --config /etc/caddy/redirector.caddy --adapter caddyfile

यदि Caddy फ़ॉर्मेटिंग असंगतियों के बारे में चेतावनी देता है, तो उन्हें इससे साफ़ करें:

root@kitploit:~
caddy fmt --overwrite /etc/caddy/redirector.caddy

विकल्प B: मुख्य Caddyfile से आयात करें

फ़ाइल को /etc/caddy/ में डालें और अपने मुख्य Caddyfile से इसे आयात करें:

root@kitploit:~
# /etc/caddy/Caddyfile
import /etc/caddy/redirector.caddy

यदि आपने --email पास किया (अनुशंसित), तो उत्पन्न स्निपेट में पहले से ही ग्लोबल विकल्प ब्लॉक होता है, इसलिए मुख्य Caddyfile को केवल import लाइन की आवश्यकता है। यदि आपने नहीं किया, तो आयात के ऊपर { } ब्लॉक में ईमेल मैन्युअल रूप से जोड़ें।

फिर मान्य करें और रीलोड करें:

root@kitploit:~
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Caddy स्वचालित रूप से --server-name में डोमेन के लिए Let's Encrypt प्रमाणपत्र प्रदान करेगा जब तक A रिकॉर्ड रीडायरेक्टर की ओर इशारा करता है।

सभी फ़्लैग्स

पॉलिसी मोड

  • strict (डिफ़ॉल्ट) — User-Agent, सभी क्लाइंट हेडर, डायरेक्ट-IP, HTTP विधि, और प्रोब पथों की जाँच करता है
  • lax — केवल बुरे user-agent को ब्लॉक करता है, कोई प्रति-मार्ग हेडर मैचिंग नहीं
  • none — प्रोफ़ाइल URI पर किसी भी अनुरोध को प्रॉक्सी करता है, कोई फ़िल्टरिंग नहीं

Strict वह है जो आप सामान्यतः चाहते हैं। Lax तब उपयोगी होता है जब आप डिबग कर रहे हों कि असली बीकन क्यों कनेक्ट नहीं हो रहा है।

एक काम किया उदाहरण

मान लें कि आपके पास एक प्रोफ़ाइल है जो Amazon एंडपॉइंट की नकल करती है और आप इसे redirector.0xtb.sh पर तैनात करना चाहते हैं:

root@kitploit:~
python3 caddysmith.py amazon.profile \
    --backend https://10.1.1.10:443 \
    --decoy   https://www.amazon.com/ \
    --server-name redirector.0xtb.sh \
    --forbid-http \
    --policy strict \
    -o /etc/caddy/redirector.caddy

सारांश आपको दिखाता है कि वास्तव में कौन से मार्ग बनाए गए, जैसे:

root@kitploit:~
Routes built:   2
  - [profile-get] /broadcast
  - [profile-post] /1/events/com.amazon.csm.csa.prod

यदि आप पुनर्जीवित करते हैं और कोई मार्ग नहीं देखते हैं, तो स्क्रिप्ट शायद आपकी प्रोफ़ाइल को पार्स करने में विफल रही — stderr पर चेतावनियाँ जाँचें।

Sliver उदाहरण

Sliver इम्प्लांट कॉन्फ़िग (JSON) के लिए:

root@kitploit:~
python3 caddysmith.py sliver-implant.json \
    --backend https://10.1.1.10:443 \
    --decoy   https://www.amazon.com/ \
    --server-name redirector.0xtb.sh \
    --email   [email protected] \
    --forbid-http \
    --policy strict \
    -o /etc/caddy/redirector.caddy

सारांश आपको बताएगा कि Sliver का पता चला और उपसर्ग मार्ग दिखाएगा:

root@kitploit:~
Profile type:   sliver
Routes built:   1
  - [sliver] /api /public /resources /services /static (prefix)

क्योंकि Sliver URIs को path × file × extension संयोजनों से यादृच्छिक रूप से उत्पन्न करता है, उत्पन्न path मैचर सटीक पथों के बजाय उपसर्ग globs (path /api* /public* /resources* /services* /static*) का उपयोग करता है। User-Agent मैचर Chrome बिल्ड नंबर के सबस्ट्रिंग (जैसे 3921.146) का उपयोग करता है, जिसे Sliver अपने प्रति-प्लेटफ़ॉर्म UA पुनर्लेखन में संरक्षित करता है।

तैनाती के बाद स्मोक टेस्ट

root@kitploit:~
# सादा HTTP को 403 होना चाहिए (यदि आपने --forbid-http का उपयोग किया है)
curl -I http://redirector.0xtb.sh/

# नंगा होस्टनाम डिकॉय पर रीडायरेक्ट होना चाहिए
curl -kI https://redirector.0xtb.sh/

# बुरा UA भी रीडायरेक्ट होना चाहिए
curl -kI -A "curl/8.4.0" https://redirector.0xtb.sh/broadcast

# सही UA + पथ वाला अनुरोध प्रॉक्सी होकर (200) मिलना चाहिए
# आपको सख्त मोड में प्रोफ़ाइल के सभी क्लाइंट हेडर भी भेजने होंगे।

ज्ञात सीमाएँ

  • स्टेजिंग नियम उत्पन्न नहीं होते (Cobalt Strike). यदि आपकी CS प्रोफ़ाइल में set host_stage "true" है (या बिल्कुल सेट नहीं है), तो स्क्रिप्ट चेतावनी देगी और स्टेजर URIs को छोड़ देगी। अपनी प्रोफ़ाइल में set host_stage "false"; जोड़ें, या --extra-uri के माध्यम से स्टेजर URIs स्पष्ट रूप से पास करें।
  • Sliver उपसर्ग मिलान CS सटीक मिलान से व्यापक है. Sliver के साथ, प्रॉक्सी मार्ग /api, /static, आदि से शुरू होने वाले किसी भी URL को दावा करता है। स्कैनर प्रोब जो संयोग से उन उपसर्गों का उपयोग करते हैं (जैसे /api/.env) स्थानीय रूप से अवरुद्ध होने के बजाय टीम सर्वर पर भेजे जाएँगे — लेकिन Sliver का अपना HTTP ट्रांसपोर्ट इम्प्लांट ID के माध्यम से प्रमाणित करता है, इसलिए अनधिकृत अनुरोध C2 परत पर अस्वीकार कर दिए जाते हैं। UA गेटिंग अभी भी अधिकांश स्कैनर को बाहर रखती है।
  • प्रति रन एक बैकएंड। प्रत्येक मार्ग उसी --backend पर प्रॉक्सी होता है। यदि आपको कई टीम सर्वरों की आवश्यकता है, तो स्क्रिप्ट को कई बार चलाएँ और हाथ से मर्ज करें।
  • प्रोफ़ाइल URI पार्सिंग लाइन-आधारित है (Cobalt Strike). set uri "/path1 /path2"; काम करता है (एक लाइन पर कई पथ), लेकिन असामान्य फ़ॉर्मेटिंग पार्सर को ट्रिप कर सकती है। सारांश में मार्ग सूची की जाँच करें।
  • HTTPS बैकएंड प्रमाणपत्र सत्यापन डिफ़ॉल्ट रूप से बंद है। टीम सर्वरों में आमतौर पर स्व-हस्ताक्षरित प्रमाणपत्र होते हैं, इसलिए उत्पन्न कॉन्फ़िग में tls_insecure_skip_verify शामिल है। यदि आपके बैकएंड में वास्तविक प्रमाणपत्र है, तो उत्पन्न फ़ाइल से उस पंक्ति को हटा दें।

श्रेय

Apache-आधारित Malleable-Redirector वह शुरुआती बिंदु था जिससे यह स्क्रिप्ट जनरेट होती है — उसी तीन-ट्रैक URI मॉडल (प्रोफ़ाइल URIs / अतिरिक्त URIs / ढीले URIs), वही पॉलिसी मोड, वही सामान्य लेआउट। CaddySmith बस आउटपुट को Apache .htaccess के बजाय Caddy सिंटैक्स में अनुवादित करता है।

लाइसेंस

MIT

टूल डाउनलोड करें
फ़्लैगडिफ़ॉल्टक्या करता है
profile(आवश्यक).profile फ़ाइल का पथ
--backendhttps://teamserver.local:443मैच किए गए ट्रैफ़िक को कहाँ प्रॉक्सी करना है
--decoyhttps://www.example.com/अमैच किए गए ट्रैफ़िक को कहाँ रीडायरेक्ट करना है
--server-namec2.example.comआपके रीडायरेक्टर का डोमेन नाम
--policystrictstrict, lax, या none
--profile-typeautocobaltstrike या sliver को बल दें (डिफ़ॉल्ट: ऑटो-डिटेक्ट)
--extra-uri PATH—प्रॉक्सी करने के लिए अतिरिक्त URI (UA जाँच के साथ)। दोहराया जा सकता है।
--lax-uri PATH—प्रॉक्सी करने के लिए अतिरिक्त URI (कोई जाँच नहीं)। दोहराया जा सकता है।
--allow-ua STRING—--extra-uri मार्गों पर अनुमत अतिरिक्त UA। दोहराया जा सकता है।
--forbid-httpबंदसादे HTTP पर 403 लौटाएँ
--email EMAIL—Let's Encrypt पंजीकरण और नवीनीकरण सूचनाओं के लिए ईमेल
-o, --output FILEstdoutकॉन्फ़िगरेशन को एक फ़ाइल में लिखें