반응형

Papa brought me a packed present! let's open it.


Download : http://pwnable.kr/bin/flag


This is reversing task. all you need is binary



#############################################################

파파고 번역


아빠가 포장된 선물을 가져왔어! 그것을 열어보자.

다운로드: http://pwnable.kr/bin/flag

이것은 역행하는 작업이다. 2진법만 있으면 돼


#######################################################################


리버싱 문제인거 같다.

리눅스 환경에서 다운받아서 실행권한을 주고 실행시켜보면


i will malloc() and strcpy the flag here. take it.


malloc()과 strcyp로 플래그를 숨겨놓은거 같다.

리버싱을 통해 해당 함수를 찾아보면 될거같다.

리버싱을 시작할때 가장 먼저 확인해야 할 부분은 패킹의 여부와 언어의 종류를 확인해야한다.


패킹의 여부를 확인하기 위해 exeinfo를 사용하였다.

https://exeinfo-pe.kr.uptodown.com/windows 여기서 다운받았다.

해당 파일의 파일포맷과 파일을 넣어보면 가장 아래부분 Unpack info에

UPX로 패킹되어있다는것을 알려준다.

ELF파일 포맷은 리눅스 유닉스 환경에서 구동되는 프로그램의 바이너리 파일,오브젝트 파일의 형식을 나타내는 것이다.



언패킹이 필요하다.

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

UPX언패킹 툴은 위 사이트에서 받을수 있다.


압축해제 후 언패킹을 원하는 파일을 upx-3.95-win64로 옮기고 cmd를 통해 

해당 폴더에 접근후 upx -d 언패킹할파일 을 입력하면 해당파일에 언패킹한후 덮어씌운다.


이제 IDA를 통해 리버싱해보자.


IDA 사용법

https://www.youtube.com/watch?v=4u6DAPr01MY



IDA를 통해 확인해보면



flag라는 값이 바로 나와있는것을 볼수있다.

flag를 더블클릭해 주소로 가보면 

플래그값이 바로 나오는것을 볼수있다.

리버싱의 기본을 물어보는 문제인거같다.











반응형

'보안 > pwnable.kr' 카테고리의 다른 글

pwnable.kr random  (0) 2020.03.03
pwnable.kr passcode  (0) 2020.01.30
pwnable.kr bof  (0) 2020.01.30
pwnable.kr collision  (0) 2019.12.11
pwnable.kr fd  (1) 2019.12.11
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기