일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Autoware
- shadow
- K-shield Jr 10기
- 리버싱핵심원리
- ctf-d
- disk
- swing
- Reversing
- 포렌식
- 모바일프로그래밍
- tar
- 안티디버깅
- Multimedia
- Mobile
- K-sheild Jr
- 침해사고대응
- Android
- 디스크
- ZIP
- John the ripper
- upx
- SW에듀서포터즈
- CodeEngn
- crack
- 써니나타스
- Frida
- 케쉴주
- Interceptor
- 파일해시생성
Archives
- Today
- Total
물먹는산세베리아
setuid란? 본문
* SWING pwnable study
1. SetUID란
- SetUID가 설정된 파일을 실행할 때, 특정 작업을 수행하기 위해 일시적으로 파일의 소유자 권한을 얻게 된다.
- 소유자가 root인 파일에 SetUID 설정 시, 일반 사용자가 그 파일을 실행하게 되면 잠시동안 파일의 소유자 권한인 root의 권한을 빌려온다.
2. SetUID 설정 이유
예를 들어, 계정의 password을 변경하려고 할 때 passwd 명령어도 패스워드를 지정하고, 변경하면 /etc/passwd, /etc/shadow 파일의 내용이 변경된다.
하지만 이에 대한 권한은 root만 갖고 있기 때문에 일반 사용자가 password를 변경할 수 없다. 즉, /etc/passwd, /etc/shadow 파일은 일반 사용자가 권한을 갖고 있지 않기 때문에 비밀번호를 바꿀 수 없다는 말이다.
이때 SetUID를 사용하면 된다.
SetUID bit를 설정하면 일반 사용자가 실행했을 때도 그 파일의 소유자 권한으로 실행되므로 수정작업을 할 수 있다.
3. SetUID 설정 방법
- u + s(user에 SetUID 적용)
- 4000
4. SetUID 설정된 파일, 디렉토리 찾기
- find [경로] -user [소유자] -perm [접근권한]
- 예시: fine / -user root -perm -4000
id 명령어 Set-UID 프로그램화하기
먼저, id의 위치를 검색했고, cp 명령어로 SWING_pwnable 폴더에 복사해왔다.
잘 복사된 것을 확인한 후 chmod(권한 명령어) 4000을 주어 SetUID프로그램으로 활성화시켰다.
Cat 명령어 Set-UID 프로그램화하기