7. Linux 리눅스 SetUID

Linux 리눅스 SetUID

[guest1@june guest1]$  -> "프롬프트"

 guest1 접속 ID
 june 서버
 guest1 현재위치

프롬프트란 항상 대기상태에서 여러분이 어떤 명령을 내리기만을 기다린다.

ls -asl

-rw-rw-r-- 가장 왼쪽의 문자가 -로 되어있다면 파일 
                                             d로 되어있다면 디렉토리


-------------------------------------------------

해킹(Hacking)


Remote 해킹 :

자신이 해킹하고자 하는 서버에 아이디를 가지고 있지 않을 때, 아이디를 얻고자 시도하는 것을 말합니다.

Local 해킹 :

해킹하고자 하는 서버에 일반 계정을 가지고 있을 때, 관리자 권한(root)를 얻고자 시도하는 것을 말합니다.


Remote 해킹 방법 :

무작위로 아이디와 비밀번호를 입력하여 접속하는 방법에서 부터, 데몬의 취약점을 공략하여 접속하는 방법. 심지어 게시판이나 방명록을 이용하여 접속하는 방법까지 등등 수십가지가 넘습니다. 해커스쿨

중요한건 Local 해킹



SetUID이란 ID를 변경한다. 일시적으로 자신의 ID를 변경하는 것

1. SetUID는 파일에 걸리는 것이다.
2. SetUID가 걸린 파일을 실행하면 나의 아이디가 변경된다.
3. 파일의 실행이 끝나면 다시 원래의 아이디로 돌아온다.

지금까지 발견된 기법은 레이스컨디션, IFS버그, 링크버그, 버퍼 오버플로우, 포맷 스트링 어택등등 많을 것이다.

ls -al /usr/bin/passwd (SetUID 걸린거 확인 r-s)

root 에게 SetUID가 걸려 있기 때문에 어느 사용자이던간에 저 파일을 실행할 때는 root의 권한을 갖게된다.

find / -perm -4000 (/ 에서 부터, 적어도 SetUID가 걸린 모든 파일을 찾아)
4000앞에 붙은 -가 바로 "적어도"를 의미, -perm은 "권한을 주겠다." 그뒤에 4자가 SetUID를 의미, 000은 rwx 모두를 의미

find 명령어 옵션

-perm 권한과 일치하는 파일을 찾는다.  ex) find / -perm 4755
-name 이름과 일치하는 파일을 찾는다. ex) find / -name cat
-user   유저와 일치하는 파일을 찾는다. ex) find / -user mmung2
-group 그룹과 일치하는 파일을 찾는다. ex) find / -group guta
hackerschool
동시에 사용할 수 있다.
find / -user root -perm -4000




댓글