Nebula Level 05
https://exploit-exercises.com/nebula/level05/
✨ 기본 지식
1. ssh
ssh는 시큐어 셀의 약자이다. 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다. SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보인다.(위키백과 참고)
ssh를 사용하기 위해서는 클라이언트 프로그램을 설치해야 하고 sshd라는 데몰을 필요로 한다. ssh의 기본이 telnet인 만큼 사용법도 동일하다.
✨풀이
먼저 nebula 사이트에 나와있는 힌트를 확인했다.
About
flag05를 확인해라. 디렉토리 권한의 약점을 찾아야 한다.
이게 힌트의 전부이다. 일단은 힌트에 따라 flag05로 이동후 어떤 디렉토리가 있는 지 확인했다.
들어있는 디렉토리는 2개이다. backup과 ssh. 먼저 ssh에 어떤 디렉토리인지 확인했다. 하지만 이 디렉토리 안에는 어떠한 파일이나 폴더가 존재하지 않았다. 그래서 backup이란 디렉토리로 이동해 그 안을 확인했다.
backup-19072011.tgz라는 파일이 존재했다. . .tgz는 압축했을 경우 붙는 확장자이다. 압축된 파일이 있으니 이걸 출어주기 위해서 tar명령어를 사용했다.
리눅스의 압축과 해제는 tar명령어를 통해서 할 수 있다. tar명령어에 옵션을 붙여 사용하면 여러가지 뜻을 가지는데 기능 옵션 -x는 압축된 것을 풀 때, 부가 옵션인 z도 gzip으로 압축을 할 때나 풀 때 사용한다. -f는 저장파일 혹은 장치에 F를 저장하고 -v는 처리중인 파일을 보여준다. -C는 압축을 풀 위치를 지정한다.
backup-19072011.tgz의 파일 상세 내용을 보면 ssh 단어가 들어간 파일들이 있다. 이 파일들이 의미하는 바를 찾아봤다.
.ssh/id_rsa: ssh를 사용하는 사람의 개인키다 담긴 파일이다. rsa 프로토콜을 사용한다는 의미이다. 이 파일은 다른 사람들이 읽을 수 있으면 개인키의 역할을 상실한다. 개인키는 passphase를 가지고 키를 보한다. 이는 파일의 중요한 부분을 알호화한다.
.ssh/id_rsa.pub: 개인키에 해당하는 공개키이다. 목적은 ssh/id_rsa와 동일하다.
.ssh/suthorized_keys: 사용자가 필용한 rsa 또는 das 공개키의 목록이 있는 파일이다.
파일들의 내용을 하나로 정리하자면 ssh의 접속을 위한 준비가 됐다는 것이다. flag05계정을 통해서 접속했다.
접속하겠냐는 말이 나와서 yes를 치고 엔터를 눌렀다. 그랬더니 어떤 글이 블라블라 나왔다.그리고 나서 보니 계정이 flag05로 바꿔있었다. 이제 getflag를 치니 성공!
참고:
http://lily.mmu.ac.kr/lecture/08sm/Ubuntu2/8tar.html
https://ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8
http://babuzzzy.tistory.com/entry/ssh-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
http://lklingling.tistory.com/entry/SSH-CONF-%ED%8C%8C%EC%9D%BC
http://winkite1226.tistory.com/66?category=741694
https://exploit-exercises.com/nebula/level05/
✨ 기본 지식
1. ssh
ssh는 시큐어 셀의 약자이다. 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다. SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보인다.(위키백과 참고)
ssh를 사용하기 위해서는 클라이언트 프로그램을 설치해야 하고 sshd라는 데몰을 필요로 한다. ssh의 기본이 telnet인 만큼 사용법도 동일하다.
✨풀이
먼저 nebula 사이트에 나와있는 힌트를 확인했다.
About
flag05를 확인해라. 디렉토리 권한의 약점을 찾아야 한다.
이게 힌트의 전부이다. 일단은 힌트에 따라 flag05로 이동후 어떤 디렉토리가 있는 지 확인했다.
들어있는 디렉토리는 2개이다. backup과 ssh. 먼저 ssh에 어떤 디렉토리인지 확인했다. 하지만 이 디렉토리 안에는 어떠한 파일이나 폴더가 존재하지 않았다. 그래서 backup이란 디렉토리로 이동해 그 안을 확인했다.
backup-19072011.tgz라는 파일이 존재했다. . .tgz는 압축했을 경우 붙는 확장자이다. 압축된 파일이 있으니 이걸 출어주기 위해서 tar명령어를 사용했다.
리눅스의 압축과 해제는 tar명령어를 통해서 할 수 있다. tar명령어에 옵션을 붙여 사용하면 여러가지 뜻을 가지는데 기능 옵션 -x는 압축된 것을 풀 때, 부가 옵션인 z도 gzip으로 압축을 할 때나 풀 때 사용한다. -f는 저장파일 혹은 장치에 F를 저장하고 -v는 처리중인 파일을 보여준다. -C는 압축을 풀 위치를 지정한다.
backup-19072011.tgz의 파일 상세 내용을 보면 ssh 단어가 들어간 파일들이 있다. 이 파일들이 의미하는 바를 찾아봤다.
.ssh/id_rsa: ssh를 사용하는 사람의 개인키다 담긴 파일이다. rsa 프로토콜을 사용한다는 의미이다. 이 파일은 다른 사람들이 읽을 수 있으면 개인키의 역할을 상실한다. 개인키는 passphase를 가지고 키를 보한다. 이는 파일의 중요한 부분을 알호화한다.
.ssh/id_rsa.pub: 개인키에 해당하는 공개키이다. 목적은 ssh/id_rsa와 동일하다.
.ssh/suthorized_keys: 사용자가 필용한 rsa 또는 das 공개키의 목록이 있는 파일이다.
파일들의 내용을 하나로 정리하자면 ssh의 접속을 위한 준비가 됐다는 것이다. flag05계정을 통해서 접속했다.
접속하겠냐는 말이 나와서 yes를 치고 엔터를 눌렀다. 그랬더니 어떤 글이 블라블라 나왔다.그리고 나서 보니 계정이 flag05로 바꿔있었다. 이제 getflag를 치니 성공!
참고:
http://lily.mmu.ac.kr/lecture/08sm/Ubuntu2/8tar.html
https://ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8
http://babuzzzy.tistory.com/entry/ssh-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
http://lklingling.tistory.com/entry/SSH-CONF-%ED%8C%8C%EC%9D%BC
http://winkite1226.tistory.com/66?category=741694
댓글
댓글 쓰기