profile image

L o a d i n g . . .

Trainer6

※ 패스워드 파일 분석 방법

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

   1      2     3     4         5           6             7

 

1. 로그인할 때 사용되는 아이디

2. 패스워드 - 사용자들의 패스워드만 모아 새로운 파일을 만듦 (/etc/shadow)

3. 컴퓨터에 입력되는 사용자 아이디 (컴퓨터 입장에서의 root라는 의미)

4. 해당 사용자가 속해있는 그룹

5. 사용자의 이름

6. 로그인에 성공 했을 때 기본으로 위치하게 되는 디렉터리

7. 처음 로그인 했을 때 실행되게 할 프로그램 (로그인 했을 때 쉘이 실행되는 것)

 

 

 

Trainer7

※ 리눅스 환경에서 압축하고, 해제하는 방법 (tar, gzip)

  • tar는 사실 압축 프로그램이 아님 압축을 하면 용량이 줄어야 하는데 늘기 때문이다.

 

일단 파일을 압축하지 않고 그냥 합쳐버리기만 하니 기존 파일을 복구할 때 속도가 엄청 빠르다.

즉, tar는 속도면에서 볼 때 백업용 프로그램으로 따라올 자가 없음.

$ tar cvf [합칠파일] [합칠파일들]
$ tar xvf [해제할파일]

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

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

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

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

 

  • 리눅스 gzip 프로그램은 한번에 한개의 파일만 압축할 수 있음.

그렇기 때문에 tar를 사용하여 여러 파일을 1개로 뭉쳐버리고, gzip 프로그램을 사용하여 압축해 버리면 됨!

$ gzip [파일이름]  : 압축
$ gzip -d [파일이름]  : 압축 해제

※ 리눅스 압축 확장자 형태

  • tar : tar 프로그램을 사용하여 압축된 파일 (여러 파일들이 하나로 뭉쳐져 있는 파일)
  • gz : gzip 프로그램을 사용하여 압축된 파일
  • tar.gz : tar 프로그램을 사용하여 파일을 합친 후, gzip을 사용하여 압축한 파일
  • tgz : 위의 tar.gz과 동일

 

 

 

Trainer8

※ 텍스트 파일 생성법

1. 쉘 프롬프트 상태에서 $ cat > 파일이름.txt 라고 입력 ('>' 리다이렉션)

2. 원하는 내용 입력

3. Ctrl + D

4. 내용을 추가할 경우 리다이렉션을 두번 입력한다. $ cat >> 내용추가할파일.txt

 

※ 소스 파일 생성법

1. 쉘 프롬프트 상태에서 $ cat > 파일이름.c 라고 입력

2. 컴퓨터 언어로 내용 입력

3. $ gcc -o [파일이름1] [파일이름2]  : 파일이름2를 파일이름1로 컴파일한다.

 

※ 절대경로는 최상위 디렉터리부터 시작되는 경로

※ 상대경로는 자신이 위치한 디렉터리를 기준으로 따지는 경로

 

 

 

Trainer9

※ id 설명

유저  : 자신을 의미

그룹  : 자신이 속한 그룹

아더  : 유저와 그룹을 제외한 모든 다른 사람

루트  : 절대적인 권한을 가진 사람

uid=2009(trainer9) gid=2009(trainer9) groups=2009(trainer9)

  • uid : User ID의 약자. 컴퓨터가 알아보기 쉽게 숫자를 부여한 것. (trainer9 = 2009)
  • gid : Group ID의 약자. 특별한 일이 없는 한 gid는 항상 uid와 같음.
  • groups : 현재 자신이 어떤 그룹에 속해 있는지를 보여줌. (default uid와 같음)

 

※ 파일 분석법

  • rwxrwxrwx 1 trainer9 trainer10 5 10월 20 21:35 test1

      1   2   3          4         5                               6

 

r(읽기) w(쓰기) x(실행) s(SetUID로 x를 포함)

1. 유저의 권한

2. 그룹의 권한

3. 아더의 권한

4. 유저

5. 그룹

6. 파일 이름

 

 

 

Trainer 10

※ local 해킹시 핵심이 되는 SetUID 설명

Local 해킹  : 관리자 권한 (root)를 얻고자 시도

Remote 해킹 : 일반 아이디를 얻을 때

 

SetUID  : 일시적으로 자신의 ID를 변경하는 것 (잠시동안 root 권한을 가질 수 있음)

  • Set이란 말은 "변경하다"란 뜻을 가지고 있고, UID는 User ID의 약자이다.

 

따라서 SetUID는 "일시적으로 자신의 ID를 변경하는 것"을 의미한다.

-> root 권한으로 SetUID가 걸린 파일을 찾아서 그것을 이용해 권한을 상승시켜 쉘을 따는 등의 행위를 할 수 있을 것.

복사했습니다!