INTRUDED.NET - Wargames : Leviathan Level2
WarGeme/Intruded.net 2010. 8. 31. 17:59 Posted by 알 수 없는 사용자Access:
ssh: leviathan.intruded.net
port: 10101
username: level2
ssh: leviathan.intruded.net
port: 10101
username: level2
레벨 2로 접속을 하고, 홈 디렉토리의 내용을 살펴보았습니다. 이번에는 홈디렉토리에 특별한 것이 전혀 보이질 않습니다. 숨겨진 패스워드 파일에는 레벨 1에서와 같이 레벨 2의 패스워드가 들어있구요. 루트 디렉토리의 내용을 보니 워게임이라는 디렉토리가 보입니다. 주저없이 가서 살펴보았습니다. 그 안에는 setuid bit가 설정 된 파일들이 있습니다.
더 자세히 보기 위해 'ls -al' 명령으로 살펴보겠습니다.
여기서 필요한 파일은 당연히 check가 될 것입니다. 이 파일을 이용하면 레벨 3의 권한을 얻을 수 있을 것으로 예상됩니다. 실행을 해 보니 패스워드를 입력하는 곳이 보이고, 1234를 입력했을 때 잘못된 패스워드라는 문구를 출력하며 프로그램이 종료됩니다. 일단 디버깅을 해 보겠습니다.
<main+133> 에서 strcmp 함수를 호출하여 비교하는 것을 볼 수 있습니다. setuid 함수도 보이고 system 함수도 보이네요. 일단 디버깅은 잠시 미뤄두고 좀 더 쉬운 방법으로 몇 가지 더 조사를 해 봐야겠습니다.
strings 명령으로 이 프로그램에 어떤 문자열들이 있는지 알아보겠습니다.
"password:" 밑에 "/bin/sh"도 보이네요. 패스워드를 맞추게 되면 아마도 레벨 3의 쉘을 얻을 수 있나 봅니다. 그리고 가장 밑에 "secret", "love"라는 문자도 보입니다. 설마...(?)
역시나 아니네요...-_-;; 항상 쉽게쉽게 가고 싶다는...ㅋ;;
다음으로 check 파일을 vi 에디터로 열어서 헥스모드에서 한 번 살펴보겠습니다. 바이너리 파일을 vi 에디터에서 헥스 모드로 전환하는 명령은 "%!xxd" 입니다.
헥스 모드로 전환 되었습니다.
그럼 이제 가장 궁금한 "password"를 검색해 보겠습니다.
앗, 조금 전에 보았던 "secret" 과 "love"가 보이고, 다른 문자들이 더 보이네요.
주저하지 않고 써 보겠습니다.
쉘이 떳습니다. euid가 레벨 3으로 설정되어 있네요. 각 레벨의 홈 디렉토리에는 숨겨진 패스워드 파일이 있던걸 기억하시겠죠?
'WarGeme > Intruded.net' 카테고리의 다른 글
INTRUDED.NET - Wargames : Leviathan Level5 (0) | 2010.09.01 |
---|---|
INTRUDED.NET - Wargames : Leviathan Level4 (0) | 2010.09.01 |
INTRUDED.NET - Wargames : Leviathan Level3 (0) | 2010.08.31 |
INTRUDED.NET - Wargames : Leviathan Level1 (0) | 2010.08.31 |
INTRUDED.NET - Wargames (2) | 2010.08.31 |