trainer2의 비밀번호는 linuxer 입니다.
trainer3의 비밀번호는 computer 입니다.
trainer4의 비밀번호는 mungguta 입니다.
trainer5의 비밀번호는 goodluck 입니다.
trainer6의 비밀번호는 coffee 입니다.
trainer7의 비밀번호는 to the top 입니다.
trainer8의 비밀번호는 player 입니다.
trainer9의 비밀번호는 programming 입니다.
trainer10의 비밀번호는 best! 입니다.

 

trainer 1

 

 [접속 ID@서버 현재위치]

 

 ls(list) 명령어

 옵션

 -a(all): 숨겨진 파일이나 디렉토리를 보여줌 (숨김 파일은 파일 이름 앞에 .이 들어감)

 -l(long): 자세한 내용을 출력함 (권한, 링크 수, 소유자, 크기, 마지막 접근 일자, 등)

 

 파일 맨 앞의 문자가 d이면 디렉토리, -이면 파일

 

 

 

trainer 2

 

 pwd(print working directory): 현재 디렉토리의 절대 경로 출력

 

 cd(change directory): 디렉토리 이동

 .: 현재 폴더

 ..: 상위 폴더

 /: 최상위 디렉토리

 절대경로(최상위 디렉토리에서 시작), 상대경로(현재 디렉토리에서 시작)를 사용해서도 이동 가능

 

 mkdir: 폴더 생성

 rmdir: 폴더 삭제 (-r 옵션: 디렉토리와 하위 내용들을 재귀적으로 삭제, -f 옵션: 알림 메시지 표시하지 않음)

 

 cp file1 file2: file1을 복사하여 file2 생성

 cp file dir: 파일을 디렉토리로 복사

 cp -r dir1 dir2: 디렉토리 복사

 

 rm: 파일 삭제

 

 mv: 파일 이동 (파일 이름을 변경할 때도 쓰임)

 

 

 

trainer 3

 

 w: 서버 정보와 함께 사용자 정보를 자세히 알려줌

 (서버의 현재 시각, 서버 부팅 이후 시스템 작동시간, 서버 접속자 총 수, 접속자별 서버 평균부하율, 접속자별 계정/접속 TTY/접속 IP/로그인 시각/CPU 사용정보, 접속자별 현재 사용자 명령어 정보)

 

 finger: 사용자 정보 출력

 -l 옵션: 멀티라인 형식으로 사용자 홈 디렉토리, 집 전화번호, 로그인 쉘, 메일 상태 등과 함께 -s 옵션으로 보이는 정보 출력

 -s 옵션: 사용자의 로그인 이름, 실제 이름, 터미널 이름, 상태, idle 시간, 로그인 시간, 사무실 위치, 사무실 전화 출력

 

 tty: 자신의 터미널 확인

 

 ifconfig: 네트워크 인터페이스 설정 확인, 주로 IP 주소를 확인하는데 사용

 

 write: 로그인 중인 특정한 사용자에게 메시지를 전달

 

 wall: 모든 로그인된 사용자들에게 메시지를 전달

 

 

 

trainer 4

 

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 : 임시로 파일을 저장하는 디렉토리 (누구나 이 디렉토리에 파일 생성 가능)

usr : 다양한 응용 프로그램들이 설치되어 있는 곳

var : 시스템 운영 중 생성 되는 각종 임시 파일과 외부 접속에 대한 로그 파일

 

 

 

trainer 5

 

 whoami: 자신의 기본 정보

 

 id : 자신의 자세한 기본 정보

 

 /etc/passwd: 서버의 모든 사용자들의 정보

 

 uname -a: 리눅스의 커널 버전

 

 cat /etc/*release : 설치된 OS의 버전

 

 rpm -qa : 설치된 패키지 정보


 cat /proc/cpuinfo : cpu 정보

 

 

 

trainer 6

 

 cat: 파일 내용 출력 (-n 옵션: 행 번호 표시)

 

패스워드 파일 정보

사용자명:패스워드(암호화된 문자열):사용자 계정 uid:사용자 계정 uid:사용자 계정 이름:사용자 홈 디렉토리:사용자 계정 로그인 쉘

 

 

 

trainer 7

 

 tar: 파일을 묶는 것(archive)

 gzip: 파일을 압축(compress)

 

 ※ 리눅스 압축 확장자
 tar : tar 프로그램을 사용하여 압축된 파일 (cvf: 합치기, xvf: 해제하기)
 gz : gzip 프로그램을 사용하여 압축된 파일 (-d: 파일 압축 해제)
 tar.gz : tar 프로그램으로 합친 후 gzip으로 압축한 파일
 tgz : tar.gz와 동일

 

 

 

trainer 8

 

 cat > file: 파일 생성

 

 cat >> file: 파일의 끝에 내용 추가

 

 

 gcc -o 프로그램이름 소스파일이름: c언어 컴파일

 

 절대경로 또는 상대경로(./프로그램이름)을 사용하여 파일 실행

 

 

 

trainer 9

 

 uid: user id, gid: group id, groups: 현재 속한 그룹

 

 파일 권한

 순서대로 user, group, others 권한 (소유자 권한, 그룹 사용자 권한, 기타 사용자 권한)

 rwx는 파일의 권한을 나타냄 (r: read, w: write, x: excute)

 

 

 

 

trainer 10

 

 Local 해킹 : 관리자 권한(root)를 얻고자 시도
 Remote 해킹 : 일반 아이디를 얻을때
 SetUID : 일시적으로 자신의 ID를 변경하는 것 (잠시동안 root 권한을 가질 수 있음) (s)

 ※ passwd 파일에는 SetUID가 걸려있음

 

 find / -perm -4000 : 서버 전체에서 SetUID가 걸린 파일 찾기

 -perm : 권한과 일치하는 파일을 찾는다
 -name : 이름과 일치하는 파일을 찾는다
 -user : 유저와 일치하는 파일을 찾는다
 -group : 그룹과 일치하는 파일을 찾는다

 

 

 

728x90

'CTF > 시스템' 카테고리의 다른 글

해커스쿨 FTZ level5  (0) 2020.08.15
해커스쿨 FTZ level4  (0) 2020.08.08
해커스쿨 FTZ level3  (0) 2020.08.06
해커스쿨 FTZ level2  (0) 2020.08.01
해커스쿨 FTZ level1  (0) 2020.07.23