Whoami는 왜 항상 "루트"를 반환합니까?

Whoami는 왜 항상 "루트"를 반환합니까?

해킹 이후 전용 서버는 whoami명령을 실행한 후 항상 "root"를 반환했습니다. sudo su myUser> 이후에도 whoami"root"를 반환합니다 .

myUser서버에 존재하는 이유는 다음과 같습니다.이 문제 passwd myUser반품Changing password for myUser.

또한 서버에 패키지를 설치할 때 권한은 항상 으로 설정됩니다 root:myUser.

whoami항상 "루트"로 돌아갈 수 있는 경로는 무엇입니까 ?

답변1

whoami그 이유는 바이너리가 setuid 이기 때문일 수 있습니다 root. 를 이용하여 확인할 수 있습니다 stat $(which whoami). 내 시스템에서는 다음과 같습니다.

  File: /usr/bin/whoami
  Size: 30904           Blocks: 64         IO Block: 4096   regular file
Device: 1bh/27d Inode: 13918180    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

setuid가 활성화된 경우 다음과 같습니다.

  File: /usr/bin/whoami
  Size: 30904           Blocks: 64         IO Block: 4096   regular file
Device: 1bh/27d Inode: 13918180    Links: 1
Access: (6755/-rwsr-sr-x)  Uid: (    0/    root)   Gid: (    0/    root)

이 비트의 효과는 바이너리가 이를 실행한 사용자가 아닌 소유자로 실행된다는 것입니다.

를 실행하여 이 설정을 비활성화할 수 있습니다 sudo chmod -s $(which whoami).

(그렇습니다. 이미 많은 분들이 댓글에 작성해 주셨으므로 머신을 완전히 다시 설치해야 할 수도 있습니다.)

관련 정보