관리 메뉴

IT창고

[Leviathan] Level 1 -> Level 2 본문

WarGame/Leviathan

[Leviathan] Level 1 -> Level 2

방구석여포 2018. 2. 4. 21:36

Leviathan Level1문제입니다.


홈 디렉토리를 보면 어떤 실행파일하나가 있습니다.


시험삼아 바로 cat명령어로 보려했지만 당연이 안되고 check파일을 실행해보면 패스워드가 걸려있음을 확인할수있었습니다.

check파일의 권한을 살펴보면 SETUID가 걸려있는 모습을 보고 권한 상승 기법으로 풀수있지않을까 생각해보았습니다.


우선 디버거를 열어보기전에 ltrace명령어로 한번 확인해보았습니다.



확인해보고 좀 당황스러웠습니다. strcmp함수를 사용해서 C라이브러리로 만들어져서 패스워드하고 비교해서 정답이면 답을 알려주는 프로그램으로 생각이됩니다. 답을 너무 쉽게 찾게 되었네요 사실 이문제가 디버거를 사용해서 찾는 문제인거 같은데 ltrace명령어로 쉽게 찾게 된거같습니다.



ltrace로 정답을 써보니 답을 바로 알려주지않고 쉘로 접속이 되는걸 확인할수있습니다. 정상적으로 프로그램을 실행해서 패스워드를 입력하니 Level 2의 권한을 얻은걸 확인해볼수있습니다. 이 권한을 사용해서 /etc디렉토리안에 Level2 패스워드를 알아보았습니다.


그래도 문제 취지가 디버거를 사용해서 확인해보는것 같으니 일단 확인해보겠습니다.

여기서도 strcmp함수가 있는걸 확인해볼수있었네요.  0x080485a3 <+22>에 옆에 보면 아스키코드표로 해석하면 패스워드값이 보이네요. 

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

[Leviathan] Level 5 -> Level 6  (0) 2018.02.04
[Leviathan] Level 4 -> Level 5  (0) 2018.02.04
[Leviathan] Level 3 -> Level 4  (0) 2018.02.04
[Leviathan] Level 2 -> Level 3  (0) 2018.02.04
[Leviathan] Level 0 -> Level 1  (2) 2018.02.04
Comments