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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Cordon — लिनक्स पर एक प्रतिबंधित फाइलसिस्टम दृश्य के अंदर कोई भी कमांड चलाएँ | Kitploit
उपकरण/GitHubGitHub/vishnunandan555/cordon
सामान्य उपयोगिताएँकंटेनर सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)स्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगसुरक्षा वर्चुअलाइजेशननेटवर्क सुरक्षाDevSecOpsआपूर्ति श्रृंखला सुरक्षाArchived
GitHubvishnunandan555/cordon

Cordon

274 महीने पहलेअभी तक समीक्षित नहीं

लिनक्स पर एक प्रतिबंधित फाइलसिस्टम दृश्य के अंदर कोई भी कमांड चलाएँ

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

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

Cordon

⚠️ परियोजना बंद हो चुकी है

इस परियोजना का विकास रोक दिया गया है क्योंकि किसी और ने उसी विचार पर काम किया और एक बेहतर समाधान बनाया।
हम दृढ़ता से सुझाव देते हैं कि आप देखें: Fence by Use-Tusk.

नोट: यह रिपॉजिटरी मूल रूप से FOSS HACK 2026 के लिए बनाई गई थी, हालाँकि हम इसे समय पर पूरा नहीं कर सके।
हालाँकि, हमने Hackathena '26 के लिए एक समान परियोजना बनाई जिसने तीसरा पुरस्कार जीता!
यदि आप रुचि रखते हैं, तो वह रिपॉजिटरी यहाँ है: A56-A5/lion.

Cordon किसी भी कमांड को Linux पर एक प्रतिबंधित फ़ाइलसिस्टम व्यू के अंदर चलाता है। यह आपकी प्रक्रिया के लिए आवश्यक हर चीज़ को छिपाने के लिए Linux नेमस्पेस (bubblewrap के माध्यम से) का उपयोग करता है — आपकी होम डायरेक्टरी, SSH कुंजियाँ, AWS क्रेडेंशियल्स, सब कुछ — जबकि कमांड को अपना काम करने देता है।

root@kitploit:~
cordon run --net=allow -- npm install
cordon run -- bash setup.sh
cordon run --profile python -- pip install -r requirements.txt

न रूट की जरूरत। न कंटेनर। न कोई बैकग्राउंड में चलने वाला डेमन।


क्यों?

जब आप npm install या चलाते हैं, तो वह कोड आपकी पूर्ण उपयोगकर्ता अनुमतियों के साथ निष्पादित होता है। वह पढ़ सकता है, उसे किसी सर्वर पर भेज सकता है, आपकी फ़ाइलों को संशोधित कर सकता है — यह सब केवल एक पैकेज इंस्टॉल करने का दिखावा करते हुए।

pip install
~/.ssh/id_rsa

यह पागलपन नहीं है। ऐसा हो चुका है:

हमलाइसने क्या किया
LiteLLM (2024)दुर्भावनापूर्ण PyPI पैकेज ने pip install पर SSH कुंजियाँ और env vars पढ़े
xz-utils (2024)बिल्ड-टाइम बैकडोर इंस्टॉल के दौरान make स्टेप के माध्यम से डाला गया
event-stream (npm, 2018)समझौता किया गया npm पैकेज चुपचाप Bitcoin वॉलेट चुरा रहा था
SolarWindsबिल्ड/अपडेट पाइपलाइन के माध्यम से सप्लाई चेन हमला

Cordon का जवाब: प्रक्रिया को वह न देखने दें जो उसे नहीं देखना चाहिए, भले ही कोड दुर्भावनापूर्ण हो।


यह कैसे काम करता है

प्रत्येक cordon run एक नया पृथक वातावरण बनाता है:

  • /usr, /bin, /lib रीड-ओनली माउंट होते हैं — चीज़ें चल सकती हैं, सिस्टम नहीं तोड़ेंगी
  • आपकी प्रोजेक्ट डायरेक्टरी राइटेबल है — npm install node_modules/ बनाता है, बिल्ड काम करते हैं
  • src/ रीड-ओनली है यदि वह मौजूद है — स्रोत फ़ाइलें चुपचाप ओवरराइट नहीं की जा सकतीं
  • ~/.ssh, ~/.aws, HOME — डिफ़ॉल्ट रूप से बिल्कुल माउंट नहीं
  • नेटवर्क डिफ़ॉल्ट रूप से बंद है, या --net=allow के साथ एक अंतर्निहित डोमेन-अनुमति सूची प्रॉक्सी के माध्यम से फ़िल्टर किया जाता है

जब प्रक्रिया समाप्त होती है, सैंडबॉक्स चला जाता है। कुछ भी स्थायी नहीं रहता।

प्रॉक्सी

