소학회/워게임 추가 공부

[misc]Dreamhack_Exercise: SSH 추가 공부

haerim9.9 2025. 11. 4. 22:50

 

워게임을 풀고 공부+실습을 진행했다.

https://hae9-9.tistory.com/90


SSH 강의 시청

 

SSH: Secure Shell의 약자, 클라이언트 컴퓨터에서 원격 컴퓨터(서버 컴퓨터)를 안전하게 제어하기 위한 프로토콜 또는 이 프로토콜을 사용하는 프로그램들을 의미함. 클라이언트와 서버 사이가 강력한 암호화 방법을 통해 연결됨.

SSH 기본적으로 Unix 기반 시스템에서 안전하게 접속하기 위한 프로토콜 -> 서버에서는 Unix 계열의 운영체제를 다수 사용하므로 알아둘 필요가 있음.

 

SSH를 사용하기 위해선 서버 컴퓨터에 SSH 서버가, 클라이언트 컴퓨터에 SSH 클라이언트가 설치되어 있어야 함.

 

SSH 클라이언트: Unix 계열의 운영체제에는 기본적으로 SSH 클라이언트가 설치되어 있음. 단, 윈도우 운영체제에는 설치되어있지 않기 때문에 따로 설치해야 함. -> Open SSH

+그러나 윈도우 10 이후부터는 기본적으로 OpenSSH Client가 내장되어 있다.

 

shell을 통해 제어해야 하는 컴퓨터는, SSH 클라이언트를 통해 명령어 입력을 할 수 있다. 그러면 SSH가 서버 컴퓨터에 그 명령어를 전달하고, 서버 컴퓨터가 동작한다. 그러면 그 결과를 SSH를 통해 클라이언트 컴퓨터에 출력할 수 있다.

 


ssh 사용법을 익히기 위해 쉬운 ssh 워게임 문제만 풀 수 있는 사이트를 이용해 실습 겸 몇 문제를 풀어보았다.

 

Level0

문제 설명:  문제에서 주어진 서버 bandit.labs.overthewire.org의 포트 번호 2220에 id bandit0, password bandit0으로 접속

로그인 완료 화면

 

Level0 -> Level1

문제 설명: 다음 레벨로 가기 위해 알아야 할 패스워드가 readme 파일에 저장되어 있다. readme 파일은 home 디렉토리에 있으며, 이 패스워드를 사용해 Level1 bandit1 서버에 로그인할 수 있다. (Level0과 같은 서버)

패스워드: ZjLjTmM6FvvyRnrb2rfNWOZOTa6ip5If

 

로그인 완료 화면

 

Level1 -> Level2

문제 설명: 다음 레벨로 가기 위해 알아야 할 패스워드가 - 파일에 저장되어 있다. - 파일은 home 디렉토리에 있다. (Level1과 같은 서버)

cat으로 열어도 안 나와서, 문제에 있는 링크를 따라 검색해 보니 dash(-)가 문제였다. 이는 명령어 옵션으로 사용되기 때문에 안되던 것이었는데, 특별히 명령어 뒤에 <를 붙인 다음 dash가 들어간 파일명을 써주면 출력이 된다. (cat < -filename의 형태, 혹은 ./-처럼 경로를 명시하는 방법도 있다.)

 

패스워드: 263JGJPfgU6LtdEvgfWU1XP5yac29mFx

 

 

Level2 -> Level3

문제 설명: 다음 레벨로 가기 위해 알아야 할 패스워드가 --spaces in this filename-- 파일에 저장되어 있다. --spaces in this filename-- 파일은 home 디렉토리에 있다. (Level2와 같은 서버)

 

파일명에 공백이 들어가므로 이를 따옴표로 묶어주었다.

패스워드: MNk8KNH3Usiio41PRUEoDFPqfxLPlSmx

 

 

Level3 -> Level4

문제 설명: 다음 레벨로 가기 위해 알아야 할 패스워드가 히든 파일에 저장되어 있다. 히든 파일은 inhere 디렉토리에 있다. (Level3과 같은 서버)

cd 명령어로 inhere 디렉토리 위치에 들어간다. 일반 ls 명령어를 사용하면 히든 파일이 보이지 않으므로, -a 옵션을 더해서 사용했다.

패스워드: 2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJ

 

 

Level4 -> Level5

문제 설명: 다음 레벨로 가기 위해 알아야 할 패스워드가 사람이 읽을 수 있는 유일한 파일에 저장되어 있다. 해당 파일은 inhere 디렉토리에 있다. (Level4와 같은 서버)

파일이 이렇게 많은데, 처음엔 (영문 기준) readable이니까 읽기 권한 문제인 줄 알아서 ls 명령어에 -l 옵션을 사용해 권한까지 확인했다.

 

그런데 사진처럼 권한이 동등해서 아니란 것을 알았다.

 

힌트에 file 명령어가 있길래 써보기로 했다.

처음엔 난감했는데, ASCII text 파일이 나오자마자 이 파일은 기계가 읽을 수 없으니까 file07의 내용이 패스워드일 것이라고 생각했다.

 

패스워드: 4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw

로그인 완료 화면

로그인이 무사히 된 것으로 보아 추측이 맞았던 모양이다.

 


 

후기: SSH 그 자체 말고도, 셸 명령어를 익히기에 좋은 워게임 사이트 같다.