Hacking/Pwn.

[pwnable.kr] flag write up

2017. 4. 29. 11:24

[pwnable.kr] flag write up

- H3X0R 팀 소속 ch4n3 -



요즘들어서 포너블에 빠져있는데 이 문제는 살짝 리버싱 문제였던 것 같습니다. 디미고 최고의 보안 동아리, "트러스트"에서는 신입 동아리원들에게 리버싱을 가르쳐주는데, 여기서 배웠던 기술이었습니다. (한국디지털미디어고등학교 트러스트 동아리 만세!)


바로 upx 언패킹입니다.


upx 언패킹에 대해서 이 글에서 구구절절 설명하지 않겠습니다. 제가 설명력이 부족하기도 하거니와, 다른 블로그에 환상적인 설명들이 정말 많기 때문이죠!


일단 wget으로 바이너리 파일을 다운로드 합니다.



9reat! flag 파일이 저장되었어요!



쨘! 이렇게 upx 언패킹을 실행할 수 있습니다.

여기서부터 계속 고난이었습니다. 파일이 이상하게도 실행되지 않았거든요. 아직 실행이 되지 않은 이유는 정확히 모르겠고, 추후 H3X0R 팀원분들께 물어보고 이유를 들을 생각입니다.


실행권한이 없었기 때문에 chmod 라는 명령어로 실행권한을 부여해주었습니다. 잉 그런데 flag.1 파일이 이상하게도 실행이 되지 않습니다; 위에서 말했던 것처럼 저도 정확한 이유를 모르겠어요.



그래서 걍 cat으로 바이너리 파일을 열어보았습니다.




하하,,^^,,, 답이 없군요!,,^^,,,,



그런데 살짝 읽을 수 있을 것 같은 알파벳들이 있습니다. 여기서 힌트를 얻게 되었습니다. cat 으로 바이너리를 읽고 파이프와 grep으로 flag를 찾을 수 있을 것 같았어요.




ㅎㅎ,,,,!,,, 어떤 오류인지 정확히 몰라서 패쓰!


몰라서 더 찾아보니까 grep 명령어는 바이너리를 처리할 수 없다고 하네요. 만약 바이너리를 처리하려고 하면 grep의 옵션 '-a'를 사용해야한다고 합니다.



문제 풀 당시에는 그런 사실을 몰라서 vi로 찾기로 했습니다.

(vi 에서 특정한 단어를 찾으려면 /[찾을 문자열] 이렇게 해야하는 거 아시죠?



그렇게 검색을 했는데 포케알 특유의 플래그같이 생긴 것이 보여요!


flag : UPX...? sounds like a delivery service :)


플래그를 인증해보니까 정답이더라구용^^,,! 오예

약간 뽀록으로 풀긴 했지만 이렇게 pwnable.kr에서 7포인트를 획득했습니다.

'Hacking > Pwn.' 카테고리의 다른 글

[퍼옴] heap with gdb  (0) 2017.07.07
Lord of BOF bugbear  (0) 2017.04.29
RTL공격을 공부하면서 살짝 정리  (0) 2017.04.26
lob 현황  (0) 2017.04.25
argv에서 Segmentation Fault  (0) 2017.04.23