워게임/HackTheBox

[HackTheBox] misDIRection - MISC / Shell script

SecurityMan 2022. 10. 21. 11:00

 

HackTheBox 의 MISC 문제

 

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

 

해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다.

 

반응형

 

 

 

문제파일로 misDIRection.zip 파일이 주어진다.

 

 

압축을 풀어보면 이렇게 .secret 폴더가 안에 들어있다.

 

 

.secret 폴더 안에는 이렇게

 

숫자와 알파벳으로 된 폴더들이 들어있는데,

 

 

각 폴더를 들어가보면 이렇게 숫자도 된 내용없는 파일이 있는것도 있고, 없는것도 있다.

 

추측해보건데,

 

각 폴더 안에 있는 숫자이름의 파일은

 

해당 폴더명인 글자의 위치를 나타내는것 같았다.

 

예를들어 위에 0 같은 경우 플래그의 6번째 자리에 있고,

 

1 같은 경우 22, 30번 자리에 있고,

 

4 는 플래그에 없는 것이다.

 

#!/bin/bash

for i in {1..36}

do
  find ./ -name $i -type f >> flag.txt
done

 

문제를 쉽게 풀기위해 리눅스 환경으로 옮겨서

 

쉘 스크립트를 짰다.

 

for 문을 이용해 1부터 36까지 반복하면서

 

find 명령어로 i 에 해당하는 파일명을 찾아 flag.txt 에 차례로 넣어주는 스크립트이다.

 

 

flag.txt 파일의 내용을 보면 

 

이렇게 1번부터 36번까지 알파벳과 숫자가 나열되어 있는것을 볼 수 있다.

 

f = open('flag.txt','r')

string = ''

for i in range(36):
	string += f.readline()[10:11]

print(string)

 

일일이 모으기 귀찮으니

 

파이썬을 이용해 빠르게 폴더명만 수집해서 출력시켜준다.

 

 

코드를 실행하면 이렇게 바로 출력이 되는데

 

뭔가 일반적인 텍스트가 아닌것처럼 보인다.

 

 

CyberChef(https://gchq.github.io/CyberChef)에서 Base64 디코딩을 해주면 플래그를 찾을 수 있다.

반응형