Step 300. ★ CTF #11: 예선 대비 실전 점검 — 80%의 힘으로 검증하는 리허설

Step 300. ★ CTF #11: 예선 대비 실전 점검 — 80%의 힘으로 검증하는 리허설

Level 3 — CTF 실전과 공격 스킬 심화 | 난이도 ★★★★☆ | 예상 소요 시간 2일 (대회 참가 + 종료 후 전술 회의)

전제: Step 299의 10문제 타임어택에서 확정한 순서 전략과 판단 규칙. 이 챕터는 예선 전 마지막 해외 대회를 "최종 리허설"로 운영합니다.

  • 준비물: CTFtime에 등록된 주말 대회 1개, Step 299의 시간 예산표와 판단 규칙, 장비·네트워크·문서 점검 목록. 이 챕터의 대회 장면은 화면 예시로 표기합니다.
  • 주의: 이 대회의 목표는 순위가 아니라 검증입니다. 80%의 힘으로 뛰며, 예선 당일의 모든 것을 미래 시제가 아니라 확정형으로 점검합니다.
  • ⚠️ 이 챕터의 실습은 내 랩·합법 플랫폼 전용입니다. 허가 없는 시스템에 적용하면 범죄입니다. 대회 규칙(팀 인원, 외부 협업 금지 등)을 시작 전에 읽고 지킵니다.

예선이 열흘 남았다고 가정해 봅시다. 이때 실력을 늘리는 것은 거의 불가능하지만, 실력이 점수로 환산되는 비율은 아직 크게 올릴 수 있습니다. 그 장치가 오늘의 대회입니다 — 예선과 같은 규칙으로 뛰는 마지막 해외 대회를, 장비부터 커뮤니케이션까지 전 부문의 최종 리허설로 씁니다.

리허설의 산출물은 점수가 아니라 문서입니다. 이 대회에서 수집한 데이터로 예선 당일의 문제 선택 순서, 시간 배분, 팀 운영을 확정하는 것 — 그것이 오늘의 완료 조건입니다.


1. 학습 목표

이 챕터를 끝내면 다음을 할 수 있습니다:

  • 대회를 "예선의 시뮬레이션"으로 운영한다 — 시간대와 휴식 계획까지 예선과 동일하게
  • 장비/네트워크/문서 세 축의 최종 점검 목록을 실행하고 빈칸을 메운다
  • Step 299에서 확정한 순서 전략을 실전에 적용하고 그 성과를 데이터로 기록한다
  • 종료 후 전술 회의를 열어 예선 최종 전략 문서(선택 순서·배분·커뮤니케이션)를 확정한다
  • 예선 전날까지의 컨디션 관리 계획을 세워 벼락치기의 유혹을 차단한다

2. 배경 지식 — 오늘의 도구와 개념

오늘의 도구 한눈에 보기

구분 내용
언어·환경 CTFtime 주말 대회, 팀 채널(디스코드 등), Step 299의 로그 양식, 문서 도구
오늘의 명령어 새 명령어 없음 — 점검 목록과 전략 문서가 오늘의 도구
필요한 개념 시뮬레이션의 조건(동일 규칙), 80% 원칙, 점검의 세 축, 전술 회의, 컨디션 자원
오늘의 산출물 점검 목록(체크 완료) + 대회 로그 + 예선 최종 전략 문서 + 컨디션 계획표

2-1. 왜 80%인가 — 검증과 소모의 균형

소재 원문의 지적입니다 — 직전 대회에서 무리하면 예선 당일 컨디션이 무너집니다. 이 대회는 예선이 아니라 예선을 위한 측정 장치입니다. 측정 장치에 올인하면 정작 본게임에 쓸 자원이 없습니다.

80%의 의미를 구체화하면 이렇습니다. 평소 대회에서 밤을 새웠다면 이번에는 예선과 동일한 취침 계획을 지킵니다. 새로 배우고 싶은 기법이 문제로 나와도 깊이 파지 않고 기록만 합니다. 순위가 아쉬워도 연장전을 하지 않습니다. 최선을 다하되, 전력은 다하지 않는 것 — 이 미묘한 균형이 이 대회의 운영 기술입니다.