--net=allow मोड एक अंतर्निहित Rust HTTP/HTTPS प्रॉक्सी को एक रैंडम लोकलहोस्ट पोर्ट पर स्पिन करता है और इसे env vars (HTTP_PROXY, https_proxy, npm_config_proxy, आदि) के माध्यम से सैंडबॉक्स में इंजेक्ट करता है। यह CONNECT टनल को इंटरसेप्ट करता है और फ़ॉरवर्ड करने से पहले प्रत्येक डोमेन को एक अनुमति सूची के विरुद्ध जांचता है।

डिफ़ॉल्ट अनुमति सूची में registry.npmjs.org, pypi.org, crates.io, github.com शामिल हैं। सूची में न होने वाली कोई भी चीज़ 403 प्राप्त करती है — भले ही पैकेज का पोस्टइंस्टॉल स्क्रिप्ट होम कॉल करने की कोशिश करे।

root@kitploit:~
# केवल npmjs.org और उसके CDN तक पहुँचता है — और कुछ नहीं
cordon run --net=allow -- npm install

# एक निजी रजिस्ट्री के लिए डोमेन जोड़ें
cordon run --net=allow --domain my.internal.registry -- npm install

Seccomp

वैकल्पिक रूप से एक सिस्कॉल फ़िल्टर लागू करें:

root@kitploit:~
# ptrace, kexec_load, mount, perf_event_open, process_vm_* को ब्लॉक करता है
cordon run --seccomp basic --net=allow -- npm install

# सख्त अनुमति सूची — केवल ज्ञात-सुरक्षित सिस्कॉल
cordon run --seccomp strict -- python3 untrusted.py

यह रक्षा की दूसरी पंक्ति है। भले ही कोई फ़ाइलसिस्टम प्रतिबंध से बाहर निकल जाए, वह फिर भी किसी अन्य प्रक्रिया से जुड़ने के लिए ptrace या साइड-चैनल कार्य के लिए perf_event_open कॉल नहीं कर सकता।


इंस्टॉल करें

root@kitploit:~
git clone https://github.com/LORDv1shnu/Cordon
cd Cordon
bash install.sh        # release बाइनरी बनाएं → ~/.local/bin/cordon

या मैन्युअल रूप से:

root@kitploit:~
cargo build --release
cp target/release/cordon ~/.local/bin/

आपको bubblewrap इंस्टॉल होना चाहिए:

root@kitploit:~
sudo apt install bubblewrap    # Ubuntu/Debian
sudo dnf install bubblewrap    # Fedora
sudo pacman -S bubblewrap      # Arch

इंस्टॉल के बाद पहली बार चलाएँ:

root@kitploit:~
cordon scan    # एक बार आपके सिस्टम को स्कैन करता है, ~30s लगते हैं, ~/.config/cordon/system.toml लिखता है
cordon check   # सैनिटी चेक — सुनिश्चित करता है कि सब कुछ तैयार है

उपयोग

root@kitploit:~
# मूल बातें
cordon run -- echo "hello"
cordon run --net=allow -- npm install
cordon run --net=allow -- pip install -r requirements.txt
cordon run --net=full -- curl https://example.com   # अप्रतिबंधित (कोई फ़िल्टरिंग नहीं)

# Seccomp
cordon run --seccomp basic --net=allow -- npm install

# GUI ऐप्स
cordon run --gui -- code .
cordon run --gui --optional audio_pipewire --optional dbus_session -- discord

# अंतर्निहित प्रोफाइल (सामान्य रनटाइम के लिए पूर्व-कॉन्फ़िगर)
cordon run --profile node -- npm install
cordon run --profile python -- python3 script.py
cordon run --profile rust -- cargo build

# डीबग करें कि क्या ब्लॉक किया जा रहा है
cordon run --trace -- node server.js              # strace रैपर, अस्वीकृत पथ रिपोर्ट करता है
cordon add --from-trace ~/.config/cordon/logs/last-trace.log  # बैच में गुम पथ जोड़ें

# संसाधन सीमाएँ (systemd की आवश्यकता है)
cordon run --mem 512M --cpu 2.0 --timeout 60 -- npm install

# ड्राई रन / वर्बोज़
cordon run --dry-run -- npm install               # bwrap कमांड प्रिंट करें, न चलाएँ
cordon run --verbose -- npm install               # प्रत्येक bwrap तर्क प्रिंट करें जैसे-जैसे चलता है

प्रोजेक्ट सेटअप (cordon.toml)

root@kitploit:~
cordon init                            # स्वचालित रूप से Cargo.toml / package.json / pyproject.toml का पता लगाता है
cordon set --net=allow                 # फ़्लैग को स्थायी रखें ताकि आपको हर बार टाइप न करना पड़े
cordon add /path/to/assets --mode ro   # सैंडबॉक्स में अतिरिक्त पथ उजागर करें
cordon edit                            # $EDITOR में cordon.toml खोलें

