Information Security
[Training] 5-10 본문
training 5
리눅스의 커널 버젼이 높을수록 속도도 더욱 빨라지고, 안전성도 높아진다.
** 커널을 이용한 해킹도 많이 있기 때문에 서버에 아이디가 있는 상태에서 정보를 캐낼 때
가장 먼저 이 커널 버젼을 봐야 한다
--> 지금 서버의 버젼은 레드헷 리눅스 9.0
--> 지금 서버 사양은 Inter(R) Celeron(R) CPU 2.40GHz
training 6
cat 파일이름 <- 파일의 속내용을 화면으로 뿌려주는 역할
패스워드 파일 <- 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일
* 사용자가 어떤 아이디, 어떤 암호를 이용하여 로그린하는지, 어떤 그룹에 속해있는지, 이름은 무엇인지 등 모든 정보 저장
root : x : 0 : 0 : Admin : /root : /bin/bash
: <- 필드를 구분해주는 문자
1) root
서버에 로그인할 때 사용되는 아이디(계정)
2) x
원래는 패스워드가 있는 곳
But, 해커들에게 위험. -> 리눅스 6.0 이후 사용자들의 패스워드만 모아서 /etc/shadow 라는 파일을 만듦.
*쉐도우 파일 관리자 권한이 없으면 볼 수 없음
3) 0
root = 0
컴퓨터가 보기 쉽도록 root를 0으로 표시
4) 0
해당 사용자가 속해있는 그룹
root면 0 : 0
5) Admin
사용자의 이름
6) /root
사용자가 로그인에 성공했을 때 기본으로 위치하게 되는 디렉토리
7) /bin/bash
사용자가 처음 로그인했을 때 실행되게 할 프로그램
training 7
tar명령은 파일을 압축하지 않고 합친다. 다시 기존 파일들을 복구할 때 속도가 빠르다.
gzip은 한 번에 1개의 파일만 압축할 수 있기 때문에 tar명령을 한 후 그 파일을 압축해준다.
training 8
'>'
리다이렉션(방향을 전환한다)
나는 왼쪽에서 출력되는 것을 받아서 오른쪽의 입력으로 보내버리겠다.
text.txt 파일이 있는 상태로 다시 cat > test.txt 를 입력하게 되면 원래의 파일은 삭제된다.
리다이렉션을 두 번 써서 cat >> test.txt 를 입력하여 원래의 파일을 보존하고 새로운 내용을 추가할 수 있다.
* 아무런 에러가 없었다면, 성공적으로 컴파일 된 것!
리눅스에서는 그 파일이 있는 절대경로를 모두 입력시켜줘야만 실행이 된다. ( 루트(/)부터 )
리눅스에선 '.' 이 "현재 디렉토리" 의미
=> " ./program.exe" 라고 입력하면 절대경로를 쓰지 않아도 된다.
training 9
r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
training 10
해킹에는 두 가지가 있다
Local 해킹 : 해킹하고자 하는 서버에 일반 계쩡을 가지고 있을 때, 관리자 권한 (root)를 얻고자 시도하는 것
Remote 해킹 : 여러가지가 있다.
무작위로 아이디와 비밀번호를 입력하여 접속하는 방법에서부터, 데몬의 취약점을 공략하여 접속하는 방법. 게시판이나 방명록을 이용하여 접속하는 방법 등
Local 해킹!
SetUID가 걸린 파일을 조작하여 관리자 권한을 얻을 수 있다.
SetUID: "변경하다"라는 뜻, UID: User ID의 약자
=> 일시적으로 자신의 ID를 변경하는 것
쉐도우 파일은 오직 루트만이 제어할 수 있지만 자신의 암호를 변경하는 passwd 파일에 루트 권한의 SetUID가 걸려 있어서, 일반 사용자들이 그 passwd 파일을 실행하는 동안에는 루트로 일시적인 아이디 변경이 일어나게 되는 것
=> 쉐도우 파일은 구타의 권한이 아닌 루트의 권한으로 변경된 셈
관리자 권한을 획득하는 기법
레이스컨디션, IFS버그, 링크버그, 버터 오버플로우, 포맷 스트링 어택 등
위 사진에 나온 -r-s--x--x 중 s는 SetUID를 의미한다.
저 부분은 x(실행권한)이 있어야 하는 부분인데 s가 x를 포함하고 있기 때문에 s가 표시되었다.
=> /usr/bin/passwd 파일은 root에게 읽기와 실행(s가 x를 포함하기 때문)dl dlTrh, root라는 그룹에게는 실행 권한만 있고, 위를 제외한 사용자들에게도 실행 권한만 있다.
하지만, root에게 SetUID가 걸려있기 때문에 어느 사용자이던간에 저 파일을 실행할 때는 root의 권한을 갖게 된다.
find / -perm -4000
=> / 에서부터, 적어도 SetUID가 걸린 모든 파일을 찾아라
4000 앞에 붙은 - 는 "적어도"를 의미
-perm 은 "권한을 찾겠다" 라는 옵션
4 자가 SetUID 의미
000은 rwx 모두를 의미
level1 level1
'INTERLUDE > System Hacking' 카테고리의 다른 글
[FTZ] Level 8 (0) | 2021.11.04 |
---|---|
[FTZ] Level 5 -7 (0) | 2021.11.02 |
[FTZ] Level 4 - 5 (0) | 2021.10.28 |
[FTZ] Level 1-3 (0) | 2021.09.28 |
[Training] 1-4 (0) | 2021.09.16 |