2-2. 점검의 세 축 — 장비, 네트워크, 문서

실력 외의 요소로 대회를 망치는 사고는 대부분 세 축에서 발생합니다.

점검 항목 망가지는 시나리오
장비 디스코드/플랫폼 계정 로그인, VM 부팅, 도구 버전, 배터리·전원 대회 시작 30분을 로그인 문제로 소모
네트워크 대역 확인, VPN(플랫폼 접속용) 연결 시험, 백업 수단(테더링) 접속 불안으로 중반 리듬 붕괴
문서 치트시트·플레이북 최신본 위치, 로그 양식 열기, 규칙 요약본 필요한 치트시트를 못 찾아 10분 낭비

셋의 공통점은 실력으로 만회 불가라는 것입니다. 뛰어난 플레이어가 VPN 연결에 40분을 쓰면 그 40분의 기대 점수는 그대로 증발합니다. 그래서 이 대회 전날, 세 축을 실제 작동으로 점검합니다 — "돼 있을 것"이 아니라 "돌려 봤다"로.

2-3. 데이터 기록의 설계 — 예선 전략의 근거를 수집한다

이 대회의 로그는 Step 299의 양식에 두 열을 추가합니다 — 문제 선택의 근거팀 커뮤니케이션 사건입니다.

문제 | 분야 | 배점 | 착수 | 완료 | 오답 | 선택 근거 | 소통 사건

"선택 근거"는 그 문제를 골랐던 이유 한 단어입니다 — 전수 스캔 1순위, 재평가 전환, 팀원 요청 등. "소통 사건"은 팀 운영이 점수에 영향을 준 순간입니다 — 힌트 공유로 해결, 중복 착수 발견, 30분 연락 두절 등. 이 두 열이 종료 후 전술 회의의 재료입니다. 점수만 기록하면 "무엇이"만 알고, 근거와 사건을 기록해야 "왜"가 보입니다.

2-4. 전술 회의 — 대회는 종료가 아니라 회의에서 끝난다

대회 종료 직후가 아니라, 다음 날 아침에 팀 전술 회의를 엽니다 — 밤샘 직후의 회의는 감정은 있고 정확도가 없습니다. 회의의 산출물은 단 하나, 예선 최종 전략 문서입니다. 목차는 미리 정해져 있습니다.

예선 최종 전략 문서 (목차)
1. 문제 선택 순서 — 전수 스캔 기준, 우선순위 규칙
2. 시간 배분 — 구간별 예산, 문제당 상한, 재평가 시점
3. 역할 분담 — 누가 어느 분야를 1차로 보는가
4. 커뮤니케이션 규약 — 공유 타이밍, 요청 형식, 연락 두절 시 규칙
5. 비상 계획 — 장비/네트워크 사고 시 대체 수단

각 항목은 이번 대회 로그의 증거와 함께 채워집니다. 증거 없는 문장("열심히 하자")은 전략이 아니라 구호입니다 — 전부 삭제 대상입니다.


3. 따라 하기

3-1. 대회 전날 — 세 축 최종 점검 목록

대회 등록을 마쳤다면, 전날 저녁에 아래 목록을 실제 작동으로 점검합니다. 각 항목은 "확인했다"가 아니라 "실행했다"로 체크합니다.

[장비]
[ ] 대회 플랫폼 로그인 → 대회 페이지까지 진입 확인
[ ] 팀 채널(디스코드) 음성/화면공유 1회 시험
[ ] 공략용 VM 부팅 + 스냅샷 상태 확인
[ ] 침투 도구 무작위 3개 실행 시험 (nmap, burp, gdb 등)
[ ] 노트북 전원 어댑터 + 배터리 100%

[네트워크]
[ ] 플랫폼 VPN 설정 파일로 연결 시험 → 문제 서버 ping
[ ] 속도 측정 1회 (기준선 기록)
[ ] 백업 수단: 휴대폰 테더링으로 동일 접속 시험

