본문 바로가기

Bomb Lab

(5)
[Bomb Lab] phase4 https://studyforall.tistory.com/98 [Bomb Lab]Bomb Lab이란?Bomb Lab은 컴퓨터 사이언스로 유명한 카네기 멜론 대학교에서 만든 실습 프로그램이다. 이 프로그램을 통해 디버거 사용법을 익히고 바이너리 분석을 연습해볼 수 있다. 폭탄을 터뜨리지 않고 안studyforall.tistory.com 가상머신: virtualboxGuestOS: Ubuntu 22.04 -> Kali Linux 2024.1디버거: pwndbg 플러그인 설치한 gdb 먼저 disassemble phase_4 명령어를 입력하여 phase_4 함수를 어셈블리 코드로 출력해보았다. 에서 sscanf 함수를 호출하고에서 eax에 들어있는 함수의 반환값을 0x2와 비교한다.같지 않으면 로 jump하여..
[Bomb Lab] Phase3 https://studyforall.tistory.com/98 [Bomb Lab]Bomb Lab이란? Bomb Lab은 컴퓨터 사이언스로 유명한 카네기 멜론 대학교에서 만든 실습 프로그램이다. 이 프로그램을 통해 디버거 사용법을 익히고 바이너리 분석을 연습해볼 수 있다. 폭탄을 터뜨리지 않고 안 studyforall.tistory.com 실습 환경에 대해서는 위의 게시물 하단에 적어놓았다. phase2에 이어 이제 phase3를 시작해본다. disassemble phase_3 명령어를 입력하여 phase_3 함수를 처음부터 끝까지 어셈블리 코드로 출력해보았다. 첫인상: 이번에도 많은 비교(cmp)와 분기(jmp)가 보인다. 그런데 분기가 거의 다 unconditional jump 즉, 해당 줄에 도달하기..
[Bomb Lab] Phase2 https://studyforall.tistory.com/98 [Bomb Lab]Bomb Lab이란? Bomb Lab은 컴퓨터 사이언스로 유명한 카네기 멜론 대학교에서 만든 실습 프로그램이다. 이 프로그램을 통해 디버거 사용법을 익히고 바이너리 분석을 연습해볼 수 있다. 폭탄을 터뜨리지 않고 안 studyforall.tistory.com 실습 환경에 대해서는 위의 게시물 하단에 적어놓았다. phase1에 이어 이제 phase2를 시작해본다. disassemble phase_2 명령어를 입력하여 phase_2 함수를 처음부터 끝까지 어셈블리 코드로 출력해보았다. 첫인상은 비교(cmp)와 분기(je, jmp)가 많다는 것이다. 안전지대를 확인해보자. 까지 도달하면 을 실행할 가능성이 없어지므로 안전지대라고 ..
[Bomb Lab] Phase1 https://studyforall.tistory.com/98 [Bomb Lab]Bomb Lab이란? Bomb Lab은 컴퓨터 사이언스로 유명한 카네기 멜론 대학교에서 만든 실습 프로그램이다. 이 프로그램을 통해 디버거 사용법을 익히고 바이너리 분석을 연습해볼 수 있다. 폭탄을 터뜨리지 않고 안 studyforall.tistory.com 실습 환경에 대해서는 위의 게시물 하단에 적어놓았다. 본격적으로 phase1부터 시작해본다. 먼저 disassemble phase_1 명령어를 입력하여 phase_1 함수를 어셈블리 코드로 출력해보았다. 에 explode_bomb이 있다. 이 부분을 밟지 않고 phase_1 함수를 종료해야 폭탄을 해체할 수 있으므로 부터가 안전지대이다. 에서 je명령어가 으로 분기할 수..
[Bomb Lab]Bomb Lab이란? Bomb Lab은 컴퓨터 사이언스로 유명한 카네기 멜론 대학교에서 만든 실습 프로그램이다. 이 프로그램을 통해 디버거 사용법을 익히고 바이너리 분석을 연습해볼 수 있다. 폭탄을 터뜨리지 않고 안전하게 해체하는 컨셉으로, 총 6단계로 이루어져 있다. 각 단계에서 적절한 문자열을 입력하면 폭탄이 해체되고 다음 단계로 넘어간다. 적절한 문자열을 찾기 위해서는 디버거를 이용해 바이너리를 분석해야 한다. 아래 링크에서 프로그램을 다운받을 수 있다. http://csapp.cs.cmu.edu/3e/labs.html CS:APP3e, Bryant and O'Hallaron Lab Assignments This page contains a complete set of turnkey labs for the CS:APP3..