level 8 풀이. pw = "break the world" 일단 hint를 통해 문제를 접근한다. shadow 파일이 있고, 그 파일의 용량이 2700이라는 것을 확인. 한 번 찾아봤다. 앞의 level1 문제에서 자세히 설명했던 find 명령어를 사용해 파일 Size 검색. 간단히 다시 설명하자면, find[찾고자 하는 디렉터리] -size [찾을 용량] [단위]ex) find / -size 2700c 2>/dev/null cf) 단위 b 512byte c byte k kbyte w 2byte 그리고 나서 여러 파일들 중에 가장 익숙한 파일인 found.txt가 보인다.cd 명령어로 이동한 후, cat 사용. found.txt 열어 보니 이런 식으로 구성. level9:$1$vkY6sSlG$6RyU..
# Related site issues
Level7 풀이. pw = "come together" 일단 hint를 통해 문제를 접근한다. 음...................1. 무슨 소리인지 모르겠다.2. ??????????????????3. 2진수 => 10진수 4. 뭔가 아스키 코드를 쓸 거 같다. 일단 level7 파일로 접근. password를 치라고 해서 아무거나 치면 위의 사진처럼 뜬다.보니까 space도 있고, -, _, 존재한다. 무엇을 말하는 것일까.....흠................오래 생각해봤다............... hint 4에서 나타났듯이 아스키를 쓴다고 했으니,-는 1, _은 0이라고 생각해봤다.이걸 2진수로 나누어 보면 1101101(109), 1100001(97), 1110100(116),1100101(1..
Level6 풀이. pw = "what the hell" 일단 hint를 통해 문제를 파악한다. 처음에 접속하면 뜨는 화면인데, 좀 당황스러웠다. 아무거나 눌러보니 이 상태에서 연결이 끊긴다. 그래서 다시 접속하고 파일 목록을 파악하기 위해 ls-al 명령. 위의 화면처럼 파일 목록에 password가 존재해서 cat password를 명령하니 다음 단계 비밀번호가 나오면서 문제 풀이가 끝난다. cf) ???????.... 이런 느낌..
Level 5 풀이. pw = ''what is your name?" 일단 문제를 풀기 위해 hint를 본다. 간단히 요약.1. /usr/bin/level5라는 program이 존재.2. level5를 실행하려면 /tmp 디렉터리 level5.tmp에 임시 파일 생성. 그럼 일단 /level5로 이동. tmp 폴더를 보니까 level5라는 파일이 없다. 아마 임시 파일이라 그런 듯 하다.일단 /tmp 부분에 level5.tmp 파일 생성 후 level5를 실행시키면 tmp에 생길 것 같다.한 번 시도 해보겠다. cat > 명령어로 level5.tmp 파일을 생성.ls -al 명령어로 /tmp 디렉터리 파일 내용을 보면 level5.tmp가 존재. 보다시피 level5.tmp를 보면 임시 파일이 존재. 사..
Level 4 풀이. pw = "suck my brain" 일단 항상 힌트를 통해 문제를 접근해야 되니 hint를 찾아본다. 위의 이미지가 뜨는데 BackDoor가 있다는 것은 누군가가 서버를 지켜 볼 수도 있다는 뜻. 일단 finger 서비스로 인해 BackDoor가 실행되고 있다.정확히 전부는 다 알지 못하지만, 우리가 알 수 있는 건 user는 level5.server는 /home/level4 ~~~~를 통해 BackDoor를 한다는 것을 예측 할 수 있다.먼저 /home/level4 ~~~~로 이동. 근데 확인해보니 BackDoor라는 표시는 없다. 그래서 우리가 임의로 cat를 이용해 친숙한 c로 BackDoor를 만들어야 한다. 간단히 cat >을 이용해서 BackDoor.c를 생성하고, C코..
level 3 풀이. pw = "can you fly?" 일단 항상 문제를 접근하기 위해서는 cat hint를 쳐서 힌트를 찾아봐야 한다. 일단 갑자기 hint의 길이가 길어졌다. C를 기반으로 한 프로그램 소스가 등장했다.일단 int main부터 차례대로 보자면,1번째 int main ~~~는 main이 어떤 값을 받았다는 뜻.2번째 char ~~~~는 cmd 변수에 100칸을 할당해주는데 char 형으로 100byte 변수.3번째 if ~~~~~는 argc변수가 2가 아닐 때 if 문을 실행한다.(!가 있으니 반대).4번째 printf ~~~~는 (auto ~~~문구를 출력)5번째 printf ~~~~는 (usage: ~~~~host라는 문구를 출력)6번째 exit ~~~는 말 그대로 코드 밖으로 나..
Level 2 풀이. pw = " Hacker or cracker" 일단 cat hint를 통해 힌트를 찾아본다."텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데..." 라는 문구가 등장.일단 SETUID가 걸린 부분을 찾기 위해 명령어를 사용.모양이 텍스트 파일 편집이라고 하니 마치 VI 편집기 같다. Find 어쩌구 저쩌구 하는 명령어는 level 1 풀 때 자세히 설명했다./usr/bin/editor 이라는 것이 나타났는데, 해석해보자면,/usr/bin/editor에 level3의 권한을 가진 SETUID가 존재한다는 뜻. 일단 저기로 이동해야 한다. editior가 정확히 뭘 의미하는지 몰라서 확인해보니 말 그대로 editor 였다는 것을 확인. 위에서 나타났듯이 editor는 VI edi..
level 1 풀이. 일단 Cat hint로 문제 파악해봤다.SETUID가 걸린 파일을 찾는 문제이다.일단 SETUID란 파일 실행 시 다른 권한으로 파일을 실행시켜준다는 의미이다. 그래서 FIND 명령어를 사용해서 SETUID 걸린 파일을 찾아야 한다. Find / -user level2 -perm -4000 2>/dev/null cf) find = 파일을 찾을 때 쓰는 명령어-user level2 = level2 권한.-perm 4000 = perm은 permission으로 찾으라는 의미. permission은 권한이라는 뜻으로 해당 파일 or 폴더의 권한을 의미.4000에서 4는 SetUID, 000은 rwx.2>/dev/null = 2는 접근 거부, 즉 Error message 의미./dev/nu..