[문서]
[ ] 치트시트/플레이북 최신본 위치 확인 (바로가기 고정)
[ ] Step 299 로그 양식에 '선택 근거/소통 사건' 열 추가 완료
[ ] 대회 규칙 요약본: 시간, 오답 페널티, 플래그 형식, 금지 사항

읽는 법: 이 목록에서 하나라도 실패하면 그것이 이 리허설의 첫 수확입니다 — 예선 전날이었다면 재앙이었을 결함을, 아직 열흘이 남은 오늘 발견했으니까요. 실패 항목은 즉시 수리하고 예선용 목록에도 반영합니다.

3-2. 대회 운영 — 예선과 같은 규칙으로

대회 당일, 예선 계획 그대로의 하루를 실행합니다. 화면 예시 (운영 계획표):

[대회 운영 계획 — 예선 동일 조건] (화면 예시)
09:00 시작 루틴 (세수/식사/자리 세팅 — 예선 당일과 동일 순서)
09:30 대회 시작 → 전수 스캔 (Step 299 방식, 20분)
09:50 저배점 전수 구간
12:30 점심 20분 (이석 — 예선과 동일한 시간에)
13:00 중간 재평가 → 순서 조정
17:00 저녁 20분 + 스트레칭
17:30 고배점 잔여 공략
21:30 마감 루틴 — 플래그 형식 재확인, 미제출분 마무리
22:00 종료. 이후 풀이 금지 — 내일 아침 전술 회의 예약

읽는 법: 핵심은 식사·휴식의 시각까지 예선과 같게 한 것입니다. 컨디션 리듬은 몸이 기억하는 것이므로, 리허설에서 다른 시간에 쉬면 그 리듬은 검증되지 않습니다. "80%의 힘"은 여기서도 적용됩니다 — 22:00에 종료하고 밤을 새우지 않습니다.

3-3. 대회 중 — 근거와 사건의 기록

Step 299의 로그 습관에 두 열을 붙여 기록합니다. 화면 예시:

[대회 로그 발췌] (화면 예시)
jwt-confusion | Web | 300 | 10:20 | 11:05 | 1 | 전수 스캔 2순위 | 팀원A에게 alg confusion 확인 요청 → 즉답
heap-note     | Pwn | 400 | 11:10 |   -   | 0 | 배점 1순위      | 13:00 재평가에서 보류 전환
backup-zip    | For | 200 | 13:10 | 13:40 | 0 | 재평가 전환     | 팀원B와 중복 착수 발견 → 역할 확인

읽는 법: 세 번째 줄의 "중복 착수 발견"이 이 대회에서 얻은 가장 비싼 데이터일 수 있습니다 — 두 명이 같은 문제를 붙잡고 40분을 중복 소비한 사건입니다. 이 한 줄이 전략 문서 4번(커뮤니케이션 규약)에 "착수 전 채널에 문제명 선언" 조항으로 들어갑니다. 점수는 사라지지만, 이런 한 줄은 예선에서 계속 점수를 벌어 줍니다.

3-4. 종료 다음 날 — 전술 회의와 예선 최종 전략 문서

팀이 모여 2-4의 목차를 채웁니다. 순서는 ① 로그를 화면에 띄우고 시간대별로 함께 걷기, ② 잘된 판단 3개와 막힌 판단 3개 추리기, ③ 목차의 각 항목을 증거와 함께 확정하기. 화면 예시 (문서 일부):

1. 문제 선택 순서
   - 전수 스캔 20분 엄수. '즉시/고민/보류' 판정 후 저배점 전수.
   - 근거: 이번 대회 저배점 회수율 100% (6/6), 평균 24분/문제.
2. 시간 배분
   - 문제당 상한 90분. Pwn은 120분 (우리 팀 평균 해결 시간 반영).
   - 근거: heap-note에 110분 투입 0점 — Pwn 상한을 넘긴 유일 사례.
4. 커뮤니케이션 규약
   - 착수 전 채널에 문제명 선언 (중복 착수 1건의 교훈).
   - 막힘 30분이면 채널에 진행 상황 1줄 공유 의무화.

