티스토리 뷰

FTZ training

FTZ training 10

AI의 호흡 2018. 12. 27. 10:00

이번 시간에는 마지막으로 local해킹 시 핵심이 되는 SetUID에 대해 알아봅시다.

local 해킹에는 두 가지가 있습니다.


첫 번째는 Remote해킹

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


두 번째는 Local해킹

해킹하고자 하는 서버에 일반 계정을 가지고 있을 때 권리자 권한을 얻고자 시도하는 것


Remote해킹 방법에는 여러가지 방법이 있습니다.

무작위로 아이디와 비밀번호를 입력하여 접속하는 방법에서 부터, 데몬의 취약점을 공략하여 접속하는 방법,

심지어 게시판이나 방명록을 이용하여 접속하는 방법까지 방법은 수십가지가 넘습니다.


중요한 것은 Local해킹인데 그럼 어떻게 관리자 권한을 얻을 수 있을 것인가?

해답은 바로 SetUID에 있습니다. 우리는 이 SetUID가 걸린 파일을 조작하여, 권리자 권한을 얻을 수 있게 됩니다.


SetUID란 무엇인가!

Set이란 변경하다란 뜻을 가지고 있고 UID는 User ID의 약자입니다.

ID를 변경한다. 즉, 일시적으로 자신의 ID를 변경하는 것을 말합니다.


자신의 암호를 변경하는 passwd파일에 루트 권한의 SetUID가 걸려있어서, 

일반 사용자들이 그 passwd파일을 실행하는 동안에는 "루트로의 일시적인 아이디 변경"이 되는 것입니다.


1. SetUID는 파일에 걸리는 거구나

2. SetUID가 걸린 파일을 실행하면 나의 아이디가 변경되는구나

3. 파일의 실행이 끝나면 다시 원래의 아이디로 돌아오는구나


SetUID가 걸린 파일은 passwd하나가 아닌 수십개가 됩니다.

이 SetUID가 걸린 파일이 무엇인지 알아봅시다.


ls -al /usr/bin/passwd를 입력하면 아래와 같이 출력합니다.

-r-s--x--x 1  root  root   22312 Sep 26   1999 /usr/bin/passwd


여기서 s가 나오는데 이 s가 SetUID를 의미합니다.

 s가 x를 포함하고 이어 x의 부분에 s가 들어가 있습니다.


find / -perm -4000

/에서 부터, 적어도 SetUID가 걸린 모든 파일을 찾아라


4000앞에 붙은 -가 "적어도"를 의미하고 -perm은 "권한을 찾겠다" 

4가 SetUID이고 000은 rwx를 의미합니다.


//find명령에 대해서

옵션

-perm : 권한과 일치하는 파일을 찾는다. 

-name : 이름과 일치하는 파일을 찾는다. 

-user : 유저와 일치하는 파일을 찾는다.  

-group : 그룹과 일치하는 파일을 찾는다.





'FTZ training' 카테고리의 다른 글

FTZ training 8  (0) 2018.12.27
FTZ training 7  (0) 2018.12.26
FTZ training 6  (0) 2018.12.26
FTZ training 5  (0) 2018.12.26
FTZ training 4  (0) 2018.12.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함