티스토리 뷰


The Lord Of The BOF 

- BOF 원정대

비교적 쉬운 BOF 공략 환경인 RedHat 6.2에서부터 궁극의 Fedora 14까지

수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실습을 하는 WarGame.


BOF 원정대는 원격으로 접속하는 형태가 아닌 개인 PC에 구축해서 접속하는 형태이다.


원정을 떠나기 위해서는 가상 이미지를 구축할 수 있도록 도와주는 프로그램이 필요하다.

Mac에서 vmware 이미지를 실행하기 위해서 VMware-Fusion 7을 설치하였다.

http://hackerschool.org/TheLordofBOF/TheLordOfTheBOF_redhat_bootable.zip

다음으로, 위 경로를 통해 해커스쿨에서 제공하는 이미지 파일을 다운로드 받는다.


다운로드 받은 압축 파일을 풀어보면 아래와 같은 파일들을 볼 수 있다.


VMware Fusion을 실행하고 상단에 보면 파일(File)을 눌러서 열기(Open)를 눌러준다.

앞에서 압축을 풀어놓은 파일 중에서 Red Hat Linux.vmx 파일을 위와 같이 열어준다.


파일을 열어줄 때 위와 같이 경고가 발생할 수 있다. Take Ownership을 눌러서 넘어간다.


파일을 열면 위와 같은 화면을 볼 수가 있으며, 재생 표시를 클릭하면 처음에 위와 같이 어떻게 할 것인지 물어보는 데 I Copied It을 추천한다.

I Moved It을 해도 상관은 없으나 충돌 문제가 발생할 수 있다. 

반면에 I Copied It을 하면 VMware Fusion이 환경에 맞춰서 변경해주기 때문에 설정하기에 편하다. 

(VMware Fusion Upgrade 관련해서 물어볼 수 있는데 설치하는 데 지장이 없기 때문에 신경 쓰지 않아도 된다.)


I Copied It를 하고 조금 기다려주면 위와 같은 화면을 볼 수 있다.

화면에 나와 있는 대로 gate/gate로 접속할 수 있다. (root/hackerschoolbof)


$ /sbin/ifconfig

원격으로 접속하기 위해서 네트워크 설정이 필요하다.

$ netconfig


Yes를 선택한 다음에 Use dynamic IP configuration을 선택하고 OK 확인한다.



설정을 하고 나서 다시 IP 주소를 확인해보면 원격으로 접속할 수 있도록 네트워크가 설정된 것을 볼 수 있다.

$ /sbin/ifconfig


맥에서 터미널을 열고 텔넷으로 원격으로 접속해서 원정을 떠나면 된다.

$ telnet

telnet> open -l gate 192.168.99.129


- Rules

1. single boot 금지


LILO boot : linux single

bash# passwd

New UNIX password: ******

Retype new UNIX password: ******

passwd: all authentication tokens updated successfully


2. root exploit 금지

3. /bin/my-pass 명령에 LD_PRELOAD 사용 금지


- level-up Password 확인

/bin/my-pass


- Lists

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

댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
링크
공지사항
Total
Today
Yesterday