ImFe's study

FTZ training 6~10 정리 본문

FTZ

FTZ training 6~10 정리

ImFe 2020. 1. 2. 12:26

Trainer6
/etc/passwd : 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일

cat 파일이름 : 파일의 내용을 출력

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

:로 필드를 구분하며 왼쪽부터 필드1

 

1. 로그인 할 때 사용된 사용자 아이디

2. 패스워드(/etc/shadow 파일에 암호화되어 있음)

3. 사용자 계정 uid

4. 사용자 계정 gid

5. 사용자 계정 이름

6. 로그인 성공 시 기본으로 위치하게 되는 사용자 계정 홈 디렉토리

7. 사용자 계정 로그인 쉘(로그인 했을때 쉘이 실행됨)
Trainer7의 비밀번호는 to the top


Trainer7
tar : 파일 아카이브, 압축이 되지는 않는다. 아카이브란 파일을 묶어 하나로 만든 것

tar cvf : 아카이브 생성

tar xvf : 아카이브 해체

c - Create : tar 파일 생성

x - eXtract : tar 파일 풀기

v - View : 표준 출력으로 실행 내용 출력

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

gzip : 한번에 한개의 파일 압축

gzip 파일이름 : 선택된 파일을 압축

gzip -d 파일이름 : 선택된 파일을 압축해제

 

※ 리눅스 아카이브, 압축 확장자

tar : tar 프로그램을 사용하여 묶은 파일

gz : gzip 프로그램을 사용하여 압축한 파일

tar.gz : tar 프로그램으로 합친 후 gzip으로 압축한 파일

tgz : tar.gz와 동일

Trainer8의 비밀번호는 player



Trainer8
파일의 종류

① 일반 텍스트 파일 : 글자로만 이루어진 파일로써 확장자는 .txt이고 cat으로 내용 출력

② 프로그램 소스 파일 : 컴퓨터 언어로 입력한 파일로 컴파일 과정을 거쳐 실행

 

텍스트 파일 생성법

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

② 원하는 내용 입력

③ Ctrl+D(그만 입력하고 싶을 때)

④ 수정할 경우엔 cat >> 파일이름.txt 라고 입력 후 수정

 

◎ 리다이렉션 '>', '<' 

'방향을 전환한다'라는 뜻을 가지고 있다. 그냥 'cat 파일 이름'을 입력하면 파일의 내용만 출력된다. > 는 왼쪽에서 출력되는 것을 받아서 오른쪽으로 보낸다는 것을 의미한다. 파일이 있는 상태에서 한 번 더 cat > 파일이름 을 입력하면 원래 있던 파일은 사라지고 다시 작성된다. 따라서 같은 파일에 연속하여 내용을 입력하고자 할 때는 >> 를 사용해야 한다.

 

소스 파일 생성법

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

② 컴퓨터 언어로 내용 입력

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

 

컴파일된 프로그램 실행하기

① 파일이 있는 절대경로를 모두 입력시켜야 하기 때문에 pwd 명령으로 절대경로 확인

② 파일이 있는 절대경로 모두 입력

or

① 현재 경로를 의미하는 ./ 사용

② ./프로그램 이름 입력

※ 절대경로는 최상위 디렉토리부터 시작되는 경로, 상대경로는 자신이 현재 위치한 디렉토리를 기준으로 따지는 경로

Trainer9의 비밀번호는 programming


Trainer9
리눅스의 사용자 종류

- User : 서버에 로그인한 자기 자신을 의미

- Group : 모든 사용자는 하나 이상의 그룹에 속하게 됨

- Other : 유저와 그룹을 제외한 모든 다른 사람들

- Root : 절대적인 권한을 가지고 있는 사용자. 어떤 권한에도 구애받지 않는 상태로 파일들을 제어할 수 있게 됨

 

id 명령 분석

- uid : UserID의 약자. 컴퓨터가 알아보기 쉽도록 사용자ID에 숫자를 부여한 것

- gid : GroupID의 약자. 각 유저마다 gid를 가지고 있고, 다른 사람을 자신의 gid를 가진 그룹에 속하게 할 수 있음. 보통 uid와 gid는 항상 같음

- groups : 현재 자신이 속해 잇는 그룹. 임의로 변경하지 않으면 기본적으로 자신의 uid와 같은 그룹에 속하게 됨

 

권한 분석

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

 

1. -rwxrwxrwx

rwx  rwx  rwx : 순서대로 User의 권한, Group의 권한, Other의 권한

r : Read(읽기 권한), w : Write(쓰기 권한), x : eXcute(실행 권한)

 

2. 1 trainer9 trainer10

trainer9 부분이 User, trainer10 부분이 Group, 이 둘을 제외한 다른 모든 아이디는 Other

Trainer10의 비밀번호는 best!


Trainer10
해킹 방법에는 Local 해킹, Remote 해킹 등 2가지의 방법이 있다.

- Local 해킹 : 해킹하고자 하는 서버에 일반 계정을 가지고 있을 때, 관리자 권한(root)를 얻고자 시도하는 것

- Remote 해킹 : 해킹하고자 하는 서버에 계정을 가지고 있지 않을 때, 계정을 얻고자 시도하는 것

 

SetUID : 임시적으로 자신의 ID를 변경하는 것

ex) 자신의 비밀번호를 변경할 때, 비밀번호는 /etc/shadow 파일에 저장되어 있기 때문에 본래 root 권한을 가진 사용자를 제외하고는 수정이 불가능하지만, passwd 파일은 루트 권한인 SetUID가 걸려있어 일반 사용자들이 그 파일을 실행하는 동안에는 일시적으로 root로 아이디가 변경이 된다.

 

- SetUID가 걸린 파일을 실행하면 자신의 ID가 root로 변경되고, 파일의 실행이 끝나면 원래대로 돌아옴

- 사용자 실행 권한 부분에 x대신 s가 있는 경우(s가 x를 포함하기 때문)

 

find / -perm -4000

/ 에서부터 적어도 SetUID가 걸린 모든 파일을 찾으라는 명령

 

4 : SetUID

000 : rwx(읽고 쓰고 실행) 권한

 

※ find 옵션

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

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

-user : 사용자와 일치하는 파일을 찾는다.

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

 

'FTZ' 카테고리의 다른 글

레지스터(register)란?  (0) 2020.04.07
어셈블리어 기초- 진법 체계  (0) 2020.03.25
FTZ level9 풀이  (0) 2020.02.12
FTZ training 1~5 정리  (0) 2020.01.02
FTZ training 로컬 환경 구축  (0) 2019.12.22
Comments