CTF 입문 로드맵: Bandit·Natas부터 분야별 문제 풀이까지
YOUR LEARNING PATH
문제에서 주어진 정보와 목표를 정리하고, 가설을 세워 검증한 뒤 풀이를 기록하는 연습입니다. 처음에는 명령줄 워게임으로 시작하고 여러 분야를 경험한 뒤 자신의 약점을 중심으로 복습합니다.
누구를 위한 경로인가요?
Linux 명령과 네트워크·프로그래밍 기초를 익히고 첫 워게임이나 CTF에 도전하려는 분
시작 전 준비
Linux 터미널과 SSH 사용법, 기본 웹 구조를 먼저 익히세요. 플랫폼마다 접속 방법과 규칙이 다르므로 각 수업의 환경 설명을 확인합니다.
이 경로에서 익힐 것
- 주어진 파일·서비스·목표를 구분하고 풀이 가설을 세웁니다.
- 명령 출력과 실험 결과를 근거로 다음 행동을 선택합니다.
- 성공한 풀이뿐 아니라 막힌 지점과 재학습할 내용을 기록합니다.
STEP BY STEP
추천 학습 순서
Bandit로 풀이 과정 익히기
- 096 Bandit 0~5 — 워게임 풀이 사이클SSH로 원격 서버에 접속하고 포트를 지정할 수 있다
- 097 Bandit 6~10 — find 조건 검색 마스터find의 조건(-user, -group, -size, -perm, -mtime, -writable)을 AND로 조합해 원하는 파일만 정확히 뽑는다
- 098 Bandit 11~15 — 인코딩과 네트워크 접속tr로 ROT13 등 문자 치환을 수행하고 원리를 설명한다
- 099 Bandit 16~20 — setuid 첫 만남포트 범위 스캔으로 열린 서비스를 찾고 TLS 여부를 확인한다
- 100 Bandit 21~25 — cron 악용 사고방식/etc/cron.d/를 읽고 "누구 권한으로 무엇이 언제"를 해석한다
- 101 Bandit 26~30 — git 이력에서 비밀 캐기, 그리고 완주제한된 쉘 환경에서 more/vim 경유로 파일을 읽는 우회의 개념을 설명한다
Natas로 웹 워게임 연결하기
- 102 Natas 0~5 — 웹 워게임의 문을 열다새 사이트를 만나면 소스 보기→주석 검색→robots.txt→경로 추측의 정찰 루틴을 수행한다
- 103 Natas 6~10 — 서버 코드 읽기와 명령어 인젝션PHP 소스에서 include 경로와 비교 로직을 찾아 읽는다
- 104 Natas 11~15 — XOR 분석과 첫 SQL Injection반복 키 XOR 암호에서 알려진 평문 공격(known-plaintext attack)으로 키를 복구한다
- 105 ★ 점검 — 워게임 기법 목록화Bandit 0~30, Natas 0~15에서 쓴 기법을 누락 없이 나열한다
분야를 탐색하고 복습 방법 만들기
- 176 CTF 맛보기 1: Web 문제 5개 — 실전 경기장에 입장하다HTML 본문·주석·응답 헤더·쿠키·쿼리 매개변수를 구분한다.
- 177 CTF 맛보기 2: Pwn 문제 도전 (pwnable.kr) — 바이너리와의 첫 대면Pwn 문제의 구조(분석용 파일 + 공격 대상 서버)를 설명한다
- 178 CTF 맛보기 3: Reversing — crackme 2개 + Ghidra — 소스 없이 읽는 법정적 분석(실행하지 않고 읽기)과 동적 분석(실행하며 관찰)의 차이를 설명한다
- 179 CTF 맛보기 4: Crypto 입문 3개 — 수학 퍼즐로서의 암호인코딩(encoding)과 암호화(encryption)의 차이를 설명한다
- 180 CTF 맛보기 5: Forensics/기타 3개 — 수상한 파일의 해부매직 바이트(파일 시그니처)로 파일의 실제 종류를 판별한다
- 181 ★ 주력 분야 선정 + 보조 분야 결정 — 나는 어떤 플레이어인가다섯 분야의 성격(학습 곡선, 대회 비중, 진로 연계)을 표로 비교한다
- 279 ★ CTF 대회 #1: 주말 대회 풀 참가 — 첫 대회의 목표는 성적이 아니라 완주다첫 대회 전에 환경·도구·플레이북을 점검하는 체크리스트를 돌린다
- 280 CTF 복기 블록 A: 틀린 문제 3개 끝까지 파기 — 실력은 대회가 아니라 복기에서 늘어난다대회 로그에서 복기 가치가 높은 문제 3개를 선정하는 기준을 적용한다
- 281 ★ CTF #2: 이번엔 팀으로 — 분업의 효율과 소통의 비용을 동시에 배우는 날킥오프 미팅 30분으로 분야 배정과 단서 공유 규칙을 합의한다
다음 단계로 가기 전에
힌트 없이 다시 풀 수 있는지 확인하고 사용한 개념을 짧게 설명해 보세요. 풀이 기록에는 입력, 관찰 결과, 실패한 가설과 다음에 확인할 점을 남깁니다.
수업별 준비물과 완료 기준을 먼저 확인하고, 익숙한 내용은 필요한 수업부터 읽어도 좋습니다.