Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/mellen9999/cmdchamp
Password CrackingPrivilege EscalationWi-Fi AuditingHash AnalysisScripting & AutomationForensicsNetwork SecurityCTFPenetration TestingLearning & EducationLabs & Practice
12416일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
mellen9999/cmdchamp

cmdchamp

bash CLI 트레이너 — ls부터 권한 상승까지 30단계

저장소 보기

cmdchamp

Bash CLI 트레이너 — ls부터 권한 상승까지 30개 레벨.

demo

모든 질문은 실제 명령어를 입력하도록 요구합니다 — 즉각적인 피드백을 받고 다음으로 넘어가세요. 틀리면 단순히 답을 보여주지 않습니다: 여러분의 명령어가 출력한 결과와 원하는 결과를 비교해 보여주고, 파이프라인의 경우 각 단계의 줄 수를 보여줘서 어디서 실패했는지 알 수 있습니다. 텍스트 매칭 질문의 경우 여러분의 답에 가장 가까운 정답과 빠뜨린 정확한 플래그를 알려줍니다. 긴 방법으로 맞추면 짧은 방법도 보여줍니다 — cat f | grep -c X는 Shorter: grep -c X f를 얻습니다. 이는 더 적은 문자뿐 아니라 더 적은 파이프라인 단계에서도 트리거됩니다. 절약한 프로세스가 교훈이기 때문입니다. 많은 질문이 샌드박스의 실제 파일을 대상으로 실행되며, 모든 질문은 여러 유효한 문법을 허용합니다 (sort -u 또는 sort | uniq). 참조가 필요할 때 Tab으로 manpage를 토글할 수 있습니다 — 답변이 실행하는 모든 명령어에 대한 요약 페이지와 함께 의존하는 셸 문법 (x=$(cmd), ${var:-default}, ${path##*/})도 제공되므로 질문의 어떤 것도 추측할 필요가 없습니다. 실행 순서는 매번 무작위화되어 암기할 수 없습니다. 마스터리 시스템은 아는 것을 추적합니다: 질문을 두 번 맞추면 마스터하고, 틀리면 강등되어 더 빨리 다시 나타납니다. 5연속 정답은 파이어 모드를 트리거합니다 — 틀릴 때까지 계속되는 배너입니다.

각 레벨은 보스 라운드로 끝납니다 — manpage 없음, 30초 타이머, 4/5 통과. 실패하면 보스를 즉시 재도전하거나 연습으로 돌아갈 수 있습니다. 30개를 모두 이기면 챌린지 모드가 잠금 해제됩니다 — 최종 관문: 게임 전체의 도구를 하나의 파이프라인으로 구성하는 다중 명령어 체인. 각 30초, 목숨 하나, manpage 없음, 최고 점수가 기록입니다. 모든 체인은 샌드박스의 실제 출력으로 평가되므로 어떤 올바른 파이프라인이든 통과합니다. 각 실행은 또한 새로운 무작위 샌드박스를 구축합니다 — 다른 IP, 카운트, 호스트, 로그 데이터 — 그리고 회전하는 구분자, 정렬 순서, 집계를 가진 50개 이상의 체인 템플릿에서 추출하므로 가장 바쁜 IP, 최고 URL, 최고 카운트가 두 번 같지 않습니다. 첫 실행에는 짧은 튜토리얼과 이미 아는 레벨을 건너뛸 수 있는 배치 테스트가 포함됩니다.

bubblewrap을 사용하면 명령어가 실제 샌드박스 파일시스템에서 실행되고 실제 출력으로 평가됩니다. 내부 상자는 합성입니다 — 사용자 sandbox, 호스트 sandbox, 자체 /etc/passwd 및 커널 명령줄 — 따라서 입력하는 어떤 것도 실제 사용자 이름, 머신 이름 또는 디스크 레이아웃을 화면에 출력할 수 없으며, id, whoami, hostname은 어디서나 동일하게 응답합니다. 이제 포렌식 티어에도 적용됩니다: 레벨 28은 실제 샘플 바이너리(samples/target.bin)를 제공하고 플래그, 외부 유출 도메인, 유출된 API 키를 실제로 추출했는지 평가합니다 — 실제 JSON에 대한 jq 질문도 동일합니다. 최종 관문은 이러한 추출을 시간 제한 체인으로 구성합니다. 레벨 24-25도 이제 실제로 실행됩니다: 답변이 실행되는 동안 샌드박스 자체 네트워크 네임스페이스 내부의 localhost:8080에서 작은 HTTP 서비스가 시작되고, 세 개의 포트가 수신 대기하므로 curl, HTTP를 통한 jq, ss, nmap이 실제 반환한 내용으로 평가됩니다. 여러분의 머신에는 아무것도 노출되지 않습니다 — 네임스페이스가 여전히 모든 외부 연결을 차단하고 포트는 외부에서 보이지 않습니다. 샌드박스에서 실제로 실행할 수 없는 도구(wifi/RF, 실시간 캡처, 대용량 메모리/디스크 포렌식)만 텍스트 매칭으로 유지됩니다. 검색 레벨(16-17)은 /와 / 문법을 모두 허용합니다. Vi 줄 편집이 내장되어 있습니다 — 모션, 연산자, 카운트, 레지스터, 실행 취소, 비주얼 모드(/, 끝 전환 ), 전체 맵은 로 확인할 수 있습니다.

설치

Arch (AUR):

root@kitploit:~
paru -S cmdchamp   # 또는: yay -S cmdchamp

어디서나 (단일 파일):

root@kitploit:~
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

또는 클론:

root@kitploit:~
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에 맞게 조정됩니다. 마스터리 바는 색상과 ✓ / ~ / x 기호를 모두 표시합니다 — 색상 없이도 읽을 수 있습니다.

터미널: 에뮬레이터뿐만 아니라 실제 직렬 터미널에서도 실행됩니다. cmdchamp는 터미널이 실제로 표시할 수 있는 것을 탐지하고 세 가지 렌더링 계층 중 하나를 선택합니다 — 유니코드, DEC ACS 선 그리기, 또는 순수 ASCII — 따라서 VT100/VT220/VT320/VT420 또는 Wyse에서도 프레임이 유지됩니다. 모노크롬 화면에서는 색상 구분이 굵게/반전으로 재인코딩됩니다. CMDCHAMP_ASCII=1 또는 CMDCHAMP_UNICODE=1로 계층을 강제할 수 있습니다. ./test_terminals.sh가 이를 검증합니다.

사용법

root@kitploit:~
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는 방금 실행한 것을 설명합니다. 명령어를 알면 종료 코드 0, 모르면 1을 반환합니다.

cmdchamp autopsy는 셸 히스토리 — $HISTFILE, 그다음 ~/.bash_history, 그다음 ~/.zsh_history, 또는 직접 지정한 파일, 또는 - (stdin) — 를 읽고 30개 레벨에 매핑합니다: 실제로 자주 사용하는 것, 각 항목 옆에 자신의 횟수와 함께 버릴 가치가 있는 습관 (cat을 grep에 연결, -print0 없는 find를 xargs에 연결, chmod 777, curl | sh), 게임이 가르치는 명령어 중 실제로 실행해 본 적이 있는 수, 그리고 공백이 있는 가장 이른 레벨. 패턴과 횟수만 출력합니다 — 히스토리에서 한 줄, 조각, 또는 "예시"도 절대 출력하지 않습니다. 히스토리에는 인수로 입력된 토큰과 비밀번호가 있기 때문입니다. 어떤 것도 머신을 떠나지 않으며 히스토리를 출력하게 하는 플래그도 없습니다.

메뉴에는 계속하기, 새 게임, 시나리오, 챌린지, 데일리, 연습, 통계, 옵션, 도움말, 종료가 고정 핫키 1-9와 0에 있습니다. 잠금 해제되지 않은 행은 숨기지 않고 회색으로 표시되므로 진행하면서 라벨 옆의 숫자가 이동하지 않습니다. j/k 또는 화살표로 이동, Enter로 선택, q (또는 Esc)로 종료. 플레이그라운드는 시나리오 목록 상단에 있습니다 — 절대 잠기지 않는 유일한 항목입니다. 도움말은 참조 자료로 세 페이지입니다: 모든 키, 각 모드의 비용과 잠금 해제 조건, 점수 및 감쇠 작동 방식, 통계 표시 의미, 답변 판정 방식, 모든 환경 변수. 첫 실행 튜토리얼은 마지막 페이지에서 한 번의 키 입력으로 접근할 수 있습니다.

데일리 (ROOT 이후)는 날짜 시드 건틀릿 실행입니다 — 시드가 체인과 무작위 샌드박스 모두를 구동하므로 모든 사람이 그날 바이트 단위로 동일한 질문 과 데이터를 받고, 점수 시도 1회, 연속 일수 스트릭, 공유 가능한 복사 가능한 점수를 얻습니다. 연습은 도달한 모든 레벨(마스터리 % 표시)을 힌트와 타이머 없이 훈련하며 메인 진행 상황에는 영향을 주지 않습니다. 플레이그라운드는 실제 셸로 분해하는 손상된 박스입니다: 누군가 침입해 사용한 후 정리하려 했고 모든 움직임이 디스크에 흔적을 남겼습니다. 명령어는 샌드박스에서 실제로 실행되며 평가되지 않습니다. 최대 8개의 flag{...} 토큰이 트리 전체에 심어져 있고(레벨을 클리어할수록 더 많이 잠금 해제), map은 침입을 단계별로 배치하고 현재 위치를 표시하며, learn은 그 뒤에 있는 8개 모듈 보안 교육 과정이고, hint는 요청할 때마다 한 단계 더 깊이 들어가며, Tab은 입력한 것을 설명합니다. 헤더는 항상 찾고 있는 단계와 그 단계가 남긴 파일을 명명하므로 명령어를 가리킬 곳 없는 프롬프트를 쳐다보지 않게 됩니다 — 그리고 아무것도 찾지 못한 채 6개 명령어가 지나가면 첫 번째 힌트가 자동으로 옵니다.

통계

두 페이지. 첫 번째는 30개 레벨 바 — 얼마나 왔는지. 두 번째는 동일한 마스터리를 명령어에 투영한 것으로, 가장 약한 것부터 시작합니다. 레벨은 훈련하기에 너무 거친 단위이기 때문입니다: 레벨 13만 해도 cp, mv, ln, chmod, ACL, du, tar, diff를 가르치며 하나의 빨간 바가 그중 무엇을 계속 틀리는지 말할 수 없습니다. 도달한 레벨만 계산되며 그리드는 한 화면으로 제한됩니다 — 스크롤해야 하는 작업 목록은 작업 목록이 아닙니다. 그 아래에 가장 약한 세 명령어가 각각을 가르치는 레벨과 함께 명명되므로 페이지는 연습이 시작되는 곳에서 끝납니다 — 레벨 이름은 주제별이며, Batch Ops가 어디에 있는지 추측해야 한다면 xargs 0/4는 막다른 길입니다.

레벨

시나리오

다단계 샌드박스 챌린지 — 상태가 단계 간에 유지됩니다. 잠금 해제 보스를 클리어하면 시나리오 메뉴에서 사용할 수 있으며, 플레이그라운드 아래에 잠금 해제 순서로 나열됩니다. 아래 숫자는 변경되지 않는 시나리오 ID입니다.

시나리오 12–13은 익스플로잇 박스입니다: 실제 tar-checkpoint 인젝션 / PATH 하이재킹을 심고 그것이 생성하는 아티팩트(파일 생성, 비밀 유출)로 평가됩니다. 익스플로잇의 효과는 샌드박스에서 실제로 실행됩니다; 권한 경계는 시뮬레이션됩니다 — 실제 root로 실행되는 것은 없습니다.

배치 테스트

첫 실행 튜토리얼 후 배치 테스트를 받아 건너뛸지 묻습니다. 수락하면 레벨당 2개 질문, 각 30초, manpage 없음. 하나 틀리면 그 레벨이 시작 레벨입니다.

이스터 에그

8개의 숨겨진 업적. 통계 화면에서 찾은 개수를 보여줍니다.

컨트롤

키동작
Enter답변 제출
Tabmanpage 토글
Ctrl+d종료 (세션 요약)
EscVi 일반 모드
?모든 키바인딩 (일반 모드)

데이터

진행 상황은 ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/에 저장됩니다.

라이선스

MIT

도구 다운로드
rg
fd
grep
find
v
V
o
?
#이름초점
기초
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, ACL, 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고급 정규식lookahead, sed, awk
DevOps 및 보안
23Git브랜치, 리모트, 리베이스, 스태시, bisect
24네트워크 도구tshark, curl, jq, ssh 터널, openssl, SMB, 라이브 HTTP 엔드포인트
25네트워크 스캐닝nmap, 서비스 탐지, 스크립트, 라이브 대상
26WiFi 및 RFaircrack-ng, netcat, tcpdump, 무선 정찰
27해시 크래킹hashcat, john, hydra, 인코딩
28포렌식strings, readelf, binwalk, volatility, exiftool
29권한 상승SUID, capabilities, GTFOBins, 열거
30ROOT비상 복구, chroot, 오프라인 생존
#이름잠금 해제 조건단계
1권한 잠금L13 보스6
2아카이브 및 추출L13 보스6
3바늘 찾기L16 보스7
4지저분한 CSVL18 보스4
5사고L18 보스5
6실패한 배포L21 보스7
7로그 비상L21 보스5
8설정 수술L21 보스5
9Git 구조L23 보스6
10배치 리팩터링L21 보스6
11포렌식 정밀 검사L22 보스6
12와일드카드 백업L29 보스4
13PATH 하이재킹L29 보스4