티스토리 뷰

Goal
The password for the next level is stored in a file readme in the homedirectory. Unfortunately, someone has modified .bashrc to log you out when you log in with SSH.
다음 레벨의 패스워드는 home 디렉토리의 `readme` 파일에 저장되어 있다. 불행히도 누군가 `.bashrc`를 조작했고 SSH로 접근하려 하면 로그아웃 된다.
Commands you may need to solve this level
`ssh`, `ls`, `cat`
Write Up
우선 SSH로 접근이 불가하므로 이전 레벨인 bandit17 권한을 이용해 접근했다.
리눅스 파일 시스템에서 `/etc` 디렉토리는 환경 설정 관련 파일을 가지고 있다. 그 중 `passwd` 파일은 사용자의 패스워드 정보를 가지고 있다. 사용자가 패스워드를 입력하면 `etc/passwd` 파일에 있는 패스워드와 입력한 패스워드를 해시함수로 비교하고 값이 동일하면 로그인 처리한다. 따라서 `etc/passwd` 파일에는 해시로 암호화된 패스워드가 있다.
bandit17 계정으로 로그인해 `/etc/passwd` 파일의 내용 중 bandit18과 관련된 라인을 찾았다.
bandit17@bandit:~$ cat /etc/passwd | grep bandit18
bandit18:x:11018:11018:bandit level 18:/home/bandit18:/bin/bash
[사용자 계정]:[사용자 암호]:[사용자 ID]:[사용자가 속한 그룹 ID]:[사용자 코멘트 정보]:[사용자의 홈 디렉토리 정보]:[사용자의 기본 shell 정보]
bandit18 계정의 로그인 관련 정보를 확인할 수 있다. bandit18 계정의 암호는 x 표기가 되어 있으므로 `/etc/shadow` 파일에서 확인할 수 있을 것이다. 기본 shell은 bash다. 따라서 bandit18 계정으로 로그인하는 경우 bash shell이 실행되고 이는 `.bashrc`의 설정을 따른다. 그렇다면 `.bashrc` 파일 내에 SSH 연결 시 로그아웃 처리하라는 라인이 있을 것으로 예상해볼 수 있다.
그렇다면 bash로 접근할 수 없을 때, `.bashrc` 파일에 접근해 내용을 수정하거나 bash shell을 사용하지 않고 다른 shell을 사용하면 어떨까? bandit18 계정의 패스워드를 가지고 있으므로 똑같이 SSH로 접근하더라도 bash 계열의 shell을 사용하지 않으면 `.bashrc` 파일의 설정을 따르지 않을 것이다.
ssh -t bandit18@bandit.labs.overthewire.org -p 2220 sh
cat readme'Wargame > Bandit' 카테고리의 다른 글
| Bandit Level 20 → Level 21 (0) | 2024.05.16 |
|---|---|
| Bandit Level 19 → Level 20 (0) | 2024.05.16 |
| Bandit Level 17 → Level 18 (0) | 2024.05.16 |
| Bandit Level 16 → Level 17 (0) | 2024.05.16 |
| Bandit Level 15 → Level 16 (0) | 2024.05.16 |
- Total
- Today
- Yesterday
- askers
- DP
- XSS
- PS
- Bandit
- WarGame
- sqli
- Transaction
- React
- oauth2
- math
- Spring
- Misc
- SEO
- Spring Security
- CSRF
- opengraph
- webgoat
- linux
- Framework
- sql injection
- java
- test
- Dreamhack
- 회고
- WEB
- Database
- JPA
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |