| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 밴딧
- Bandit
- error-based
- 리눅스
- bandit #밴딧 #웹해킹 #해킹 #화이트해커 #공부 #스터디 #IT #hacking #linux #openssl #nmap
- androGoat
- msfconsole #heartbleed #247ctf #misc #webhacking
- time-based
- pentest
- 모의해킹
- 쿠키변조
- 안드로이드 모의해킹
- 취약점 진단
- androidhacking
- Linux
- sql injection
- Today
- Total
d0r1
[bandit] 6~11 본문

[6->7]

owner - bandit7
group - bandit6
size -33c
해당 파일을 찾으면 된다고 한다.
find / -user bandit7 -group bandit6 -size 33c
해당 명령어를 통해, 확인할 수 있다.

그러나 보다시피, Permission denied로 인해, 엄청나게 많은 결과가 나옴을 확인할 수 있다.
그 중에서도 ~~/bandit7.password가 있기에 이 녀석이 답임을 확인할 수 있다
그렇지만, 좀 더 확실하게 확인하고 싶다.
리눅스의 파일디스크립터
0 표준 입력
1 표준 출력
2 표준 에러
find / -user bandit7 -group bandit6 -size 33c 2 >> /dev/null
을 통해, 에러를 제외하고 출력을 할 수 있게 할 수 있다.

password : z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
[7->8]

password가 data.txt안에 있는데, 이는 millionth라는 단어 옆에 존재한다고 한다
일단 그럼, data.txt가 어떤 파일인지 확인해보자

(이름) (암호화 값) 으로 이루어진 듯 하다
여기서 우리는 이름이 millionth인 녀석을 찾으면 된다
cat data.txt | grep millionth
를 통해 값을 찾을 수 있다.

password : TESKZC0XvTetK0S9xNwm25STk5iWrBvP
[8->9]

중복되지 않는 줄에 password가 출력된다고 한다.
밑에 uniq라는 명령어와 sort을 통해 풀 수 있다
sort data.txt | uniq -u

password : EN632PlfYiZbn3PhVK3XOGSlNInNE00t
[9->10]

= 뒤에 패스워드가 존재한다고 하고, 인간이 읽을 수 있는 문자로 되어있다고 한다.
그러나 실제로 파일 형태를 확인해보니,

data, 즉 바이너리 파일이었다.
바이너리 파일의 경우엔 인간이 읽을 수 없지만, 해당 문제에서 몇몇 부분만 인간이 읽을 수 있다고 하였기 때문에 필요한 부분만 추출을 해야한다
우선, data.txt 파일은

인간이 읽을 수 없고, 복잡한데, 여기서 인간이 읽을 수 있다고 하였고, "="등호 뒤에 따라 붙는다고 하였다.
그렇기에, 우리는 "=" 를 기준으로 찾아내야한다.
그렇지만, 앞서 사용했던 grep의 경우에는 텍스트파일에서만 가능하기에, 바이너리파일에서는 "strings"라는 명령어를 통해 grep과 같은 효과를 낼 수 있다
strings data.txt | grep "="

확인해보니, =여러개 이후, password가 출력됨을 확인할 수 있다.
password : G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s
[10->11]

동일하게 패스워드는 data.txt에 존재하며, 이는 base64로 인코딩 되어있다고 한다
Base64 Decode and Encode - Online
Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data.
www.base64decode.org
base64의 경우, 필자는 해당 사이트를 사용한다

실제로 data.txt를 확인해보면, 다음과 같은 암호화된 문자열이 나타나는데
이를 base64로 디코딩해보면

패스워드가 다음과 같이 출력됨을 확인할 수 있다
password : 6zPeziLdR2RKNdNYFNb6nVCKzphlXHBM
[11->12]

rotated? 아무래도 xor 혹은 카이사르를 수행한 거 같다
이를 기반으로 한번 data.txt를 확인해보자

딱 봐도 The password is.. 일 거 같다
https://gchq.github.io/CyberChef/
CyberChef
gchq.github.io
misc 풀이에는 위의 사이트를 쓴다
해킹캠프때 배웠는데, 여러 기능이 합쳐져 있어서 사용하기 정말 좋다
xor 연산을 했을땐 아무런 값이 나오지 않아서
카이사르르 해보았더니 결과가 나왔다

password : JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
'bandit' 카테고리의 다른 글
| [bandit] 16-20 (2) | 2023.10.05 |
|---|---|
| [bandit] 12-15 (0) | 2023.09.19 |
| [bandit] 4-5 (0) | 2023.06.19 |
| [bandit] 0~3 까지 풀이 (0) | 2023.06.15 |
| [bandit] (0) | 2023.06.15 |