setUID를 이용한 권한 상승.
what's setUID?
일시적으로 자신의 ID를 변경하는 것.
각 유저의 ID 초기값은 다음과 같다.
일반 유저 | root | |
UID | 1000 | 0 |
GID | 1000 | 0 |
setUID권한이 있으면 755에 4가붙어 4755 'rws'r-xr-x 로 표현.
'rws' (setUID 권한이 有) 이면 setuid, setgid 코드가 정상 작동하게된다.
[예제]
backdoor 실행 조건
- setUID 권한이 있어야함. (따라서 su chmod , su chown root, chgrp root 를 통해 UID와 권한설정 rws)
- 파일 소유권한이 setuid , setgid의 argument(이 예제에서는 '0')와 같아야함
위 권한이 없으면 일반사용자 권한 그대로 실행됨. (setuid, setgid 권한이 없는 경우 or 파일 소유권한이 argument와 다른경우)
안철수 연구소 ->국방부 -> 삼성전자 레드팀
-more 명령어
위에서 아래 방향으로 파일을 읽어 화면단위로 출력하는 명령어.
실행파일 'more' 내에 setuid, setgid 코드가 포함되어있다.
shadow는 암호화된 비밀번호를 담고있는 파일로 소유권한은 'root' 소유 그룹은 'shadow'이다.
/usr/bin/more
more /tec/shadow ==> root 권한이 없을경우 실패 (permission Denied)
chmod 4755 more // rws 'setUID'권한 부여
more /etc/shadow ==> 정상 출력
'Low Level > 시스템 보안' 카테고리의 다른 글
침해사고 대응 절차 (0) | 2020.09.09 |
---|---|
Backdoor (0) | 2020.09.09 |
슈퍼 데몬 (0) | 2020.09.09 |
[Linux] 임의 관리자 계정 생성 (0) | 2020.09.09 |