Over the Wire
OverTheWire: Wargames
We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Wargames The wargames offered by the OverTheWire community can help you to learn and practice security concepts in the form of fun-filled games. To find out m
overthewire.org
- Bandit: 리눅스 셸, 파일 다루기, SSH(Secure Shell) 기본. 다른 워게임의 기초 체력.
- Natas: 서버사이드 웹 보안(HTTP, 쿠키, 인젝션, 파일 포함 등). 브라우저·curl·프록시(ZAP) 사용.
- Krypton: 고전 암호(ROT, 빈도분석, 반복키 이슈 등)와 기본 크립토 사고.
- Leviathan: 쉬운 리눅스 퍼미션/작은 취약점으로 권한 올리기 감각 익히기.
- Narnia: 초급 바이너리 익스플로잇(버퍼 오버플로우, 환경변수, 포맷스트링 등) 입문.
- Behemoth: 일반적인 취약점(오버플로우·경쟁조건·권한상승 등) 난이도 상승판.
- Utumno: Behemoth보다 조금 더 어려운 바이너리/리버싱 챌린지.
- Maze: 중급 이상 리버싱·익스플로잇 테크닉, gdb 사용 전제.
- Vortex: 네트워크/엔디안/키젠 등 특이 과제 포함, 총 20+ 레벨.
- Manpage: 옛 intruded.net 계열 복원판, 리눅스 매뉴얼/툴 이해도 테스트.
- Drifter: Vortex 계열 느낌. 원격 syscall 프록시, 파일 파서/힙 버그 등 응용.
- FormulaOne: 별도 서버/포트에서 진행, 첫 레벨 소스 접근도 자체 퍼즐.
- Semtex (Offline): 온라인 서버 대신 과제 설명/바이너리 중심. 일부 레벨은 네트워킹 퍼즐.
- HES2010 / Abraxas / Monxla / Kishi (Released): 행사용 워게임 공개 이미지(가상머신 등) 내려받아 로컬 진행.
문제 풀이 작성
## 문제 요구사항
## 내가 사용한 명령어
## 왜 이 명령어를 골랐는가
## 어떤 시행착오를 겪었는가
## 다음 단계에서 쓸 수 있는 패턴은 무엇인가
## 1단계: 필수 기초 (Web & App Security)
이 단계는 웹/모바일 개발자로서의 업무와 가장 직접적인 연관이 있어 즉각적인 도움이 됩니다. 이 두 가지만 완료해도 '시큐어 코딩'에 대한 감각이 크게 향상됩니다.
- Bandit: 모든 것의 시작입니다. 개발한 애플리케이션이 동작하는 리눅스 환경에 대한 이해는 필수입니다. 셸 명령어, 파일 시스템, 권한 개념을 확실히 다져줍니다.
- Natas: 웹 개발자의 필독서와 같습니다. API 서버를 개발하는 모바일 개발자에게도 100% 적용됩니다. SQL 인젝션, XSS 등 서버 사이드 취약점을 직접 경험하며 방어 논리를 익힐 수 있습니다.
## 2단계: 강력 추천 (Server & System Context)
애플리케이션을 넘어, 그것이 동작하는 서버와 시스템의 보안 설정을 이해하는 단계입니다. 인프라에 대한 이해는 더 견고한 애플리케이션을 만드는 데 큰 도움이 됩니다.
- Leviathan: Bandit의 심화 과정입니다. 서비스나 파일의 권한 설정 실수(Misconfiguration)가 어떻게 권한 상승 공격으로 이어지는지 배울 수 있습니다. Dockerfile이나 서버 초기 설정을 할 때 큰 도움이 됩니다.
- Krypton: 현대적인 암호 기술(TLS, JWT 등)을 직접 구현하진 않더라도, 기본적인 암호학적 사고는 매우 중요합니다. 왜 취약한 암호 방식을 사용하면 안 되는지, 키 관리가 왜 중요한지에 대한 기초 체력을 길러줍니다.
## 3단계: 심화 학습 (Low-Level Security)
보안 전문가로 커리어를 확장하거나, 시스템의 깊은 이해를 원하는 개발자를 위한 단계입니다. C/C++ 네이티브 모듈을 다루거나, 성능에 민감한 개발자에게 특히 유용합니다.
- Narnia: 시스템 해킹의 첫걸음입니다. 버퍼 오버플로우와 같은 메모리 관련 취약점을 배우며, C와 어셈블리 레벨에서 프로그램이 어떻게 동작하고 공격당하는지 이해하게 됩니다.
- Behemoth / Utumno: Narnia에서 배운 바이너리 익스플로잇 기술의 심화 과정입니다.
- Vortex / Drifter: 네트워크 프로토콜, 파일 파싱 등 특정 응용 분야의 저수준 취약점을 다룹니다. 복잡한 데이터를 처리하는 백엔드 개발자에게 좋은 학습 자료가 될 수 있습니다.
## 4단계: 전문가 및 탐구 과정
특정 분야의 깊은 지식을 원하는 분들을 위한 코스입니다.
- 리버싱/익스플로잇 전문가: Maze
- 리눅스 마스터: Manpage
- 다양한 챌린지 경험: FormulaOne, Semtex 및 기타 오프라인 워게임들
'Security > OverTheWire' 카테고리의 다른 글
| Bandit Level 3 → Level 4 (숨김 파일) (0) | 2025.12.01 |
|---|---|
| Bandit Level 2 → Level 3 (공백 처리) (0) | 2025.12.01 |
| Bandit Level 1 → Level 2 (0) | 2025.11.30 |
| Bandit Level 0 → Level 1 (0) | 2025.11.30 |
| Bandit Level 0 (0) | 2025.11.29 |