Psalm

Level 19 본문

Wargame/Nebula

Level 19

hkhkhkh 2024. 8. 19. 16:23
반응형

 

부모 프로세스의 pid의 파일 소유가작 root이면 쉘을 실행한다.

 

 

/proc 디렉터리를 보면 다양한 프로세스가 실행되고 있다. 이 중 파일 소유자가 root인 프로세스가 이 프로그램을 실행하면된다.

 

이 중 pid가 1인 init 프로세스를 이용해서 쉘을 획득할 것이다.

 

부모 프로세스가 자식 프로세스보다 먼저 종료되면 init프로세스가 자식 프로세스의 부모 프로세스가 된다.

 

이 점을 이용해서 fork 함수를 이용해 코드를 짠다.

 

<shell.c>

 

 

실행을 해주면 /tmp/shell 파일이 생겨나고, 실행해주니 쉘이 실행된다.

 

 

하지만 uid는 여전히 level19로 실행되고, mount로 확인해보니 /tmp폴더에서 nosuid가 설정되어 있다.(setuid가 걸려있어도 무시됨)

 

그래서 /home/flag19/로 경로를 바꾸어 다시 실행해보니 권한을 획득할 수 있었다.

 



반응형

'Wargame > Nebula' 카테고리의 다른 글

Level 18  (0) 2024.08.17
Level 11  (0) 2024.08.16
Level 17  (0) 2024.07.28
Level 16  (0) 2024.07.28
Level 15  (0) 2024.07.28
Comments