nemo의 이야기
공격을 하기 위해 우선 권한을 가자고 있는 파일을 찾아야되다. 우선 ls -al 명령어를 사용해서 파일을 확인한다. leviathan5라는 파일을 확인할 수 있다. 그러면 이제 ltrace를 사용하여 leviathan5 파일을 분석해 보자 분석해보면 fopen으로 /tmp/file.log를 읽어들이는 걸 확인할 수 있다. 그러면 /tmp 에 file.log라는 파일을 /etc/leviathan_pass/leviathan6 을 링크를 걸어주면 해결될 것이다. 그러면 ln 명령어를 써서 링크를 걸어주면 된다. 그럼 이제 leviathan5를 실행시켜 보자 패스워들를 확인할 수 있다.
파일을 확인하기 위해 #> ls -al .trash 디렉터리가 보일 것이다. 디렉터리 안에 파일을 확인하면 bin이라는 파일이 확인 될것이다. 이를 실행하면 이진수 코드를 확인할 수 있다. 이를 10진수로 변환시키면 105 101 107 111 99 52 104 116 105 84 i e k o c 4 h t i T 즉, password는 iekoc4htiT이다
파일을 확인하기 위해 #> ls -al level3 이라는 leviathan4에 권한을 가지고 있는 파일을 확인 할 수 있다. ltrace로 파일을 분석해보면 strcmp 부분에 사용자가 입력한 문자열과 snlprintf라는 문자열을 확인할 수 있다. 이걸로 보아 password는 snlprintf라는 문자열일 것이다. snlprintf를 입력하니 쉘을 넣을 수 있었다. 이제 level3파일을 실행해서 입력해 보면 vuH0c00x6m이라는 패스워드를 얻을 수 있다.