목록Wargame/Narnia (3)
농소
이어서 level 2문제를 풀어보죠 두번째 인자를 이용해 eip를 변조하여 쉘코드를 실행하게 만드는 간단한 오버플로우 문제네요 우선 c로 볼 때 buf 값이 128이라 128만 채우면 되는줄 알았지만 gdb로 본 결과 eip까지 도달하기 위해선 140byte의 공간을 사용해야하네요 쉘코드 삽입과 eip에 쉘코드 주소를 넣어줍니다. 16바이트씩 주소를 변형해가면서 실행한 결과 쉘이 실행되고 eui가 변형된것이 확인이 되었습니다. 비밀번호를 알았으니 다음단계로 가볼게요
level1 - > level2 시작해보겠습니다 이번에도 c파일을 열어서 무슨 취약점이있는지 봅시다. 환경변수 egg변수의 값이 null이면 종료되고 아니라면 egg변수값을 가져와 실행을 하네요.그렇다면 egg환경변수에 쉘코드를 작성해서 실행시키면 될 것 같습니다. 이런식으로 egg변수에 쉘코드를 넣고 실행 시켜주었습니다.그런데 왜인지는 모르겠지만 쉘은 실행이 되었지만 권한상승이 안되었네요이럴경우 방법은 2가지가 있습니다 1. 쉘코드 전 setreuid를 추가해 준다. 2. 쉘코드가 아닌 cat코드를 삽입하여 비밀번호를 본다. 두가지 중 무엇을 하든 자기가 편한걸 선택하시면 되지만저는 연습도 할겸 이 2가지 방법을 모두 해보도록 하겠습니다. 1. 쉘코드앞에 setreuid를 추가 xor eax, eax ..
leviathan 다음으로 narnia라는 워게임을 해보겠습니다. 난이도는 10중에 2로 입문자 들도 쉽게 할 수 있는 난이도 인것 같네요 데이타는 /narnia에 있다고하고 여기에는 안나와있지만 password는 /etc에 존재했습니다.자 이제 시작해 보도록 하겠습니다. narnia 폴더에 가보면 한번에 10개의 문제가 존재하네요 권한을 한단계씩 올리면서 마지막 문제까지 푸는 방식입니다.친절하게도 풀기 쉽게 c파일까지 같이 주네요 우선 narnia0.c 를 cat으로 보았습니다.val이라는 변수에 0xdeadbeff라는 값이 들어가야 setreuid와 쉘이 실행되네요간단한 오버플로우 문제네요 buf에 20개의 문자를 넣고 다음에 0xdeadbeef를 넣어주면 될듯합니다. 자 넣었더니 생각한대로 권한이 ..