Dukbong

[Linux 공부] Bandit wargames 25~26 단계 more 본문

Linux

[Linux 공부] Bandit wargames 25~26 단계 more

dukbong_dev 2025. 5. 20. 02:08
반응형
 

OverTheWire: Level Goal

We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal Logging in to bandit26 from bandit25 should be fairly easy… The shell for user bandit26 is not /bin/bash, but something else. Find out what it is

overthewire.org

이 문제는 리눅스 시스템의 사용자 계정과 로그인 셸 관리 구조에 대한 이해가 있어야 풀 수 있는 문제입니다.

"The shell for user bandit26 is not /bin/bash, but something else." 이 문장이 가장 큰 힌트 입니다.

1. SSH 접속

25 ~ 26 단계 접속 비밀번호는 iCi86ttT4KSNe1armKiwbQNmB3YJP3q4 입니다.

ssh bandit25@bandit.labs.overthewire.org -p 2220

2. 사용자 계정 확인

grep bandit26 /etc/passwd

# 응답 ( 접속 시 showtext 를 실행하겠다는 말입니다. )
bandit26:x:11026:11026:bandit level 26:/home/bandit26:/usr/bin/showtext

grep bandit25 /etc/passwd

# 응답 ( bandit26과는 다른 걸 볼 수 있습니다. )
bandit25:x:11025:11025:bandit level 25:/home/bandit25:/bin/bash

cat /usr/bin/showtext

# 응답
#!/bin/sh

export TERM=linux

exec more ~/text.txt
exit 0

3. more

more는 텍스트 파일을 한 화면씩 보여주는 유틸리티로써 파일 내용이 한 화면에 모두 표시될 만큼 작다면 more는 내용을 출력한 후 바로 종료 됩니다.

따라서 more 명령어가 실행된 상태를 확인하려면 터미널 창의 높이를 줄여 파일 내용이 한 번에 모두 표시되지 않도록 해야 합니다.

그리고 more가 내부적으로 less를 호출하하는데 less에서는 v 키를 누르면 vi 텍스트 편집기로 현재 파일을 열어 편집할 수 있습니다.

문제 해결의 핵심 명령어인 :e는 more (또는 less)에서 사용되는 명령어로 현재 보고 있는 파일을 닫고 지정된 다른 파일을 열기 위해 편집기를 호출합니다.

그리고 SSH를 통해 bandit26 사용자로 로그인하여 more가 실행되었다는 것은 현재 쉘 환경이 bandit26 사용자의 권한으로 실행되고 있다는 것을 의미하기 때문에 bandit26 읽기 권한을 가질 수 있습니다.

:e /etc/bandit_pass/bandit26

#응답
s0773xxkk0MXfdqOfPRVr9L3jJBUOgCZ

4. 결론

아직 해킹에 대해 모르지만 계정의 비밀번호를 몰라도 /etc/passwd을 수정하게 된다면 어떤 계정이든 해킹이 가능할 것 같다는 생각이 들었습니다.

반응형
Comments