hwan2story
article thumbnail
EasyBOF

EasyBoF를 실행한 모습니다. 전 문제인 HelloBoF와 비슷한 모습이다. gdb기능을 이용해보자. ni를 통해 넘어가다 main+77을 지나니 입력을 할 수 있는 창이 떠서 중요함수 임을 알았다. 같은 방법으로 process 내부에서 read부분을 지나면 입력창이 떠서 브레이크포인트를 걸어놓고 이 부분이 핵심임을 알았다. 버퍼 구분을 위해서 aaaaaaaaaaaaaaaaaa을 입력해보았다. 주소 0xff8ad7d4에 내가 입력한 값이 들어간 것을 확인했고 , 상세 값을 확인하기 위해서 주소값으로 접근해 보았다. x/20wx 0xff8ad7d4 내가 입력한 값은 a 8개였다 . 0x61로 변환되어서 18개가 들어간 것을 확인 할 수 있었고, 거꾸로 들어간 순서서 역시 확인 가능했다. 이후 남아있는 ..

article thumbnail
HelloBoF

[이 문제는 동아리자체 제작 문제입니다. ] [이 문제를 풀기 전 꼭 HelloBoF에 권한을 주어야 합니다. ] HelloBoF라는 문제로 Docker내에서 자체 실행시켰습니다. 이 문제는 접근권한이 없는 flag를 읽는 문제입니다. exploit을 통해서 shell을 탈취한 뒤, flag을 읽으면 됩니다. 도커를 통해 서버를 실행시켜 접근한 모습 문제 내용인 HelloBoF로 접근해보겠다. 문제폴더에 접근하니 hellobof라는 파일이 보인다. 실행시켜 보았다. 아무값이나 입력해 보았을 때, Nop... 이라면서 좋지 않은 결과가 나왔다. 문제는 여기까지 알아보고, 이 문제를 풀면서 새로운 기능들을 알게 되었다 바로 tmux와 gdb라는 것이다. 바로 보여주겠다. 먼저 tmux이다. 단축키키 tmux..

article thumbnail
crackme4번 문제

파일 실행 시 위와 같은 화면을 얻을 수 있고 serial값을 입력 시 잘못된 정보인 거 같으면 꺼지는 점을 발견했다. 올리디버거로 파일을 실행 시 빈칸의 창이 뜬다. 추후 어떤 부분을 지나면 화면에 출력되지 않을까 하는 추측으로 진행해보았다. 먼저 어디서 실행이 되나 찾아보기 위해서 계속 f8을 눌러보았다. 00401481부분에서 프로그램이 걸리는 부분을 확인했다. F7을 통해 메인함수로 접근했다. 주석 부분에는 내가 좀 낙서를 많이 적어서 어지럽지만 초기화면은 저렇지 않았다. 이 부분을 지나자 , 화면에 출력되었다. 마찬가지로 이 부분 통과 시 serial이 출력되었다. 하지만 입력은 할 수 없었다. 계속해서 진행해 보았다. 401104 부분을 지날 때 값을 입력해야만 넘어갈 수 있게 화면이 바뀌었다..

article thumbnail
CrackMe 3번 문제 풀이

최초 프로그램을 실행하면 이런 창이 뜨게 된다. 올바른 값을 넣으면 풀 수 있는 문제 인 것 같다. 올리디버거로 실행해 보자. 먼저 올리디버거로 접근 후 F8을 통해 실행되는 부분까지 가보았다. 0040152B에서 실행되는 것을 확인했고, 아까와 같은 창이 떴다. 아무 값이나 입력해 보았다. 바로 wrong word!가 뜬 후 종료된다. 유일한 단서인 main으로 접근해봤다. 메인에서 프로그램이 실행되는듯한 함수를 발견했다. CreateWindowExA, ShoWWindow, GetMessageA 등등 이 후 계속해서 F8로 진행 하였을 시, 무한루프에 빠지는 부분을 발견했다. 여기서 저번에 풀었던 문제와 유사함을 느꼈고, GetDlgltemTextA라는 저번문제에서도 풀었던 함수가 똑같이 있었다. 여기..

article thumbnail
Crackme 2번 문제 풀이

Crackme 2번 문제를 풀기 위해서 올리디버거로 실행을 해보았다. 1번 문제처럼 접근을 위해 처음부터 stepinto를 통해 정보를 획득해 보기로 했다. 004013 C0 : ModuleEntryPoint 0040149B에서 프로그램이 실행되었다. EXit를 누를 시 프로그램이 종료되고 , 문자와 OK를 입력해도 화면이 막 바뀌진 않았다. 0040149B의 내용은 call CrackMe2. 00401000이었다. 00401000으로 디렉트로 가보려 했지만 왜 인지 가지지 않았다.. 처음부터 다시 해보기로 했다. F7로 들어갈 수 있는 첫 번째 접근 지다 F7로 계속해서 이 코드를 탐구하다 보면 어느 순간부터 무한루프에 빠진 듯한 느낌이 든다. 계속해서 똑같은 부분을 통과하는 부분을 깨닫게 되는데 , ..

article thumbnail
Crackme 1번 문제

Ollydbg를 이용해서 리버싱 실습 문제를 풀어볼 예정이다. 먼저 1번 문제이다. abex' 1st crackme 프로그램을 실행시킬 시 위 와 같은 화면을 볼 수 있다. error를 고치는게 문제의 핵심이라는 생각을 가지고 접근을 해봤다. 가장 먼저 좌측 상단의 00401000 부분의 ModuleEntryPoint 부분을 확인할 수 있다. 이 부분은 시작 포인트 지점으로 생각하면 이해가 쉽다. 문제를 진행하기 전 올리디버거의 주요 단축키들을 알아보았다. https://hwan2story.tistory.com/24 올리디버거 주요단축키 단축키 의미 F9 (Run) 프로그램이 종료될 때까지 코드 실행한다. F8 (Step Over) 한줄 실행 - 호출되는 함수의 내부동작까지는 보여지지 않는다. F7 (S..

profile on loading

Loading...

검색 태그