반응형
위 적혀있는 주소에서 파일을 다운로드 해봅시다.
리버싱을 해보라고 하네요 %_%
파일을 다운받고 hex editor로 열어보았습니다. 기본적으로 파일을 다운 받았으면, 어떤 파일인지는 알아봐야겠죠..?
리눅스 실행파일임과 동시에 UPX로 패킹되어 있음을 알 수 있습니다.
UPX는 Tool과 Manual 2가지 방법을 Unpacking 할 수 있는데 간단하게 Tool로 하겠습니다.
<-------------UPX 다운로드 방법------------------->
UPX 툴을 다운합니다.
현재 날짜 기준으로 최신으로 다운 받습니다.
현재 기준입니다.
가장 대표적인게 위 두 가지 이며, Win32라고해서 64비트에서 못쓰는 것이 아니므로, 64비트인 분들도
Win32로 다운받아줍시다.
압축 해제하고, CMD(명령 프롬프트)를 열어서 해당 폴더로 이동시켜줍니다.
패킹된 파일도 같은 폴더에 위치시키면 편합니다.
사용 방법은
upx -d [파일명] 이 되겠습니다.
해당 파일을 Unpacking 하셨으면
바이너리는 이렇게 바뀌셨을 겁니다.
유명한 IDA 리버싱 툴보단 gdb를 이용하겠습니다.
intel 문법이구요. main을 열어보면 <+32> 부분에 친절하게 flag라고 알려줍니다.
그 부분의 명령은 rip+0x2c0ee5를 rdx라는 레지스터에 mov하게 되는데,
저희는 그러면 그 명령 구문을 실행한 부분 <+39>에 브레이크를 걸고 실행시켜봅시다.
아까 명령에도 봤듯이, rdx 레지스터에 값을 저장시키니, 저희는 String으로 rdx값을 확인해보면 끝입니다.
IDA는 Unpacking 한 파일을 열고 String만 확인해주면 간단하게 가능합니다. ^^
반응형
'[ ★ ]Study > War Game' 카테고리의 다른 글
[Toddler's Bottle] pwnable.kr random 풀이 (0) | 2017.08.17 |
---|---|
[Toddler's Bottle] pwnable.kr passcode 풀이 (2) | 2017.08.17 |
[Toddler's Bottle] pwnable.kr bof (0) | 2017.08.16 |
[Toddler's Bottle] pwnable.kr collision (0) | 2017.08.16 |
[Toddler's Bottle] pwnable.kr fd 풀이 (0) | 2017.08.16 |
댓글