R's Hacking Daily Log

Leviathan5 -> Leviathan6 본문

OverTheWire/Leviathan

Leviathan5 -> Leviathan6

hanhxx 2023. 1. 7. 09:26
Connection : leviathan5@leviathan.labs.overthewire.org -p 2223
username : leviathan5

 

Kali linux - Terminal ] 

./leviathan5 file을 실행해 보니 /tmp/file.log를 찾을 수 없다는 문구가 출력된다. 

ltrace command로 출력된 내용에서는 fopen()을 볼 수 있다.

 

 

fopen() 안에 있는 parameter를 보니, 내용을 읽기 위해 /tmp/file.log를 열어라! 라는 코드이다.

즉 ./leviathan5는 /tmp/file.log 내용을 읽는 역할을 하는 것. 

그렇기 때문에 /tmp/file.log라는 이름의 파일이 있어야 하는 거다..!!

 

 

그리고 한 가지 더. 

./leviathan5는 owner가 leviathan6이고 owner에게 setuid가 설정되어있기 때문에

이 파일을 실행할 때는 잠시나마 leviathan6로 권한이 바뀌게 된다. 

 

 

1. leviathan6로 권한이 바꿨을 때, leviathan6가 읽을 수 있는 파일 내용을 연결해 오자.

2. 그 내용을 꼭 있어야 하는 /tmp/file.log로 연결하자.

ln command를 이용하여 /etc/leviathan_pass/leviathan6 file과 /tmp/file.log를 연결한다. 

 

 

간단히 말하자면,

/tmp/file.log는 이름이 /tmp/file.log일 뿐 /etc/leviathan_pass/leviathan6을 가리키는 link역할을 한다. 

다른 사이트로 바로 가기 위해 걸어두는 링크 삽입 같은 거랄까(OoO)

 

 

leviathan6의 password가 들어있는 파일을 연결하고 나서, ./leviathan5를 실행하면

/etc/leviathan_pass/leviathan6에 직접적인 접근을 하지 않고도 내용을 출력시킬 수 있게 된다. 

'OverTheWire > Leviathan' 카테고리의 다른 글

Leviathan7 -> Leviathan8  (0) 2023.01.07
Leviathan6 -> Leviathan7  (0) 2023.01.07
Leviathan4 -> Leviathan5  (0) 2023.01.07
Leviathan3 -> Leviathan4  (0) 2023.01.06
Leviathan2 -> Leviathan3  (0) 2023.01.06
Comments