CTF/MISC

[JISCTF] Oh my rain!!! - MISC / John the Ripper / Base32

SecurityMan 2023. 1. 30. 11:00


문제 자체는 어렵지 않은데

악랄했던 MISC 문제..

MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다.

반응형


문제에서 주어지는 파일은 OH-MY-R41N.zip 파일이다.


ZIP 파일의 압축을 풀려고 보니

비밀번호가 걸려있다.


ZIP 파일 비밀번호를 crack 하는데는 John the Ripper 라는 도구를 이용했다.

여러가지 비밀번호를 crack 해주는 기능을 가지고 있다.


zip2john <파일명> > hash 명령어로

hash 파일을 생성해준 다음


john --wordlist=<rockyou.txt 파일 경로> hash 명령어로 비밀번호를 crack 해주면 된다.

해당 파일의 비밀번호는 management 이었다.

비밀번호를 크랙하는데 사용한 rockyou.txt 파일을 구글에 검색하면 쉽게 구할 수 있다.


압축을 풀어보니 ZIP 파일 안에는 data.txt 파일이 들어있었다.


data.txt 파일은 이렇게 생겼다.


데이터가 518,701 줄이나 있는데 맨 마지막이 === 으로 끝나는걸 볼 수 있다.

마지막에 = 문자가 오고, 전체적으로 데이터가

대문자 A-Z, 숫자 2-7 로 이루어져 있는데,

이런 데이터는 높은 확률로 Base32 로 인코딩된 것이다.


처음엔 CyberChef(https://gchq.github.io/CyberChef)에서 디코딩을 시도했다.

한번 Base32 로 디코딩 해도 유사한 데이터가 나오길래

여러번 중첩해서 인코딩 되었을 거라고 판단했다.

그런데 몇번 Base32 디코딩을 하다보니

CyberChef 에서 부하를 너무 많이 먹었는지

Output 에 아무것도 출력이 되지 않았다.


리눅스 환경에서 디코딩을 해도 된다.

cat data.txt 로 내용을 출력해준 뒤,

파이프라인으로 base32 -d 명령을 실행시키면 된다.

여러번 중첩시키려면 | base32 -d 를 계속 써주면 된다.


정말 악랄하게도

base32 로 24번 디코딩을 하고 나서야

알파벳이 아닌 다른 문자열이 보였다.

알수없는 기호들이 나열되어있는것이 보이는데

사실 이건 프로그래밍 언어다.

이렇게 + [ - > < . 기호로 이루어진 언어는 BrainFxxx 이라고 한다.
(x로 적었으나 모두가 생각하는 그 단어가 맞다.)


위키피디아를 찾아보면 실제 있는 언어인걸 알 수 있다.

당연히 실제로는 잘 사용되지 않는 언어이고, 이름처럼 그냥 장난처럼 만들어진 언어이다.

해당 언어는 온라인 컴파일러가 존재한다.
(https://www.tutorialspoint.com/execute_brainfk_online.php)


온라인 컴파일러에

내용을 복붙한 뒤 Execute 버튼을 누르면

코드가 실행되어서 오른쪽에 플래그가 출력된다.

반응형

'CTF > MISC' 카테고리의 다른 글

[boot2root] Vulnerable Adventure - MISC / Python  (70) 2023.02.08
[pbctf] Not-stego - MISC  (78) 2023.02.05
[JISCTF] Indicate - MISC / Hybrid Analysis  (68) 2023.01.28
[JISCTF] Common - MISC / Python  (77) 2023.01.19
[JISCTF] Unknow Ransomware - MISC / Base64  (70) 2023.01.12