BOF-BufferOverflow- 원정대란?
비교적 쉬운 BOF 공략 환경인 Redhat 6.2에서부터 궁극의 Fedora 14까지 수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실습을 하는 War-Game입니다.
접속 방법
BOF 원정대는 도메인이나 IP가 아닌, vmware 이미지 형태로 제공합니다. 따라서 각자의 PC에 워게임 서버를 가동하신 후 접속해 풀어나가는 방식입니다.
- 다음 Vmware 이미지를 다운받아 부팅한다.
- gate/gate로 로그인한다.
- netconfig 명령으로 네트워크 설정을 한다. (setuid 걸어 놨습니다)
- ip를 확인한다. (/sbin/ifconfig)
- putty, xshell등으로 터미널 접속하여 문제 풀이를 시작한다. (telnet)
기본 룰
- single boot 금지
- root exploit 금지
- /bin/my-pass 명령에 LD_PRELOAD 사용 금지
[레벨업 패스워드 확인] /bin/my-pass
전용 게시판
http://www.hackerschool.org/HS_Boards/zboard.php?id=bof_fellowship
- LEVEL1 (gate -> gremlin) : simple bof
- LEVEL2 (gremlin -> cobolt) : small buffer
- LEVEL3 (cobolt -> goblin) : small buffer + stdin
- LEVEL4 (goblin -> orc) : egghunter
- LEVEL5 (orc -> wolfman) : egghunter + bufferhunter
- LEVEL6 (wolfman -> darkelf) : check length of argv[1] + egghunter + bufferhunter
- LEVEL7 (darkelf -> orge) : check argv[0]
- LEVEL8 (orge -> troll) : check argc
- LEVEL9 (troll -> vampire) : check 0xbfff
- LEVEL10 (vampire -> skeleton) : argv hunter
- LEVEL11 (skeleton -> golem) : stack destroyer
- LEVEL12 (golem -> darkknight) : sfp
- LEVEL13 (darkknight -> bugbear) : RTL1
- LEVEL14 (bugbear -> giant) : RTL2, only execve
- LEVEL15 (giant -> assassin) : no stack, no RTL
- LEVEL16 (assassin -> zombie_assassin) : fake ebp
- LEVEL17 (zombie_assassin -> succubus) : function calls
- LEVEL18 (succubus -> nightmare) : plt
- LEVEL19 (nightmare -> xavis) : fgets + destroyers
- LEVEL20 (xavis -> death_knight) : remote BOF
출처 : Hacker School