Defcamp CTF Quals 2015 - r100

2021. 6. 5. 19:07문제연습/CTF 실전

반응형

 

본 네이버 블로그는 모바일 환경에 최적화되어 있습니다.

PC 유저분들은 아래 티스토리 블로그를 이용해 주세요.

 

Defcamp CTF Quals 2015 - r100

본 네이버 블로그는 모바일 환경에 최적화되어 있습니다. PC 유저분들은 아래 티스토리 블로그를 이용해 ...

blog.naver.com

 

 

Defcamp CTF Quals 2015::

r100 Reversing

 

1. 파일 정보

 

2. 동적 분석

 

3. 정적 분석

비교 루틴에서 if 문에 들어가는 비교 문자들을 확인해보니 다음과 같았습니다.

 

즉 대조하는 문자열(“Dpef` Ubmlfst”)에서 각각의 아스키 값을 뺀 결과가 1이어야 하므로

입력 패스워드는 “Code_Talkers”임을 알 수 있습니다.

이제 조금 더 간결하게 문제를 해결하기 위해 angr를 사용해 보도록 하겠습니다.

 

4. Exploit

일단 정확하게 문자열 비교 루틴을 거쳐 어디로 분기가 되는지에 대한 주소 정보가 필요하기 때문에 radare2로 해당 바이너리의 어셈블리 코드를 확인했습니다.

fget으로 문자열을 입력받고 fcn.004006fd로 점프하여 비교 루틴을 거칩니다.

이후 비교 루틴의 결과가 거짓일 경우 0x400855로 점프하며 참일 경우는 0x00400844로 진행하게 됩니다.

 

이제 본격적으로 파이썬 모듈 angr을 이용하여 exploit 코드를 작성해 보도록 하겠습니다.

정확한 모듈의 동작 원리나 코드 쓰임새를 잘 숙지하지 못해서 여러 번 오류가 났지만 결과적으로 우리가 원하는 패스워드 내용을 확인했습니다!!! CLEAR!!!

 

반응형

'문제연습 > CTF 실전' 카테고리의 다른 글

CodeGate 2018 - droid.apk  (0) 2021.09.29
CodeGate 2018 - BaskinRobins31  (0) 2021.06.12
SECCON Quals 2015 - rock_paper_scissors  (0) 2021.06.11
CodeGate 2012 - Forensic 100 연습  (0) 2020.03.16