읽는 법: 각 조항 뒤에 "근거:" 줄이 있는지 확인하세요. 근거가 이번 대회 로그에서 온 것이어야 합니다. 이 문서가 확정되면 예선까지 이 문서는 읽기 전용입니다 — 새 전략의 유혹은 전부 "다음 시즌" 메모로 보냅니다.

3-5. 예선까지 — 컨디션 관리 계획

마지막 산출물은 열흘간의 계획표입니다. 원칙은 과도한 벼락치기 금지 — 새 지식이 아니라 컨디션이 예선 점수를 결정하는 구간에 진입했습니다. 화면 예시:

[예선 D-10 ~ D-1 컨디션 계획] (화면 예시)
D-10~D-7  가벼운 유지 훈련: 치트시트 재독 + 아는 유형 1문제/일 (자신감 유지용)
D-6~D-3   Step 301의 마지막 보강 (복기 블록 — 새 기술 없음)
D-2       장비·네트워크·문서 점검 목록 재실행, 전략 문서 최종 낭독
D-1       훈련 없음. 평소보다 1시간 일찍 취침. 알람 두 개.

읽는 법: D-1의 "훈련 없음"이 가장 지키기 어려운 조항입니다. 불안이 "한 문제라도 더"를 속삭이지만, 전날의 한 문제가 가져가는 것은 수면이고, 수면이 가져가는 것은 8시간의 집중 전체입니다. 계획표를 팀 채널에 공유하세요 — 서로가 서로의 벼락치기를 막는 장치가 됩니다.


4. 미션과 연습문제

미션 — 예선 대비 실전 점검 완주

  1. CTFtime에서 주말 대회를 골라 팀 등록을 마칩니다 — 예선과 가능한 한 비슷한 형식(시간대·기간)을 고릅니다.
  2. 전날에 3-1의 세 축 점검 목록을 실행하고, 실패 항목을 수리합니다.
  3. 대회를 3-2의 운영 계획대로 뛰며, 두 열이 추가된 로그를 완결합니다.
  4. 다음 날 전술 회의를 열어 예선 최종 전략 문서(목차 5개 항목)를 근거와 함께 확정합니다.
  5. D-10 컨디션 계획표를 세우고 팀 채널에 공유합니다.

연습문제

문제 1. 이 대회를 "80%의 힘"으로 뛰는 이유를, 측정 장치의 관점에서 설명해 보세요.

문제 2. 점검의 세 축(장비/네트워크/문서) 사고가 "실력으로 만회 불가"인 이유는 무엇인가요?

문제 3. 로그에 "선택 근거"와 "소통 사건" 열을 추가하는 이유는 무엇인가요? 점수만 기록할 때 보이지 않는 것은 무엇인가요?

문제 4. 예선 최종 전략 문서에서 "근거:" 줄이 없는 조항은 왜 삭제 대상인가요?


5. 모범 답안과 완료 기준

미션 모범 답안

검증 기준으로 확인하세요.

  1. 동일 조건의 성실성: 식사·휴식·종료 시각이 예선 계획과 같은가 — "대충 비슷하게"는 시뮬레이션이 아닙니다.
  2. 점검의 증거: 세 축 목록에 실행 흔적(수리 기록 포함)이 있는가. 전부 한 번에 통과했다면 그것도 정상 — 그것이 점검의 목적입니다.
  3. 로그의 두 열: 선택 근거와 소통 사건이 채워져 있는가. 소통 사건 0건은 없었다는 뜻이 아니라 못 봤다는 뜻일 수 있습니다 — 회의에서 팀원에게 물어보세요.
  4. 전략 문서의 조항-근거 결합: 목차 5개 항목 전부에 로그에서 온 근거가 붙어 있는가.
  5. 컨디션 계획의 공유: D-1 "훈련 없음" 조항까지 포함해 팀이 같은 표를 보고 있는가.

연습문제 해답

