Story of CowHacker

Pwnable_Flag 본문

공부/Pwnable

Pwnable_Flag

Cow_Hacker 2019. 11. 30. 19:51
728x90

포너블 4번 문제를 풀어 볼것이다.

4번 문제 사진이다.

flag라는 4번문제, 아빠가 선물을 줬다는 글이랑 리버싱이라는 글과 바이너리가 필요하다는 글이 있었다.

 

 

 

 

 

cat으로 flag를 열어본 사진이다.

또 나는 다운로드 링크를 통해 받은 flag라는 파일을 cat 으로 열어봤다.

깨진 글이 였다.

 

 

 

 

 

gdb로 열어본 사진이다.

gdb로 열어봤다.

 

 

 

 

 

어셈블리어로 main을 볼려는 사진이다.

disassemble main 으로 main 구문을 어셈블리어로 볼려고 했는데 로드가 되지 않았다.

 

 

 

 

 

chmod로 권한을 준 사진이다.

권한을 줘 봤다. 실행 권한이 없어서 그런가 싶어서 이다.

 

 

 

 

 

권한을 준후 확인한 사진이다.

x, 실행권한을 준걸 확인하고,

 

 

 

다시 어셈블리어로 main구문을 볼려고 하는 사진이다.

음...똑같은 현상이였다.

 

 

 

 

 

 

flag를 실행시킨 사진이다.

이번에는 flag파일을 실행 시켜 봤다.

malloc이라는 함수에 플레그가 있는 듯 한 말이 떳다.

 

 

 

 

 

IDA로 열어본 사진이다.

IDA프로그램으로 파일을 열어봤다.

main 구문도 없고 별 건질 건 없었다. 그래서 이 파일은 도대체 뭘까 해서 봤다.

 

 

 

 

 

Ctrl + 1 을 한사진이다.

구글링 결과 컨트롤 + 1 을 누르면 선택 창이 뜨는데 저기서 Strings를 보면 이 파일의 정체를 알수 있다고 했다.

 

 

 

 

 

정보를 확인한 사진이다.

이 파일은 UPX로 되있다는걸 알수 있었다.

UPX란 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램이다.

압축 프로그램이니 압축을 풀어야 될꺼 같았다.

먼저 나는 UPX를 푸는 프로그램을 구글링 해봤다.

 

 

 

 

 

UPX를 다운하는 사이트 사진이다.

https://github.com/upx/upx/releases/tag/v3.95

 

upx/upx

UPX - the Ultimate Packer for eXecutables. Contribute to upx/upx development by creating an account on GitHub.

github.com

UPX푸는 프로그램을 다운할수 있는 사이트이다.

나는 젤 위에있는 파일을 다운받았다.

 

 

 

 

 

 

 

 

 

 

다운로드한후 확인을 한 사진이다.

잘 다운 된걸 볼수 있었다.

 

 

 

 

다운 받은 파일을 tar 명령어로 푸는 사진이다.

tar.xz파일을 푸는 명령어는 tar -xvf 파일명 이다.

나는 tar -xvf upa-3.95-amd64_linux.tar.xz명령어로 풀었다.

 

 

 

 

 

잘 풀어진걸 확인한 사진이다.

파일이 생긴걸 볼수있었다.

 

 

 

 

 

flag를 upx파일로 옮기는 사진이다. 

flag를 풀기위해 새로 생긴 파일로 옮겼다.

 

 

 

 

 

옮긴걸 확인한 사진이다.

flag가 성공적으로 옮겨졌다.

 

 

 

 

 

UPX로 flag를 열려는 사진이다.

UPX로 열러는데 열리지 않았다.

구글링을 해본결과 옵션이 빠져있었다.

 

 

 

 

 

옵션을 넣고 UPX로 열어보는 사진이다.

-d라는 옵션을 추가해 열어보았다.

성공적으로 언패킹 되었다.

 

 

 

 

gdb로 연후 disassemble main를 해본 사진이다.

이번에는 어셈블리어로 main을 볼수 있었다.

 

 

 

 

 

직접 upx파일로 들어가서 윈도우로 옮긴후 IDA로 열어 보려는 사진이다.

이제는 IDA로도 열어 볼려고 UPX파일로 들어가 윈도우 바탕화면에 옮겼다.

 

 

 

 

 

 

IDA로 확인한 사진이다.

언패킹을 후 열어보니 아까랑은 다르게 많은 것들을 볼수 있었다.

main 부분을 보니 실행 했을때 글이 보였다.

 

 

 

 

 

실행후 나온 구문을 클릭후 나온 사진이다.

그 글을 클릭해보니 위에 flag값이 보였다.

 

 

 

 

느낀점

뭔가 다른 문제들과는 다르게 이 문제는 압축 파일을 열어 보는 과정을 공부하는 느낌이였다.

UPX라는 파일을 알수 있었고, 또 그것을 열기 위해 어떤 작업을 해야하는지도 배웠다.

flag 라는 문제 답게 많은 ctf를 풀때 flag를 찾는 느낌 처럼 뭘 열어서 찾는 것이 비슷한 느낌을 받았다.

728x90

'공부 > Pwnable' 카테고리의 다른 글

Pwnable_Random  (2) 2020.07.24
Pwnable_Passcode  (0) 2019.12.16
Pwnable_Bof  (0) 2019.11.29
Pwnable_collision  (0) 2019.11.24
Pwnable_fd  (0) 2019.11.20
Comments