본문 바로가기

Wargame & CTF/picoCTF 2014

[Reverse Engineering] Cyborg Secrets

Problem

You found a password protected binary on the cyborg relating to its defensive security systems. Find the password and get the shutdown code! You can find it on the shell server at /home/cyborgsecrets/cyborg-defense or you can download it here.

Hint

I wonder if they hardcoded the password string.

ㅁ 문제 정보


 문제 유형

 Reverse Engineering

 문제 타입

 ELF(Linux 32 bit)

 문제 난이도

 하


ㅁ 문제 상세분석


[그림 1] 문제 실행


문제를 실행하면 입력 값을 받아서 결과를 출력한다. 잘못된 입력 값을 주면 Access Denied 메시지를 출력한다.


[그림 2] 프로그램 내부 문자열


strings 명령어를 사용해서 프로그램 내부 문자열을 확인해보면 DEBUG PASSWORD 문자열을 확인할 수 있고 정답과 관련 있는 문자열이라고 유추해서 입력 값으로 입력해본다.


[그림 3] 문제 정답


““2manyHacks_Debug_Admin_Test”” 문자열을 입력 값으로 넘겨주면 "Authorization successful." 문자열과 함께 Flag 값이 출력된다.


[그림 4] IDA 분석(main 함수)


IDA를 통해서 main 함수를 분석하면 strcmp 함수를 이용해서 입력 값과 2manyHacks_Debug_Admin_Test 문자열을 비교해서 decrypt 함수를 출력한다.


[그림 5] IDA 분석 (decrypt 함수)


[그림 6] decrypt 함수 결과


decrypt 함수 루틴을 분석해보면 메모리 주소에서 1 Byte 씩 읽어서 Xor 복호화를 진행하고 결과를 확인하면 Flag 값을 확인할 수 있다.









'Wargame & CTF > picoCTF 2014' 카테고리의 다른 글

[Reverse Engineering] Function Address  (0) 2015.12.17
[Reverse Engineering] Basic Asm  (0) 2015.12.16