문제 1 해답. 측정 장치가 측정 대상을 파괴하면 측정이 무의미해지기 때문입니다. 이 대회의 목적은 예선 당일의 운영을 검증하는 것인데, 전력으로 뛰어 피로를 쌓으면 예선 당일의 "나"가 훈련의 평균보다 낮은 상태가 됩니다. 80%는 게으름이 아니라 — 검증 데이터의 유효성과 예선 당일의 컨디션을 동시에 지키는 운영 조건입니다.

문제 2 해답. 시간의 기대 점수는 실력과 무관하게 증발하기 때문입니다. 로그인 장애 30분, VPN 불안 40분은 뛰어난 플레이어에게도 똑같이 70분의 기회를 뺏습니다. 기술적 막힘은 실력이 돌파하지만, 인프라 사고는 사전 점검만이 막습니다 — 그래서 세 축은 대회가 아니라 전날에 검증합니다.

문제 3 해답. 점수는 "무엇이 벌어졌는가"만 보여 주고, "왜 그 선택을 했는가"와 "팀 운영이 점수에 어떻게 개입했는가"를 보여 주지 못하기 때문입니다. 선택 근거 열은 전략(순서 규칙)의 검증 재료가 되고, 소통 사건 열은 중복 착수·힌트 공유 같은 운영 변수를 수면 위로 올립니다. 둘이 있어야 전술 회의가 점수 감상이 아니라 원인 분석이 됩니다.

문제 4 해답. 근거 없는 조항은 이번 대회의 데이터가 아니라 희망에서 온 것이기 때문입니다. "열심히 하자", "집중하자" 같은 문장은 실행 가능한 행동이 아니며, 예선 당일의 압박 속에서 아무 기능도 하지 않습니다. 전략 문서의 가치는 조항마다 붙은 로그 근거에 있습니다 — 근거가 없으면 지워야 문서가 구호집이 아니라 매뉴얼이 됩니다.

완료 기준 체크리스트

  • [ ] 예선과 유사한 형식의 대회를 골라 팀 등록을 마쳤다
  • [ ] 전날 세 축(장비/네트워크/문서) 점검 목록을 실행하고 실패 항목을 수리했다
  • [ ] 식사·휴식·종료 시각을 예선 계획과 동일하게 운영했다
  • [ ] 선택 근거·소통 사건 열이 포함된 로그를 완결했다
  • [ ] 전술 회의로 예선 최종 전략 문서 5개 항목을 근거와 함께 확정했다
  • [ ] 전략 문서를 읽기 전용으로 전환하고 새 전략 메모는 "다음 시즌"으로 분리했다
  • [ ] D-10 컨디션 계획표를 세워 팀 채널에 공유했다

6. 흔한 실수와 해결

벽 1. 대회가 잘 풀려서 전력 질주 모드가 됐어요

증상: 순위가 오르니 밤을 새워서라도 더 풀고 싶습니다.

원인: 순위의 유혹은 정상입니다 — 그러나 이 대회의 상품은 순위가 아니라 검증된 전략 문서입니다.

해결: 시작 전에 종료 시각을 팀 채널에 선언해 두세요. 공개된 약속은 개인의 의지보다 강합니다. 그리고 상기하세요 — 이 대회에서 100등 올라도 예선 점수는 0점이 되지만, 여기서 컨디션을 태우면 예선 점수는 깎입니다.

벽 2. 점검 목록이 전부 통과라서 형식적으로 느껴져요

증상: "다 되어 있는데 굳이?" 하는 마음.

원인: 점검의 가치는 실패를 찾을 때만이 아닙니다 — "돌려 봤다"는 확신 자체가 예선 전날의 불안을 줄이는 자산입니다.

해결: 목적을 바꿔 보세요. 이 점검은 결함 사냥이면서 동시에 시작 루틴의 리허설입니다. 전날에 로그인부터 VPN까지 한 바퀴 돌아 본 손은, 예선 당일 아침에 떨리지 않습니다. 형식처럼 보이는 반복이 몸의 루틴을 만듭니다.

벽 3. 소통 사건이 하나도 기록되지 않았어요

증상: 소통 사건 열이 빈칸입니다.

원인: 좋게 보면 매끄러운 운영, 나쁘게 보면 관찰의 사각지대입니다 — 대부분 후자입니다. 중복 착수, 답 없는 요청, 타이밍 어긋난 공유는 어떤 팀에도 있습니다.