निरीक्षण और डीबग

root@kitploit:~
cordon check               # हेल्थ चेक: bwrap, नेमस्पेस, AppArmor, मॉड्यूल
cordon doctor              # गहरा: कर्नेल संस्करण, डिस्ट्रो विशिष्टताएँ, सटीक फिक्स सुझाव
cordon status              # दिखाएँ कि अभी system.toml में क्या है
cordon list                # हर माउंट दिखाएँ जो अगली बार रन पर सक्रिय होगा
cordon log --errors        # पिछले रन का लॉग टेल करें, केवल त्रुटियाँ
cordon syscalls --preset basic   # सूचीबद्ध करें कि प्रत्येक seccomp प्रीसेट क्या ब्लॉक करता है

प्रोफाइल और पोर्टेबिलिटी

root@kitploit:~
# नामित प्रोफाइल (~/.config/cordon/profiles.toml में संग्रहीत)
cordon profile create ci-node --net=allow --optional ld_so_cache
cordon run --profile ci-node -- npm test

# प्रतिलिपि प्रस्तुत करने योग्य वातावरण के लिए लॉकफ़ाइल
cordon lock update          # सभी माउंट पथों का SHA-256 → cordon.lock
cordon lock verify          # जाँचें कि कुछ भी विचलित नहीं हुआ

# टीम के साथ सैंडबॉक्स कॉन्फ़िग साझा करें
cordon export > sandbox.json
cordon import sandbox.json

शेल इंटीग्रेशन

root@kitploit:~
# टैब कम्प्लीशन
cordon completions zsh > ~/.zfunc/_cordon

# पारदर्शी रैपर — "npm" को हमेशा सैंडबॉक्स में चलाएँ
cordon wrap npm
cordon wrap pip
npm install                # वास्तव में चलता है: cordon run -- npm install "$@"
cordon unwrap npm

# मैन पेज
cordon man | man -l -

कॉन्फ़िगरेशन स्तर

चार कॉन्फ़िग फ़ाइलें हैं, क्रम में लागू:

स्तरकहाँकौन लिखता है
core.tomlबाइनरी में संकलितरनटाइम पर संपादन योग्य नहीं (छेड़छाड़-प्रूफ)
system.toml~/.config/cordon/cordon scan
profiles.toml~/.config/cordon/cordon profile create
cordon.tomlप्रोजेक्ट डायरेक्टरीcordon init / cordon set / cordon add

CLI फ़्लैग हमेशा जीतते हैं। cordon.toml एक नामित प्रोफाइल को हराता है। बाइनरी के बिल्ट-इन core.toml को रनटाइम पर छुआ नहीं जा सकता।


एग्ज़िट कोड

कोडअर्थ
0सफलता
1कॉर्डन आंतरिक त्रुटि
2खराब CLI उपयोग
125सैंडबॉक्स सेटअप विफल (bwrap गुम, आदि)
126कमांड मिला लेकिन सैंडबॉक्स के अंदर निष्पादन योग्य नहीं
127कमांड सैंडबॉक्स के अंदर नहीं मिला
Nसैंडबॉक्स की गई प्रक्रिया से अग्रेषित

bwrap और शेल के समान कन्वेंशन।


सीमाएँ

Cordon एक कंटेनर, एक एंटीवायरस या SELinux या AppArmor का विकल्प नहीं है। यह फ़ाइलसिस्टम दृश्यता और नेटवर्क एक्सेस को प्रतिबंधित करता है — यह मैलवेयर का पता लगाने की कोशिश नहीं कर रहा है। यदि किसी के पास कर्नेल एक्सप्लॉइट है, तो वह बाहर निकल जाएगा। लक्ष्य सप्लाई चेन हमलों को काफी कठिन बनाना है, असंभव नहीं।

इसके अलावा: वर्तमान में केवल Linux x86_64 और aarch64। bubblewrap आवश्यक है।


तकनीक

Rust में निर्मित। नेमस्पेसिंग के लिए bubblewrap, BPF फ़िल्टर संकलन के लिए seccompiler, CLI के लिए clap, संरचित लॉगिंग के लिए tracing का उपयोग करता है। डोमेन-फ़िल्टरिंग प्रॉक्सी पूरी तरह से Rust में (कोई बाहरी प्रॉक्सी टूल नहीं) खरोंच से लिखा गया है।

→ COMMANDS.md — पूर्ण फ़्लैग संदर्भ
→ SCANNER_LOGIC.md — सिस्टम स्कैनर कैसे काम करता है
→ MODULE_INFO.md — प्रत्येक स्रोत फ़ाइल समझाई गई


AI सहायता (Gemini) के साथ निर्मित। आर्किटेक्चर, सुरक्षा मॉडल और डिज़ाइन निर्णय लेखक के कार्य हैं।

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