Psalm

Level 11 본문

Wargame/Nebula

Level 11

hkhkhkh 2024. 8. 16. 01:02
반응형

 

length가 1024바이트 이상이면 else문으로 분기한다. else문에서는 getrand함수를 호출해 특정경로에 랜덤 파일을 생성한다.

 

level11의 rsa키를 flag11/.ssh경로에 주입시켜 로그인시 패스워드 없이 들어갈 수 있게 한다.

getrand함수에서는 TEMP 환경변수에 있는 경로에 랜덤파일을 생성 한다.

 

TEMP를 /tmp경로로 지정해준다.

 

 

2048비트의 rsa 키를 생성해주면, /home/level11/.ssh 폴더에 private키와 public 키가 생긴다. 이 public키를 /home/flag11/.ssh 에 복사하는게 목표인데, getrand함수에서 어떤 파일이 생성될지가 관건이다.

 

 

먼저 /home/flag11/.ssh/에 authorized_keys 파일명으로 심볼링 링크를 생성하는 코드를 짠다.

getpid() + 1을 한 이유는 pipe로 rsa 값을 바이너리로 넘겨줄 때 pid가 1 증가하기 때문이다.

 

 

컴파일해주고, rsa 값을 바이너리로 넘겨주면 이렇게 심볼링 링크가 생성된다.

 

 

그리고 ssh로 접속하면 password 입력없이 로그인이 된다.



반응형

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

Level 19  (0) 2024.08.19
Level 18  (0) 2024.08.17
Level 17  (0) 2024.07.28
Level 16  (0) 2024.07.28
Level 15  (0) 2024.07.28
Comments