해결: 전술 회의에서 돌아가며 물어보세요 — "대회 중 답답했던 소통 순간 하나씩." 기록이 아니라 대화로 찾아도 됩니다. 발견한 사건은 로그에 소급 기입합니다 — 로그는 대회 중에만 쓰는 것이 아니라 회의에서 완성됩니다.

벽 4. 전략 문서가 지난 대회 것의 복사본이 됐어요

증상: 새로 확정했는데 내용이 지난 전략과 같습니다.

원인: 두 가지 해석이 가능합니다 — 전략이 이미 수렴했거나(좋은 신호), 이번 대회 로그를 정말로 반영하지 않았거나(나쁜 신호).

해결: 검증은 간단합니다 — 각 조항의 "근거:" 줄이 이번 대회의 로그를 가리키는지 확인하세요. 가리키면 수렴이니 문서를 읽기 전용으로 잠그면 됩니다. 지난 로그만 가리키면 이번 대회의 질문에 답하지 않은 것입니다 — "이번 대회에서 달라진 것이 무엇인가"부터 회의를 다시 시작하세요.

벽 5. 예선이 다가오니 새 기법을 급하게 배우고 싶어져요

증상: 추천 글의 신기법이 눈에 밟힙니다. "이게 예선에 나오면?"

원인: 불안이 만드는 가장 비싼 유혹입니다. 소재 원문의 경고 그대로 — 예선에서 점수는 "이미 아는 것의 정확한 실행"에서 나옵니다.

해결: 신기법은 메모 앱의 "예선 후" 폴더로 옮기고 닫으세요. 열흘 만에 배운 기법의 예선 기대 점수는 낮고, 그 시간에 빠지는 것은 아는 기법의 정확도와 수면입니다. 그 유혹의 처리는 예선 전 마지막 복기 블록에 이미 배정된 과제입니다 — 그 루틴에 맡기고 오늘은 닫으세요.


7. 정리

오늘의 개념

개념 한 줄 설명
시뮬레이션의 조건 시간대·휴식·종료 시각까지 같아야 검증이다 — 비슷한 대회는 시뮬레이션이 아니다
80% 원칙 최선을 다하되 전력은 다하지 않는다 — 측정 장치가 본게임의 자원을 먹으면 안 된다
점검의 세 축 장비/네트워크/문서 — 실력으로 만회 불가한 사고는 전날에 잡는다
선택 근거·소통 사건 점수의 "왜"를 남기는 로그의 두 열 — 전술 회의의 재료
전술 회의 대회는 종료가 아니라 다음 날 아침의 회의에서 끝난다
전략 문서 읽기 전용 확정 이후의 새 전략은 전부 "다음 시즌" 메모로

오늘의 도구·서식

도구·서식 하는 일
세 축 점검 목록 전날의 인프라 검증 — 실행으로 체크
운영 계획표 예선 당일 하루의 리허설 대본
확장 로그 양식 (7칸) 문제·배점·시각·오답 + 선택 근거 + 소통 사건
예선 최종 전략 문서 (목차 5) 순서/배분/역할/커뮤니케이션/비상 계획 — 조항마다 근거
D-10 컨디션 계획표 벼락치기 차단과 수면 보호 — 팀 공유가 장치

명령어보다 중요한 감각

오늘 대회의 순위는 잊어도 됩니다. 남겨야 할 것은 세 가지 — 빈칸 없는 점검 목록, 근거가 붙은 전략 문서, 그리고 "예선 당일의 나는 이 하루처럼 움직인다"는 몸의 기억입니다.

열한 번째 대회까지 온 여러분에게 대회는 더 이상 이벤트가 아니라 공정입니다. 재료를 넣고(준비), 돌리고(운영), 검수하고(회의), 다음 공정(예선)으로 넘기는 — 오늘 그 공정의 마지막 시험 가동을 마쳤습니다.


전부 체크되면 Step 300 완료입니다. 사이드바의 체크박스를 눌러 진도를 저장하세요.