본문 바로가기

리버싱9

[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.
IDA로 qemu를 이용해서 arm 디버깅하기 리버싱을 하다 보면 arm로 된 elf 문제가 간혹 있다.ARM은 그냥 실행해보려고 하면 실행이 안된다.'qemu'라는 에뮬레이터를 통해서 가상환경을 만들어 준 뒤 실행해줘야 한다. sudo apt-get updatesudo apt-get install qemusudo apt-get install qemu-user-static 설치를 완료하면 포트를 열어주고 ida로 접속하면 된다. qemu-arm-static -g [port] [elf] [argv] IDA의 Debugger는 'Remote GDB Debugger'로 지정하고 대상 ip, port를 지정해준 뒤 접속하면 된다.IDA로는 인자 전달이 되지 않기 때문에 포트를 열 때 같이 전달해줘야 된다. 2016. 11. 30.