본문 바로가기

전체 글97

[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.
[Android] SDK 버전 패치. 갓해커 "문노익"에게 배운 지식. 사용된 툴:Android StdudioAPK manager 예제 apk:angstrom ctf 2017 - PASSCODE.apk 동적 분석을 위해 APK를 설치하려고 하면 한 번씩 위와 같은 에러를 뿜을 때가 있다. "Failed to start adb. check settings to verify your chosen adb path is valid." 위 에러는 architecture가 맞지 않거나 sdk version 호환이 되지 않기 때문에 나는 에러다. http://stackoverflow.com/questions/41337336/android-studio-failed-to-start-adb 이럴 경우 architecture를 맞춰주거나 sdk version을.. 2017. 4. 27.
[Plaid CTF 2017] no_mo_flo [Plaid CTF 2017] - no_mo_flo. Plaid CTF 2017 에서 처음 나온 리버싱 문제다.바이너리를 다운받고 file 명령어로 확인해 보면 64bit - elf 파일인 걸 확인할 수 있다. ddddh@ubuntu:~/Desktop$ file no_mo_flo no_mo_flo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b9de9235c1a8c49096daba03ce36e334cf150c1c, stripped 실행 권한을 주고 직접 실행을 해 보면 입력을 기다린.. 2017. 4. 27.