Pwnable/FTZ

Trainer 6 ~ 10

Lucvs 2019. 10. 9. 19:05

Trainer 6

root : x : 0 : 0 : Admin : /root : /bin/bash

   1     2   3    4       5            6           7

 

첫 번째 필드 = 아이디(계정)

두 번째 필드 = 패스워드(x로만 표시됨)

세 번째 필드 = 패스워드 파일 확인

네 번째 필드 = 사용자 그룹

다섯 번째 필드 = 사용자의 이름

여섯 번째 필드 = 로그인시 기본 디렉토리

일곱 번째 필드 = 로그인시 처음 실행되게 할 프로그램

 


Trainer 7

ex)

-rwxr-xr-x    1 trainer7 trainer7    12416 10월 16 14:16 넥스트4집-가사

-rwxr-xr-x    1 trainer7 trainer7     6964 10월 16 14:16 샵3집-가사

-rwxr-xr-x    1 trainer7 trainer7     9328 10월 16 14:16 서태지2집-가사

 

- 합치기   :  tar cvf 합칠파일 합칠파일들

- 해제하기 :  tar xvf 해제할파일

 

- c - Create  : 새로운 파일을 만드는 옵션

- x - eXtract : 압축을 해제시키는 옵션

- v - View     : 압축이 되거나 풀리는 과정을 출력하는 옵션

- f - File        : 파일로서 백업을 하겠다는 옵션

 

- tar : 압축하는 것이 아닌 단지 파일들을 하나의 파일로 합치는 것

- tar 로 하나의 파일로 합치고 gzip을 통하여 그 파일을 압축 : 더 빠르다

 

- tar     : 여러개의 파일이 하나로 합쳐져 있는 것 (압축 X)

- gz      : gzip 프로그램을 사용하여 압축된 파일입니다 

- tar.gz : tar -> gz 를 마친 파일

- tgz     : 위의 tar.gz 을 합쳐서 tgz라는 확장자로 만들 때

           도 있답니다.

 

 

- gzip -d songs.tar  //gzip 해제

- tar xvf songs.tar   //tar 해제

 

 

::  매우 중요한 여러 파일들이 있다. 이것을 백업하려고 한다.  ::

 

-> tar cvf 명령을 이용하여 이 파일들을 하나로 합쳐버린다. 

-> gzip 명령을 이용하여 용량을 팍팍 줄여버린다.

-> 이 압축된 파일을 잘 보관한다.

-> 후에 리눅스를 재설치하거나, 크래킹을 당하여 자료가

   손실되었을때...

-> gzip -d 명령을 이용하여 다시 tar로 만든다.

-> tar xvf 명령을 이용하여 파일들을 복구한다.

-> 손실된 파일들이 고스란히 되살아난다.

 


Trainer 8

- cat > 파일이름.txt : txt파일을 생성하고 그 파일에 내용추가

- cat >> test.txt      : 생성한 txt파일에 있던 내용에 이어서 내용 추가

 

- gcc -o 프로그램이름 소스파일이름

- ./program.exe ( . 은 앞의 경로를 생략해서 나타낸 것이다) 

 


Trainer 9

ex)

-rwxr-x--x    1 guest trainer1       104 10월 20 21:08 test2

  ③ ⑤ ⑦        ②     ④                             ①

 

① test2 라는 파일은...

② guest 라는 uid를 가진 사용자에게...

③ 읽기(r),쓰기(w),실행(x) 권한이 있고...

④ trainer1 이라는 gid를 가진 사용자에게는...

⑤ 읽기(r) 와 실행(x) 권한만 있고...

⑥ 그리고 guest 와 trainer1을 제외한 사용자들에게는...

오직 실행(x)권한만 있다.

 


Trainer 10

 

해킹 방법 : Remote / Local

 

바로 자신의 암호를 변경하는 passwd 파일에 루트 권한의

SetUID가 걸려있어서. 일반 사용자들이 그 passwd 파일을

실행하는 동안에는 "루트로의 일시적인 아이디 변경" 이 

되는것입니다

 

 

-r-s--x--x   1 root     root        22312 Sep 26  1999 /usr/bin/passwd*

    #

 

# s : SetUID 를 의미 -> s가 x(실행권한)를 포함

-> SetUID가 걸려있는 파일을 실행할 경우에는 사용자가 누구든지 root의 권한 get

 

 

find / -perm -4000

 

->  / 에서 부터, 적어도 SetUID가 걸린 모든 파일을 찾아라 

/ : 적어도 라는 의미

 

- 4      : SetUID를 의미

- 000 : rwx 모두를 의미

 

- perm   권한과 일치하는 파일을 찾는다.

                ex) find / -perm 4755

- name   이름과 일치하는 파일을 찾는다.

                ex) find / -name cat

- user   유져와 일치하는 파일을 찾는다.

                ex) find / -user mmung2

- group  그룹과 일치하는 파일을 찾는다.

                ex) find / -group guta