워게임/CTFlearn

[CTFlearn] Finish The Flag - 리버싱 / IDA / XOR

SecurityMan 2023. 9. 3. 11:00

 

CTFlearn에서 제공하는

 

Easy 난이도의 리버싱 문제

 

반응형

 

문제 설명을 보면

 

이상한 문서를 받았는데 매트릭스 바코드가 안에 들었있었다고

 

무슨 내용인지 알아봐 달라고 한다.

 

 

이렇게 세 개의 파일이 주어지는데

 

문제 풀때는 qr.png 파일만 사용하면 된다.

 

 

qr.png 파일은 이렇게 생겼다.

 

조금 사이즈가 큰 QR코드이다.

 

 

해당 파일을

 

온라인 QR코듯 스캐너(https://www.online-qr-scanner.com/) 에 넣으면

 

뭔가 BASE64로 인코딩된듯한 데이터가 나온다.

 

 

CyberChef(https://gchq.github.io/CyberChef)에서 

 

해당 데이터를 base64 디코딩 해주면

 

맨 앞이 ELF 로 시작하는 데이터가 나온다.

 

이건 리눅스에서 실행 가능한 ELF 파일이라는 뜻이다.

 

 

해당 ELF 파일을 추출해서

 

IDA라는 도구로 열어봤다.

 

대충 살펴보면

 

sflag 라는 변수에 플래그 포맷인 CTFlearn{ 값이 들어있고,

 

아래쪽 bite_of_flag 부분에서

 

0x17과 xor을 반복적으로 수행하고 있는 모습이 보인다.

 

 

무엇과 xor 하는걸까 싶어서 보니

 

DATA 영역에 random2 부분이 있는데

 

여기 있는 값과 xor이 되는것 같았다.

 

 

CyberChef에서 해당 값을 복사해

 

0x17로 xor 해보면

 

플래그의 나머지 부분을 찾을 수 있게 된다.

반응형