해커스쿨 FTZ training 1~5

Lee·2022년 9월 26일
post-thumbnail

FTZ training


1. Trainer1

리눅스를 처음 접속하면 '프롬프트'가 나타나고 이는 서버에 로그인되었다는 것을 뜻한다.

프롬프트는 [접속id@접속주소 현재디렉토리]로 구성되어 있다.
[trainer1@ftz trainer1]$

ls : 리스트 출력
ls -l : 파일&디렉터리

ls 명령어를 사용하면 현재 디렉토리에 있는 모든 디렉토리와 파일들을 출력해준다. 이때, 디렉토리와 파일들을 출력해도, 무엇이 디렉토리고 파일인지 알 수 없다. 이러한 경우 ls -l 를 붙여 진행하면 해당 파일이 디렉토리인지 파일인지 함께 출력된다.

파일 성격 Permission 용량 생성 날짜 이름

-rw-rw-r-- 1 trainer1 trainer1 779 9월 24 18:37 start.txt
drwxr-xr-x 2 trainer2 trainer2 1024 9월 24 11:52 tmp
해당 파일이 디렉토리라면 d로 표시되고, 디렉토리가 아니면 -로 표시된다. 그 뒤에 9자리는 사용권한을 나타낸다.

중간에 trainer1 trainer1 은 권한에 관한 정보를 보여준다. 그 뒤에 779는 해당 파일의 크기를 의미한다.

ls -a : 숨겨진파일 리스트 출력 (숨겨진 파일은 앞자리에 "."이 들어감)
ls -al : 숨겨진파일&디렉터리 리스트 출력


2. Trainer2

pwd : 현재 경로 출력
경로를 출력할 땐 최상위 디렉토리인 / 부터 현재 디렉토리까지를 출력한다.
cd : 경로 이동
이름 혹은 점 두개(..)로 이동할 수 있다.

현재의 위치에 디렉토리를 추가하는 명령어는 mkdir 이다.
mkdir [디렉터리명] : 디렉터리 생성
현재의 위치에 디렉토리를 추가하는 명령어는 rmdir 이다.
rmdir [디렉터리명] : 디렉터리 삭제

파일을 복사하는 명령어는 [cp 복사원본 복사사본]이다.
cp [복사할 파일명][복사된 파일명] : 파일 copy
rm [파일명] : 파일 remove
mv [변경할 파일명][변경된 파일명] : 이름 변경 or 잘라내기-붙여넣기


3. Trainer3

현재 서버에 접속한 유저들을 보려면 [who] 또는 [w] 명령어를 이용한다.

who 명령어로 출력한 정보들의 의미는 다음과 같다.

  • USER : 사용자의 이름. 로그인 할 때의 id가 출력된다.
  • TTY : 어떠한 방식으로 접속했는지가 출력된다. tty로 나타나면 콘솔로 접속한 것이고, pts로 나타나면 터미널로 접속했다는 의미이다. trainer3을 보면 pts 뒤에 0이라는 숫자가 있는데, 해당 유저가 서버에 터미널로 접속한 몇 번째 유저인지를 뜻한다.
  • FROM : 해당 유저의 ip주소를 나타낸다. root는 콘솔로 접속하여서 ip가 나타나지 않는다.
  • LOGIN@ : 해당 유저가 로그인 한 시간을 나타낸다.
  • IDLE : 사용자가 얼마나 오랫동안 아무 입력도 없이 가만히 있었는지를 나타낸다.
  • JCPU : 사용자가 CPU를 얼마동안 사용하지 않았는지를 나타낸다.
  • PCPU : WHAT 필드에 있는 명령이 얼마나 지연되었는지를 나타낸다.
  • WHAT : 사용자가 어떠한 명령을 사용하고 있는지를 나타낸다.

finger -l : 서버에 접속한 사용자 정보 자세히 보기
tty : 자신의 터미널 정보 확인
ifconfig : 현재 접속한 서버의 IP 확인
write ID /dev/pts/번호 : 쪽지 보내기
wall "내용" : 모든 사용자에게 쪽지 보내기

trainer3에서 메세지를 보낼 때마다 guest로 전송된다.
wall을 이용한 메세지는 root 계정에게도 전송된다.


4. Trainer4

※ Trainer4에서는 최상위 디렉터리를 배운다. 최상위 디렉토리에 있는 것들은 리눅스를 설치하면 기본적으로 생성되는데, 각 디렉토리마다 역할이 있다.

  • bin : 가장 필수적인 리눅스 실행 파일. (기본적인 실행 파일) - ls, rm 모두 이곳에 들어가 있음
  • boot : 리눅스 부팅 관련 파일과, 커널
  • dev : 컴퓨터에 설치된 하드웨어에 관한 정보
  • etc : 패스워드 파일, 쉐도우 파일, 리눅스 설정 파일 등...

/etc/passwd : 사용자들에 대한 간단한 정보
/etc/shadow : 사용자들의 패스워드 (아무나 보지 못함)
/etc/services : 서버가 어떤 서비스를 활성화중인지 보여줌
/etc/issue.net : 처음 접속될 때 나오는 화면. ex) 해커스쿨의 F.T.Z에 오신걸 환영합니다!
/etc/motd : 로그인 후에 나오는 메세지
~/public_html : 각 사용자들의 홈페이지 파일. 보통 해킹에 성공하면 이 파일을 수정하여 hacked by xxx라는 문구를 남김

  • home : 일반 사용자들의 디렉터리가 들어가는 곳. guest와 trainer1-10, level - 1-10 모두 이 디렉터리 안에 속해 있음
  • lib : 라이브러리 파일
  • mnt : mount 명령을 사용하여, 마운트 시킨 시디롬 등이 들어가는 디렉터리
  • proc : 프로세스들이 파일 형태로 저장되는 디렉터리
  • root : 루트의 홈 디렉터리
  • sbin : 기본 명령을 제외한 시스템 관리용 실행 파일
  • tmp : 임시로 파일을 저장하는 디렉터리 (누구나 이 디렉터리에 파일 생성 가능)
  • usr : 다양한 응용 프로그램들이 설치되어 있는 곳
  • var : 시스템 운영 중에 생성되는 각종 임시 파일과 외부 접속에 대한
  1. ls 명령어는 리눅스 기본 명령어여서 /bin 디렉토리에 저장되어 있다.
  2. 접속할 때 trainer4 계정으로 접속했기에, 홈 디렉토리는 /home/trainer4가 된다.
  3. 프로그램의 설정 파일들은 /etc에 저장된다.
  4. 서버에 접속했을 때 나오는 메세지는 etc 디렉토리 아래에 있는 issue.net 파일이다.
  5. /etc/shadow 파일은 사용자들의 비밀번호가 저장되어 있는 파일이고, 아무나 열어볼 수 없다.

5. Trainer5

※ 정보를 수집하는 방법

  • whoami : 자신의 기본 정보
  • id : 자세한 자신의 정보
  • cat /etc/passwd : 서버에서 활동중인 사람들의 계정 정보
  • uname -a : 커널 버전 확인
  • cat /etc/*release : 설치된 OS 버전 확인
  • rpm -qa : 패키지 정보
  • cat /proc/cpuinfo : cpu 정보
profile
Cybersecurity

0개의 댓글