일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 인플레이션
- 배당성장
- 기업분석
- 주식
- javascript
- 잉여현금흐름
- 금리인상
- 미국주식
- 오버라이딩
- 객체지향
- 제태크
- Redis
- 주린이
- 무디스
- Bandit
- Java
- etf
- FCF
- 다형성
- 그리디 알고리즘
- StringBuffer
- 자바
- 프로그래머스
- XLF
- S&P500
- 백준
- 현금흐름표
- mco
- 접근제어자
- Today
- Total
Dukbong
[Linux 공부] Bandit wargames 25~26 단계 more 본문
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을 수정하게 된다면 어떤 계정이든 해킹이 가능할 것 같다는 생각이 들었습니다.
'Linux' 카테고리의 다른 글
[Linux 공부] Bandit wargames 27~28 단계 git repo (0) | 2025.05.20 |
---|---|
[Linux 공부] Bandit wargames 26~27 단계 more & setuid & set (0) | 2025.05.20 |
[Linux 공부] Bandit wargames 24~25 단계 script 짜기 (0) | 2025.05.19 |
[Linux 공부] Bandit wargames 23~24 단계 cron & 인내심 (0) | 2025.05.19 |
[Linux 공부] Bandit wargames 22~23 단계 crontab (0) | 2025.05.19 |