본문 바로가기

데프콘 20174

[DEFCON 2017] - pegem DEFCON 2017 Quals - pegem데프콘 2017 리버싱 엔지니어링 문제 pegem 풀이. 데프콘 예선 당시에는 "crackme" 들을 푼다고 사실상 포기하고 나중에 답만 보려 한 문제였는데 ctftime.org/writeups에도 안 올라오길래 기다리다 그냥 풀어보았다. [+] 사실 푸는데 3일 이상 걸린 건 비밀입니다... ㅠㅠㅠㅠ [+] 문노익(서빈)이는 보자마자 문제 의도 파악해버리셔따 .... source git : https://github.com/ddddhkim/CTFs/tree/master/DEFCON/DEFCON2017_Quals/REV/pegem 하나하나 자세하게 정리하기에는 글이 너무 길어지니 간단한 건 미리 요약해두고 가겠습니다. 1. 64 bit elf binary. -.. 2017. 5. 10.
[DEFCON 2017] witchcraft DEFCON 2017 - CrackMe - witchcraft 역시 수 많은 바이너리가 존재한다. 역시 아무 바이너리를 킹갓툴 IDA로 분석한다. 함수 목록을 살펴보다 보면 비슷하게 생긴 수상한 함수들이 여러 개 존재한다. 계단인 줄... 더 자세히 보면 RDI 레지스터 값을 더하고, 빼고 하다가 마지막에 어떠한 값으로 비교를 한다. 흠흠,, 수상하니 소스를 짜서 값을 빼와보자! 소스 : 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import osimport struct for root,dirs, files in os.walk(r"C:\Users\ddddh\Desktop\Defcon\witch.. 2017. 5. 2.
[DEFCON 2017] sorcery DEFCON 2017 - CrackMe - sorcery 역시나 비슷한 바이너리들이 매우 많다. (크랙미 분야 모든 문제가 동일함) 역시 아무 바이너리를 잡고 IDA로 열어보았다. "sum is", "enter code: " 라는 문자열이 보이지 않고 난해하다. 이럴 경우 역시 동적분석이 최고다. (절대 정적분석 못해서 그런거 아님 ㅎㅎㅎ 동박꼼) breakpoint를 잡아주지 않고 그냥 실행하면 입력받는 곳에서 입력을 기다리고 있게 된다.이때 당황하지 말고 프로그램을 정지시킨 후 스택 확인을 통해 리턴 어드레스로 따라간다. 리턴 어드레스를 따라가 보면 어느 함수에서 read로 입력받고 있다. 하지만 여기에도 비교 루틴이 없기 때문에 이 함수가 어디서 실행되는지 "xref" 기능을 하여 어디서 실행되었는.. 2017. 5. 2.
[DEFCON 2017] alchemy 크랙미 분야 문제들은 나름 난이도가 낮았던 것 같다. 처음 문제는 풀려 있어서 "alchemy" 바이너리부터 보았는데 같은 분야의 모든 문제들이 비슷하였다.비슷한 바이너리가 굉장히 많이 주어지는데 nc로 연결하여 recv받는 파일의 Input 값만 맞춰주면 되는 그런 형식이었다. 아무 바이너리나 골라 잡아 IDA로 분석한다. 실행 후 "Enter code : "라는 문자열이 출력되며 입력 값을 받고 검증 루틴이 지나고 맞을 경우 "sum is "라는 문자열이 출력 된다. hex-ray를 사용해서 보면 정말 간단한 비교를 하는 것을 알 수 있다. 이제 이 부분을 파싱 해주어 넘겨주기만 하면 된다. 소스 :잘하시는 분들은 objdump로 하시던데 ... (역시 난 아직 많이 부족하다 더 열심히 해야지 ..).. 2017. 5. 2.