- 해킹 Remote 해킹 : 일반 아이디를 얻기 위해 하는 해킹 Local 해킹 : 관리자 권한을 얻기 위해 하는 해킹 SetUID : ID를 변경한다 라는 뜻으로 일시적으로 자신의 ID를 변경하는 것 ( root 권한을 일시적으로 얻을 수 있음 ) - passwd 파일에는 SetUID가 걸려 있음 - find / -perm -4000 / 에서부터 적어도 SetUID가 걸린 파일 찾기 - find 명령 -perm : 권한과 일치하는 파일을 찾는다. -name : 이름과 일치하는 파일을 찾는다. -user : 유저와 일치하는 파일을 찾는다. -group : 그룹과 일치하는 파일을 찾는다.
- 리눅스 사용자 종류 4가지 유저 (User) : 자신을 의미 그룹 (Group) : 자신이 속한 그룹 아더 (Other) : 유저와 그룹을 제외한 모든 사람 루트 (Root) : 절대적인 권한을 가진 사람 - id 분석 uid : User ID gid : Group ID groups : 현재 자신이 속해 있는 그룹 확인 - 파일 분석 1. 유저의 권한 2. 그룹의 권한 3. 아더의 권한 4. 유저 5. 그룹 6. 파일 이름
- 리눅스 파일의 종류 일반 텍스트 파일 : 글자로만 이루어진 파일, 예를들어 확장자가 txt 프로그램 소스 파일 : 컴퓨터 언어로 입력한 파일 , 컴파일이라는 과정을 거쳐 실행 가능하도록 함 - 텍스트 파일 생성법 1. 쉘 프롬프트 상태에서, cat > 파일이름.txt 라고 입력한다. 2. 원하는 내용을 주욱 써내려간다. 3. 컨트럴키와 D키를 동시에 누른다. 4. 수정할 경우 cat >> 파일이름.txt라고 입력후 내용 추가 - 소스 파일 생성법 1. 쉘 프롬포트 상태에서, cat > 파일이름.c 2. 컴퓨터 언어로 내용 입력 3. gcc -o 프로그램이름 소스파일이름 으로 컴파일 - 절대경로는 최상위 디렉토리부터 시작되는 경로, 상대경로는 자신의 위치한 디렉토리를 기준으로 따지는 경로
- 파일 압축하기 tar, gzip 명령을 이용해서 파일을 압축함 - tar 여러 파일 합치기 * tar cvf 합칠파일 합칠 파일들 : 파일 합치기 * tar xvf 해제할 파일 * 옵션 c - Create : 새로운 파일을 만드는 옵션 x - eXtract : 압축을 해제시키는 옵션 v - View : 압축이 되거나 풀리는 과정을 출력하는 옵션 f - File : 파일로서 백업을 하겠다는 옵션 * tar 압축을 하면 합친 파일의 용량이 합친 파일들의 용량의 합보다 더 큼 - gzip 한 파일 용량줄이기 * gzip 파일 이름 : 선택한 파일을 압축 * gzip - d 파일이름 : 선택한 파일을 해제 * tar을 이용해서 여러 파일을 하나로 합치고 gzip을 이용해서 tar로 인해 늘어난 용량을 줄이면..
- 패스워드 파일 분석 패스워드 파일 : 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일 -cat 파일이름 파일의 내용을 출력 1. 로그인할 때 사용되는 아이디2. 패스워드 3. 컴퓨터에 입력되는 사용자 아이디 4. 컴퓨터에 입력되는 그룹 5. 사용자의 이름 6. 로그인에 성공 햇을 때 기본으로 위치하게 되는 디렉토리 7. 처음 로그인 했을 때 실행되게 할 프로그램 (로그인 했을 때 쉘이 실행되는 것)
- whoami 자신에 대한 기본 정보 - id 자신에 대한 자세한 기본 정보 - cat /etc/passwd 서버에서 활동 중인 사람들의 계정 정보 - uname -a 리눅스의 커널버전 * 커널 : 리눅스의 심장부 역할을 하는 파일 * root 권한이란 리눅스나 유닉스에서 모든 파일을 관리하는 절대적인 관리자 권한 - cat /etc/*release 서버에 설치된 OS 버전 - rpm -qa 패키지 정보 - cat /proc/cpuinfo cpu 정보
- 주요 최상위 디렉토리 - bin : 필수적인 리눅스 실행 파일이 들어 있음 ls, rm 등이 모두 bin에 들어가 있음 - boot : 리눅스 부팅 관련 파일, 커널 - dev : 컴퓨터에 설치된 하드웨어에 관한 정보가 파일 형태로 저장되어 있는 디렉토리 - etc : 많은 중요한 파일, 패스워드 파일, 쉐도우 파일, 그 외 대부분의 리눅스 설정 파일 - home : 일반 사용자들의 디렉토리가 들어가는 곳 - lib : 라이브러리 파일 - mnt : mount 명령을 사용하여 마운트 시킨 시디롬, 플로피 디스크등이 들어가는 디렉토리 - proc : 프로세스들이 파일 형태로 저장되는 디렉토리 - root : 일반 사용자의 디렉토리는 home에, 루트의 홈 디렉토리는 root에 저장 - sbin : 기본..
- w 서버에 접속한 유저 목록 출력 - w 분석1. 어떤 아이디로 로그인 했는지 출력2. tty : 콘솔, pts : 터미널3. 접속자의 ip 출력4. 로그인 시간 출력5. 지연 시간 ( 아무런 입력도 하지 않는 시간)6. 각 사용자가 CPU를 사용한 지연시간7. WHAT 필드에 있는 명령이 지연된 시간8. 접속한 사용자들이 현재 어떤 명령을 사용하는지 출력 - finger -l 서버에 접속한 유저 목록을 자세히 출력 - tty 자신의 터미널 확인 - ifconfig 현재 접속한 서버의 ip 출력 - write ID /dev/pts/번호 쪽지 보내기 - wall "내용" 모든 사용자에게 쪽지 보내기
- pwd 현재 경로 출력 - cd .. 경로를 한단계 올림 - cd 디렉토리 경로를 한단계 내림 - cd / 최상위 디렉토리로 이동 - mkdir 디렉토리명 (MaKe DIRectory) 현재 경로에 디렉토리 생성 - rmdir 디렉토리명 (ReMove DIRectory) 디렉토리 삭제 - cp file1 file2 (CoPy) file1을 복사하여 file2로 붙여넣기 - rm 파일 이름 (ReMove) 파일 삭제 - mv file1 file2 (MoVe) file1을 복사하여 file2로 붙여넣기 file1은 사라짐, 주로 파일 이름을 바꿀 때 사용
- 프롬포트 항상 대기상태에서 사용자의 명령을 기다림 [trainer1@ftz trainer1]$ 접속ID 서버 현재위치 - ls 현재 위치를 기준으로 컴퓨터에 설치된 폴더들과 파일들을 보여주는 역할을 하는 명령어 - ls -l 디렉토리와 파일을 구분하여 출력 - 디렉토리와 파일 분석 start.txt : 파일 이름 9월 24 18:37 : 파일 생성 날짜 779 : 파일 용량 trainer1 trainer1 : Permission 맨 앞에 있는 "-rw-rw-r--", "drwxr-xr-x" 에서 맨 앞 문자가 '-'이면 파일, 'd'이면 디렉토리이다. - ls -a 숨겨진 파일 출력 숨겨진 파일은 파일면 앞부분에 "." 이 들어가 있음 보통 파일명 앞에 "."을 붙이면 숨겨진 파일로 변함 - ls -..