id : level7
pw : come together
<나의 풀이 기록>
1. 파일 목록 확인 후 힌트 파일 내용 확인
2. /bin 디렉토리로 이동해 level7 파일이 있는지 확인
3. level7을 실행했더니 비밀번호를 입력하라고 나왔다. 틀린 비밀번호를 입력하자 wrong.txt라는 파일은 없다는 안내가 나온다.
이후 이런저런 방법을 시도했다. 상상력을 동원하고, 패스워드는 가까운 곳에 있다길래
근처 파일들을 열어보고,
파일크기가 12312?? 수상한데?
level7이니까 숫자 7? 이진법으로 변환한 7?
level8에 setuid가 걸려있으니까 8? 이진법으로 8?
등등... 다양한 방법을 시도했지만 비밀번호를 알아낼 수 없었다.
한동안 고민하다가 인터넷의 도움을 통해 해결하기로 했다.
그런데,,,
root 권한으로 wrong.txt 파일을 만들고 --_--_- --____- ---_-__ --__-_- 라는 내용까지 직접 입력해야 풀리는 문제였다.
무슨... FTZ 서버 구축 문제로 인한 오류라고 한다....
4. root 사용자로 전환
password는 hackerschool 이다.
다른 사용자로 전환하는 명령어
su : root 사용자로 변경
su (id) : id 사용자로 변경
sudo : root 권한으로 명령어 실행
5. /bin에 wrong.txt라는 파일 생성하고 힌트 ( --_--_- --____- ---_-__ --__-_- ) 삽입
6. 파일 생성된 것 확인
7. 다시 level7의 계정으로 돌아와 파일 level7 실행
잘못된 비밀번호를 입력하면 아까 입력한 wrong파일 실행되며 힌트 출력
8. 힌트 해석
--_--_- --____- ---_-__ --__-_- 를 자세히 보면 기호 7개 당 한칸씩 띄워져 있어 총 네개의 덩어리가 있음을 알 수 있다.
아무래도 이진법으로 보이는데, -을 1로, _을 0으로 가정하고 변환하면 아래 표와 같은 결과를 얻을 수 있다.
아스키코드에 대입했을 때 영어단어 mate가 완성된다. 이게 비밀번호일까??
9. 비밀번호 mate를 입력했더니 다음 단계 비밀번호를 얻었다!
<풀이 요약>
1. 힌트 파일 내용 확인
2. level7 파일 확인
3. level7 파일 비밀번호 추론
<4~6 : ftz 오류로 인한 파일 생성 과정>
4. root 사용자로 전환
5. wrong.txt 파일 생성
6. 파일 확인
7. level7 파일 실행
8. 힌트 해석
9. 비밀번호 획득
<소감>
정말 열심히 고민했는데 ftz오류라니 좀 허무하지만 2진법 변환으로 비밀번호를 얻는 과정은 흥미로웠다.
윈도우 10 기본 계산기 왼쪽 메뉴에서 프로그래머 모드를 선택하면
2진수, 10진수, 8진수, 16진수 변환을 할 수 있는 계산기가 나와 편리하다.
'해킹 공부 > 시스템 해킹' 카테고리의 다른 글
FTZ 해커스쿨 level9 - 버퍼오버플로우(GDB 이용) (0) | 2021.11.14 |
---|---|
FTZ 해커스쿨 level8 - 암호 해독(John the Ripper 이용) (0) | 2021.11.14 |
FTZ 해커스쿨 level6 - 리눅스 시그널 (0) | 2021.11.02 |
FTZ 해커스쿨 level5 - 심볼릭 링크 (0) | 2021.10.31 |
FTZ 해커스쿨 level4 - backdoor파일, finger (0) | 2021.10.02 |