FTZ trainer 1~5 단계 학습내용 정리
trainer1 - 디렉토리&파일 출력하고 읽기
- ls : 디렉토리와 파일 리스트
- ls -1 : 디렉토리와 파일을 구분하여 출력
- "9월 24 11:52" : 파일 생성 날짜
- "779" : 파일의 용량
- "trainer1 trainer1" : Permission에 관한 정보
- "-rw-rw-r--" : 파일의 mode와 파일의 성격
*가장 왼쪽 문자가 "-" -> 파일
가장 왼쪽 문자가 "d" -> 디렉토리(directory) (=폴더)
- ls -a : 숨겨진 파일들을 포함한 리스트
- ls -a1 : 숨겨진 파일들을 포함해서 디렉토리와 파일을 구분해 출력
trainer2 - 디렉토리 이동, 생성 등
- pwd : 어떤 디렉토리 속에 들어가 있는지 경로확인
- cd .. : 한단계 위로 이동 (cd와 ..사이 스페이스바)
- cd (디렉토리 명) : 한단계 아래로 이동
- cd / : 최상위 디렉토리로 이동
- cd (디렉토리 명)/(디렉토리명) : 한번에 2개 이상의 디렉토리 이동
자유롭게 연습할 수 있는 프롬포트가 떴는데 명령어가 안먹혔다.....
그래서 터덜터덜 exit로 나왔다.....
시스템 문제인가...? 나오니까 다시 잘 먹혔다. 진짜 뭐지..?
- mkdir (디렉토리 명) :새로운 디렉토리 생성 (MaKe DIRectory)
- rimdir (디렉토리 명) : 해당 디렉토리 삭제 (ReMove DIRectory)
- cp (파일1) (파일2) : 파일1을 파일2 이름으로 복사 (CoPy)
- rm (파일) : 해당 파일 삭제 (ReMove)
- mv (파일1) (파일2) : 파일1을 파일2 이름으로 이동 (원본 삭제, 이름 변경시 사용)
trainer3 - 서버 접속자와 대화
-
텔 넷을 통해 서버에 접속한 것을 "터미널을 통해 접속했다"라고 함. 직접 컴퓨터에 리눅스를 설치해서 로그인한 것을 "콘솔을 통해 접속했다"라고 함.
->터미널, 콘솔 같은 의미지만 구별되어 사용
-
w : 서버에 어떤 사람들이 접속해 있는지 출력
① : 접속한 사람의 ID
② : 접속 방법
*콘솔로 접속 -> tty / 터미널 접속 -> pts/n (n번 째 터미널로 접속 0부터시작)
③ : 접속한 사람의 컴퓨터 ip
*콘솔 접속의 경우 ip가 나타나지 않음
④ : 로그인 시간
⑤ : 지연시간 (얼마나 오랫동안 아무것도 입력하지 않았는지)
⑥ : 각 사용자가 cpu를 사용한 지연시간
⑦ : WHAT 필드에 있는 명령이 지연된 시간
⑧ : 사용자가 사용하고있는 명령
-
finger -1 : 사용자들의 많은 정보 출력
-
tty : 자신의 터미널 확인
-
ifconfig : 현재 접속한 서버의 ip 확인
-
write ID /dev/pst/pst번호 : ID에게 쪽지 보내기
-
wall test : 접속한 모든 사용자들에게 쪽지 보내기
trainer4 - 디렉토리와 파일의 종류
- bin : 가장 필수적인 리눅스 실행파일
- boot : 리눅스 부팅 관련 파일, 커널
- dev : 하드웨어에 관한 정보파일
- etc : 중요파일들 (패스워드, 쉐도우, 설정파일 등)
/etc/passwd : 사용자들에 대한 간단한 정보
/etc/shadow : 사용자들의 패스워드 (아무나 보지 못함)
/etc/services : 서버가 하는 서비스
/etc/issue.net : 처믕 접속될 때 나오는 화면 (환영 문구)
/etc/motd : 로그인 후 나오는 메시지
~/public_html : 각 사용자들의 홈페이지 파일 (해킹 성공시 문구 남김)
- home : 일반 사용자들의 디렉토리
- lib : 라이브러리 파일
- mnt : mount 명령으로 마운트 시킨 시디룸, 플로피 디스켓 등
- proc : 프로세스들의 파일형태
- root : 루트의 홈 디렉토리 저장
- sbin : 시스템 관리용 실행 파일들
- tmp : 임시로 파일을 저장하는 디렉토리 (권한상관X 누구나 파일 생성가능)
- usr : 응용 프로그램들
- var : 각종 임시 파일들 (외부 접속에 대한 로그 파일들)
trainer5 - 서버 정보 수집
- whoami : 자신의 정보 (누구인지)
- id : 더 자세한 자신의 정보
- cat : 파일을 읽고 정보를 표준출력하는 명령어
- cat /etc/passwd : 서버 사용자들의 정보 - 가장 왼쪽의 단어가 아이디
- uname -a : 커널 버전 확인
커널 : 리눅스의 심장부 역할을 하는 파일, 정보를 캐 낼 때 가장 먼저하는것이 커널 버전 확인. 2.2.18이전 버전은 취약점 존재 -> root권한 획득 가능
root권한 : 리눅스나 유닉스에서 모든 파이을 관리하는 절대적 관리자 권한
- cat /etc/*release : 서버에 설치된 OS 버전 확인
- rpm -qa : 패키지 정보 확인
패키지 : 한 프로그램이 실행되기 위해 존재하는 부속 파일들의 모임
-> 패키지들의 버전을 보고 해킹 가능 여부 판단가능
(ex. glib 2.1.2이하버전, sendmail 8.10.1 이하 버전 등)
- cat /proc/cpuinfo : 해당 서버의 cpu 정보 확인 (model name에서 사양 확인가능)