अपडेट पर वापस जाएँ
New releaseJul 24, 2026

cmdchamp v1.2.13

bash CLI प्रशिक्षक — ls से privilege escalation तक 30 स्तर

साझा करें

cmdchamp

Bash CLI प्रशिक्षक — ls से लेकर privilege escalation तक 30 स्तर।

demo

हर प्रश्न आपसे एक वास्तविक कमांड टाइप करने को कहता है — तुरंत फीडबैक पाएं, आगे बढ़ें। एक भी गलत होने पर यह सिर्फ उत्तर नहीं दिखाता: यह दिखाता है कि आपके कमांड ने क्या आउटपुट दिया बनाम जो अपेक्षित था, और पाइपलाइन के लिए हर चरण पर लाइन गिनती, ताकि आप देख सकें कि यह कहां विफल हुआ। टेक्स्ट-मैच वाले प्रश्नों के लिए यह बताता है कि स्वीकृत उत्तर में से आपका उत्तर किसके सबसे करीब था और वह सटीक फ्लैग जो आपने छोड़ दिया। लंबे रास्ते से सही करने पर यह छोटा रास्ता दिखाता है — cat f | grep -c X पर Shorter: grep -c X f मिलता है, जो कम पाइपलाइन चरणों और कम अक्षरों दोनों पर ट्रिगर होता है, क्योंकि बचाई गई प्रक्रिया ही सबक है। कई प्रश्न सैंडबॉक्स में वास्तविक फाइलों पर चलते हैं, और सभी कई मान्य सिंटैक्स स्वीकार करते हैं (sort -u या sort | uniq)। संदर्भ की आवश्यकता होने पर Tab manpage टॉगल करता है — उत्तर चलाने वाले हर कमांड के लिए संक्षिप्त पेज, साथ ही वह शेल सिंटैक्स जिस पर वह निर्भर करता है (x=$(cmd), ${var:-default}, ${path##*/}), ताकि प्रश्न में कुछ भी अनुमान लगाने के लिए न छूटे। क्रम हर बार यादृच्छिक होता है ताकि आप उसे रट न सकें। Mastery ट्रैक करता है कि आप क्या जानते हैं: किसी प्रश्न को दो बार सही करने पर वह mastered हो जाता है, गलत करने पर वह demote हो जाता है ताकि वह जल्दी वापस आए। 5-उत्तरों की लगातार श्रृंखला fire mode ट्रिगर करती है — एक बैनर जो तब तक चलता है जब तक आप गलत न करें।

हर स्तर boss round के साथ समाप्त होता है — कोई manpage नहीं, 30 सेकंड का टाइमर, पास होने के लिए 4/5। विफल होने पर आप boss को तुरंत दोबारा आज़मा सकते हैं या अभ्यास पर वापस जा सकते हैं। सभी 30 हराएं और challenge mode अनलॉक होता है — अंतिम गेम की कठिन परीक्षा: मल्टी-कमांड चेन जो पूरे गेम के टूल्स को एक पाइपलाइन में जोड़ती हैं। 30 सेकंड प्रत्येक, एक जीवन, कोई manpage नहीं, आपका सर्वश्रेष्ठ स्कोर रिकॉर्ड है। हर चेन को सैंडबॉक्स में उसके वास्तविक आउटपुट पर ग्रेड किया जाता है, इसलिए कोई भी सही पाइपलाइन पास होती है। हर रन एक ताज़ा यादृच्छिक सैंडबॉक्स भी बनाता है — अलग IP, गिनती, होस्ट और लॉग डेटा — और 50+ चेन टेम्पलेट्स से घूमते डिलीमीटर, सॉर्ट ऑर्डर और एग्रीगेट्स के साथ चुनता है, ताकि सबसे व्यस्त IP, शीर्ष URL, उच्चतम गिनती कभी दो बार समान न हो। पहले रन में एक छोटा ट्यूटोरियल और एक placement test शामिल है जो आपको उन स्तरों को छोड़ने देता है जो आप पहले से जानते हैं।

bubblewrap के साथ, कमांड एक वास्तविक सैंडबॉक्स्ड फाइलसिस्टम में चलते हैं और उनके वास्तविक आउटपुट पर ग्रेड किए जाते हैं। अंदर का बॉक्स सिंथेटिक है — उपयोगकर्ता sandbox, होस्ट sandbox, अपना स्वयं का /etc/passwd और कर्नेल कमांड लाइन — ताकि आपके द्वारा टाइप की गई कोई भी चीज़ आपका वास्तविक उपयोगकर्ता नाम, मशीन नाम या डिस्क लेआउट स्क्रीन पर प्रिंट न कर सके, और id, whoami और hostname हर जगह समान उत्तर देते हैं। यह अब forensics टियर तक भी पहुंचता है: स्तर 28 आपको एक वास्तविक नमूना बाइनरी (samples/target.bin) देता है और ग्रेड करता है कि क्या आपने वास्तव में उसमें से फ्लैग, exfil डोमेन और लीक हुई API कुंजी निकाली — वही jq प्रश्नों के लिए वास्तविक JSON पर। अंतिम गेम की कठिन परीक्षा उन निष्कर्षणों को समयबद्ध चेन में जोड़ती है। स्तर 24-25 अब वास्तव में भी चलते हैं: एक छोटी HTTP सेवा सैंडबॉक्स के अपने नेटवर्क नेमस्पेस के अंदर localhost:8080 पर शुरू होती है जबकि आपका उत्तर चलता है, तीन पोर्ट सुनते हुए, ताकि curl, HTTP पर jq, ss और nmap उस पर ग्रेड किए जाएं जो उन्होंने वास्तव में लौटाया। आपकी मशीन को कुछ भी उजागर नहीं होता — नेमस्पेस अभी भी हर आउटगोइंग कनेक्शन को रोकता है, और पोर्ट बाहर से अदृश्य है। केवल वे टूल जो वास्तव में सैंडबॉक्स में नहीं चल सकते — wifi/RF, लाइव कैप्चर और बड़ी मेमोरी/डिस्क forensics — टेक्स्ट-मैच रहते हैं। खोज स्तर (16-17) rg/fd और grep/find दोनों सिंटैक्स स्वीकार करते हैं। Vi लाइन एडिटिंग अंतर्निहित है — motions, operators, counts, registers, undo और visual mode (v/V, सिरों को बदलने के लिए o), पूर्ण मैप के लिए ? के साथ।

इंस्टॉल

Arch (AUR):

paru -S cmdchamp   # या: yay -S cmdchamp

कहीं भी (एकल फ़ाइल):

mkdir -p ~/.local/bin && curl -sL https://raw.githubusercontent.com/mellen9999/cmdchamp/main/cmdchamp -o ~/.local/bin/cmdchamp && chmod +x ~/.local/bin/cmdchamp

आवश्यकता होने पर PATH में ~/.local/bin जोड़ें: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

या क्लोन करें:

git clone https://github.com/mellen9999/cmdchamp.git
cd cmdchamp && make install

आवश्यकताएं: bash 4.4+, coreutils, awk

macOS: bash 3.2 के साथ आता है — पहले bash 4.4+ इंस्टॉल करें: brew install bash

वैकल्पिक: bubblewrap (bwrap) सैंडबॉक्स मोड के लिए (केवल Linux) — अधिकांश डेस्कटॉप डिस्ट्रो इसे शामिल करते हैं। इसके बिना, उत्तर केवल टेक्स्ट-मैच होते हैं

वैकल्पिक: python3 — सैंडबॉक्स की localhost HTTP सेवा प्रदान करता है, ताकि स्तर 24-25 पर live api / live box प्रश्न वास्तविक आउटपुट पर ग्रेड किए जाएं। इसके बिना वे प्रश्न टेक्स्ट-मैचिंग पर वापस आ जाते हैं; बाकी कुछ भी नहीं बदलता

पहुंच: NO_COLOR और TERM=dumb का सम्मान करता है। लेआउट COLUMNS / tput cols के अनुकूल होता है। Mastery बार रंग और / ~ / x प्रतीक दोनों रखते हैं — बिना रंग के पठनीय।

टर्मिनल: वास्तविक सीरियल टर्मिनलों पर चलता है, सिर्फ इम्यूलेटर पर नहीं। cmdchamp जांचता है कि टर्मिनल वास्तव में क्या प्रदर्शित कर सकता है और तीन रेंडर टियर में से एक चुनता है — unicode, DEC ACS लाइन-ड्रॉइंग, या शुद्ध ASCII — ताकि फ्रेम VT100/VT220/VT320/VT420 या Wyse पर बरकरार रहें। मोनोक्रोम स्क्रीन पर, रंग भेद bold/reverse के रूप में पुनः एन्कोड किए जाते हैं। CMDCHAMP_ASCII=1 या CMDCHAMP_UNICODE=1 के साथ एक टियर बल करें। ./test_terminals.sh इसे सत्यापित करता है।

उपयोग

cmdchamp                # गेम मेनू लॉन्च करें
cmdchamp explain 'CMD'  # किसी भी कमांड की व्याख्या करें - हर फ्लैग, साथ ही उसके आसपास का शेल सिंटैक्स
cmdchamp autopsy        # अपना स्वयं का शेल इतिहास पढ़ें और उसे पाठ्यक्रम पर मैप करें
cmdchamp daily          # आज का दैनिक गौंटलेट खेलें (सभी के लिए समान रन)
cmdchamp daily 2026-02-16   # किसी विशिष्ट दिन का रन दोबारा चलाएं (दोस्त से रेस करें)
cmdchamp play           # फ्री-प्ले सैंडबॉक्स: कोई भी कमांड टाइप करें, उसे चलते देखें
cmdchamp --no-sandbox   # सैंडबॉक्स अक्षम करें (केवल टेक्स्ट-मैच)
cmdchamp reset          # सभी प्रगति साफ़ करें
cmdchamp test           # स्व-परीक्षण चलाएं
cmdchamp version        # संस्करण प्रिंट करें
cmdchamp help           # सहायता दिखाएं

cmdchamp explain (या cmdchamp x) Tab पैनल है एक स्टैंडअलोन टूल के रूप में: ~300 कमांड के लिए हाथ से लिखे पेज साथ ही उनके आसपास का शेल सिंटैक्स, ऑफ़लाइन, कोई नेटवर्क नहीं, कोई निर्भरता नहीं। यह एक उद्धृत कमांड या बेयर शब्द लेता है, और जब दोनों में से कोई नहीं दिया जाता तो stdin पढ़ता है — ताकि history | tail -1 | cmdchamp x समझाए कि आपने अभी क्या चलाया। Exit 0 जब यह कमांड जानता है, 1 जब नहीं जानता।

cmdchamp autopsy आपका शेल इतिहास पढ़ता है — $HISTFILE, फिर ~/.bash_history, फिर ~/.zsh_history, या एक फ़ाइल जिसे आप नाम देते हैं, या stdin के लिए - — और उसे 30 स्तरों पर मैप करता है: आप वास्तव में किस तक पहुंचते हैं, छोड़ने लायक आदतें आपकी अपनी गिनती के साथ प्रत्येक के बगल में (cat में grep, -print0 के बिना xargs में find, chmod 777, curl | sh), गेम द्वारा सिखाए गए कमांड में से आपने कितने कभी चलाए हैं, और सबसे पहला स्तर जिसमें अंतर है। यह केवल पैटर्न और गिनती प्रिंट करता है — आपके इतिहास से कभी कोई पंक्ति, टुकड़ा या "उदाहरण" नहीं, क्योंकि इतिहास में तर्क के रूप में टाइप किए गए टोकन और पासवर्ड होते हैं। कुछ भी मशीन से बाहर नहीं जाता, और आपके इतिहास को प्रतिध्वनित करने के लिए कोई फ्लैग नहीं है।

मेनू में continue, new game, scenarios, challenge, daily, practice, stats, options, help और quit निश्चित हॉटकी 1-9 और 0 पर हैं। एक पंक्ति जिसे आपने अनलॉक नहीं किया है वह छिपी नहीं बल्कि धुंधली होती है, ताकि लेबल के बगल का अंक आपकी प्रगति के साथ कभी न हिले। j/k या तीर चलते हैं, Enter चुनता है, और q (या Esc) बाहर निकलता है। प्लेग्राउंड Scenarios सूची के शीर्ष पर रहता है — यह एकमात्र प्रविष्टि है जो कभी लॉक नहीं होती। Help संदर्भ है, तीन पेज: हर कुंजी, प्रत्येक मोड की लागत और अनलॉक बिंदु, स्कोरिंग और क्षय कैसे काम करते हैं, Stats चिह्नों का क्या अर्थ है, उत्तर का मूल्यांकन कैसे होता है, और हर पर्यावरण चर। पहली बार चलाने का ट्यूटोरियल अभी भी अंतिम पेज पर एक कीप्रेस दूर है।

Daily (post-ROOT) एक दिनांक-बीजित गौंटलेट रन है — बीज चेन और यादृच्छिक सैंडबॉक्स दोनों चलाता है, ताकि हर जगह सभी को उस दिन बाइट-समान प्रश्न और डेटा मिले, एक स्कोर किया गया प्रयास, एक लगातार-दिन की श्रृंखला, और एक कॉपी करने योग्य स्कोर जिसे आप साझा कर सकते हैं। Practice किसी भी पहुंचे स्तर (उसके mastery % के साथ दिखाया गया) को संकेतों और बिना टाइमर के अभ्यास कराता है, आपकी मुख्य प्रगति को छुए बिना। Playground एक समझौता किया गया बॉक्स है जिसे आप एक वास्तविक शेल से अलग करते हैं: कोई अंदर आया, उसका उपयोग किया, फिर सफाई करने की कोशिश की, और हर कदम ने डिस्क पर एक निशान छोड़ा। कमांड वास्तव में सैंडबॉक्स में चलते हैं और कुछ भी ग्रेड नहीं होता। पेड़ में 8 तक flag{...} टोकन लगाए गए हैं (स्तर साफ़ करने पर अधिक अनलॉक होते हैं), map घुसपैठ को चरण दर चरण बिछाता है और चिह्नित करता है कि आप कहां हैं, learn इसके पीछे 8-मॉड्यूल सुरक्षा पाठ्यक्रम है, hint हर बार पूछने पर एक टियर गहरा जाता है, और Tab समझाता है कि आपने क्या टाइप किया। हेडर हमेशा उस चरण का नाम बताता है जिसे आप खोज रहे हैं और जो फाइलें उसने छोड़ी हैं, ताकि आप कभी एक प्रॉम्प्ट पर घूरते न रहें जहां कमांड इंगित करने के लिए कहीं न हो — और यदि छह कमांड बिना कुछ मिले बीत जाएं, तो पहला संकेत आपके पास आता है।

स्टैट्स

दो पेज। पहला तीस स्तर बार है — आप कितनी दूर आए हैं। दूसरा वही mastery कमांड पर प्रक्षेपित है, सबसे कमजोर पहले, क्योंकि एक स्तर ड्रिल करने के लिए बहुत मोटा बाल्टी है: स्तर 13 अकेले cp, mv, ln, chmod, ACLs, du, tar और diff सिखाता है, और एक लाल बार यह नहीं बता सकता कि आप उनमें से किसे बार-बार गलत कर रहे हैं। केवल वे स्तर गिने जाते हैं जिन तक आप पहुंचे हैं, और ग्रिड एक स्क्रीन तक सीमित है — एक कार्यसूची जिसे स्क्रॉल करना पड़े वह कार्यसूची नहीं है। इसके नीचे, तीन सबसे कमजोर कमांड उस स्तर के साथ नामित हैं जो प्रत्येक को सिखाता है, ताकि पेज वहीं समाप्त हो जहां Practice शुरू होता है — स्तर के नाम विषयगत हैं, और xargs 0/4 एक मृत अंत है यदि आपको अनुमान लगाना पड़े कि Batch Ops वहीं रहता है।

स्तर

#नामफोकस
मूल बातें
1पहला कदमpwd, ls, echo, cd, mkdir
2फ़ाइल मूल बातेंcp, mv
3अपना काम सहेजें>, >>, tee
4फ़ाइलें पढ़नाcat, head, tail, less
5बुनियादी पाइपpipes, grep, wc, sort, uniq
6इनपुट और Here-Strings<, <<<, tr, cut, rev, bc
7त्रुटि प्रबंधन2>, 2>&1, &>, /dev/null
8लॉजिक गेट्स&&, ||
9चर$VAR, असाइनमेंट, विस्तार
10विशेष चर$$, $?, $!, $#, $@, $0
11जॉब नियंत्रणbg, fg, jobs, &, Ctrl+Z, nice, ulimit
12परीक्षण शर्तें-f, -d, -z, -n, -eq, -lt
13कोर फ़ाइल टूलcp, mv, ln, chmod, ACLs, du, tar, diff
14सिस्टम प्रशासनping, df, free, ss, systemctl, ip, sysctl, lsblk, getent
15मल्टीप्लेक्सरtmux: सत्र, विंडो, पैन
16टेक्स्ट खोजgrep, ripgrep, regex
17फ़ाइल खोजfind, fd, नाम/आकार/समय/प्रकार से
18डेटा प्रोसेसिंगsort, uniq, cut, awk, tr, comm, join, numfmt
19स्ट्रिंग और ऐरेपैरामीटर विस्तार, ऐरे
20नियंत्रण प्रवाहif/else, लूप, case, फ़ंक्शन
21बैच ऑप्सfind -exec, xargs, sed -i, crontab
22उन्नत regexlookahead, sed, awk
DevOps और सुरक्षा
23Gitशाखाएं, रिमोट, rebasing, stashing, bisect
24नेटवर्क टूलtshark, curl, jq, ssh टनल, openssl, SMB, एक लाइव HTTP एंडपॉइंट
25नेटवर्क स्कैनिंगnmap, सेवा पहचान, स्क्रिप्ट, एक लाइव लक्ष्य
26WiFi और RFaircrack-ng, netcat, tcpdump, वायरलेस recon
27हैश क्रैकिंगhashcat, john, hydra, एन्कोडिंग
28फोरेंसिकstrings, readelf, binwalk, volatility, exiftool
29Privilege EscalationSUID, capabilities, GTFOBins, enumeration
30ROOTआपातकालीन पुनर्प्राप्ति, chroot, ऑफ़लाइन उत्तरजीविता

परिदृश्य

मल्टी-स्टेप सैंडबॉक्स चुनौतियां — राज्य चरणों के बीच बना रहता है। Scenarios मेनू से उपलब्ध एक बार जब आप अनलॉक boss को साफ़ करते हैं, जो उन्हें प्लेग्राउंड के नीचे अनलॉक क्रम में सूचीबद्ध करता है। नीचे की संख्याएं परिदृश्य आईडी हैं, जो कभी नहीं बदलतीं।

#नामअनलॉक होता हैचरण
1अनुमति लॉकआउटL13 boss6
2संग्रह और निष्कर्षणL13 boss6
3सुई खोजेंL16 boss7
4गंदा CSVL18 boss4
5घटनाL18 boss5
6टूटा हुआ डिप्लॉयL21 boss7
7लॉग आपातकालL21 boss5
8कॉन्फ़िग सर्जरीL21 boss5
9Git बचावL23 boss6
10बैच रीफैक्टरL21 boss6
11फोरेंसिक स्वीपL22 boss6
12वाइल्डकार्ड बैकअपL29 boss4
13PATH हाइजैकL29 boss4

परिदृश्य 12–13 एक्सप्लॉइट बॉक्स हैं: आप एक वास्तविक tar-checkpoint इंजेक्शन / PATH हाइजैक लगाते हैं और उस आर्टिफैक्ट पर ग्रेड किए जाते हैं जो यह उत्पन्न करता है (एक फ़ाइल दिखाई देती है, एक रहस्य exfiltrated होता है)। एक्सप्लॉइट का प्रभाव वास्तव में सैंडबॉक्स में चलता है; विशेषाधिकार सीमा अनुकरण की जाती है — कुछ भी वास्तविक root के रूप में नहीं चलता।

प्लेसमेंट परीक्षण

पहली बार चलाने के ट्यूटोरियल के बाद, आपसे पूछा जाता है कि क्या आप आगे छोड़ने के लिए प्लेसमेंट परीक्षण लेना चाहते हैं। स्वीकार करें और यह प्रति स्तर 2 प्रश्न चलाता है, 30 सेकंड प्रत्येक, कोई manpage नहीं। एक गलत करें और वही आपका प्रारंभिक स्तर है।

ईस्टर एग्स

8 छिपी उपलब्धियां। Stats स्क्रीन दिखाती है कि आपने कितनी पाई हैं।

नियंत्रण

कुंजीक्रिया
Enterउत्तर सबमिट करें
Tabmanpage टॉगल करें
Ctrl+dबाहर निकलें (सत्र सारांश)
EscVi सामान्य मोड
?सभी कीबाइंडिंग (सामान्य मोड)

डेटा

प्रगति ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/ में सहेजी जाती है।

लाइसेंस

MIT

श्रेणियाँ