본문 바로가기

Pwnable/FTZ

(11)
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 9 로그인하자마자 ls -al과 find / -group level9를 실행해보았다. 아래는 find의 결과이다. $ find / -group level9 2>/dev/null /proc/10693 /proc/10694 /proc/10694/fd /proc/10694/fd/0 /proc/10694/fd/1 /proc/10694/fd/2 /proc/10694/fd/255 /proc/10694/environ /proc/10694/status /proc/10694/cmdline /proc/10694/stat /proc/10694/statm /proc/10694/maps /proc/10694/mem /proc/10694/cwd /proc/10694/root /proc/10694/exe /proc/10694/moun..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 8 level8로 들어오자마자 어김없이 ls -al과 find / -group level8 2>/dev/null을 실행해보았다. ls -al은 별 문제 없어보이고, find의 결과 중에 /etc/rc.d/found.txt라는 것이 보인다. 해당 파일의 내용을 보니 아래의 내용이 36번 반복해서 출력되었다. level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 어디서 많이 본 형태인데, 바로 /etc/passwd에 사용자들의 정보를 저장하는 형태와 같다. 하지만 /etc/passwd는 7개의 필드가 존재하는데, 위의 내용은 총 9개의 필드로 구성되어 있다. 실제 사용자의 패스워드를 저장하는 /etc/shadow 파일이 총 9개의 필..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 7 level6에선 접속하자마자 평소와 다른 화면에 적잖이 당황했는데, level7은 다시 쉘 하나만 나온다. 먼저 level7 디렉토리에서 ls -al을 실행해보았는데, 특별한 점은 없어 보인다. 그렇다면 level7 그룹의 파일을 찾아봐야겠다. /proc는 제끼고, level7 디렉토리도 이상없었기에 제끼면, /bin/level7 파일이 보인다. 권한을 한번 봐야겠다. SetUID가 설정되어 있고, level8 소유의 프로그램이다. 이걸 이용하면 되겠다 싶어서 일단 실행해보았다. 내 패스워드를 입력하라는 건가? 우선 level7의 패스워드를 입력했다. 패스워드 입력하라면서, 갑자기 cat 명령어의 에러가 출력된다. 뭔데요 그래서 이게? 갑자기 cat /bin/wrong.txt 을 왜 실행하는데?? 디버깅..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 6 level6에 로그인하면 여태까지와는 다르게 특별한 출력이 하나 나온다. 이게 뭐지..? 하다가 일단 하이텔로 접속해보았다. 한참 멈춰있다가 서버가 닫혔다며 연결이 끊긴다. 힌트를 다시 보면 텔넷 접속 메뉴에서 사용하던 해킹 기법이라고 나와있다. 실제로 텔넷으로 접속해야 하는게 아니고, 접속 요청을 보냄과 동시에 어떠한 동작을 추가로 실행해주어야 할 것 같다. 먼저 보기에 없는 4번을 입력해보았더니 "잘못 입력하셨습니다. 접속을 종료합니다." 라는 문구가 아주 잠깐 나온 후 프로그램이 종료되고, 접속한 level6 계정도 로그아웃된다. 혹시 세미콜론을 이용해서 명령어를 여러 개 보내야하나 싶어서 4;ls; 를 입력해보았는데 아무 소용 없었다. 입력이 1, 2, 3 인 경우가 아니면 종료하는 프로그램인 것..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 5 Level5로 로그인한 후, 역시나 가장 먼저 ls -al과 find / -group level5 2>/dev/null을 실행해보았다. ls -al은 별거 없었고, find의 결과는 다음과 같았다. proc 디렉토리와 home 디렉토리를 제외하고 /usr/bin/level5가 존재한다. ls -al을 통해 확인해보았다. level6의 권한을 얻어서 비밀번호를 출력해내면 되는 것 같아서 일단 어떤 프로그램인지 알아보기 위해 실행시켜보았다. 아무일도 일어나지 않았다. 디버깅을 하려했더니 권한이 없어서 못한다고 하고 복사를 해오려했더니 그것도 권한이 없다고 나온다. 혹시 어떠한 파일을 만들어내는 프로그램인가 싶어서 find를 이용해 생성됐을만한 파일을 검색해보려 했지만 단서라고 할만한 것을 찾아내지 못했다. ..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 4 level4에 로그인 후, 역시나 ls -al 과 find / -user level5 명령어를 먼저 실행시켜 보았다. 하나도 나오지 않았다. 혹시나 싶어 level4 그룹의 파일들로 검색하면 나올까 싶어 -group level4 옵션을 이용해서 한번 더 검색해보았다. 위와 같이 결과가 나오는데, /proc 디렉토리는 Memory에 커널이 적재된 후의 메모리의 정보들을 긁어와서 하드웨어정보나 프로세스 정보들을 파일로 관리하는 디렉토리 라고 한다. 왠지 건들면 안될 것 같기에 패스하고, 맨 아래의 /home/level4 디렉토리는 level4로 로그인하자마자 나오는 홈 디렉토리이다. 이 곳엔 별 이상이 없었기에 패스하고, 중간에 /etc/xinetd.d/backdoor 라는 파일이 있다. ls -l을 이용해..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 3 벌써 두 문제나 해치우고 level3에 와있다. 접속하자마자 ls -al과 find / -user level4 -perm -4000 2>/dev/null을 입력해보았다. ls -al은 특별한 게 없었고, find 명령의 결과는 다음과 같았다. [level3@ftz level3]$ find / -user level4 -perm -4000 2>/dev/null /bin/autodig 해당 파일을 ls -al로 출력해보았다. 역시나... setUID가 설정되어 있고, level4의 파일이며 level3이 사용할 수 있다. 해당 파일을 이용해서 level4의 권한을 얻어 my-pass를 이용하면 될 것 같다. 무슨 파일인지 실행시켜보기로 한다. 이 때, autobig은 bin 디렉토리에 들어있기 때문에, 명령어..
[ProjectH4C] [Write-up] 해커스쿨 FTZ Level 2 level2에 접속 후, ls를 입력하면 level1과 동일하게 나온다. level1을 통해 어느정도 감이 잡혔다고 생각이 들어서, hint는 마지막의 마지막까지 보지 않을 생각이다. 일단 SetUID부터 확인해보았는데, level1 때의 출력 결과와 같다. ExecuteMe를 제외한 나머지 파일들은 특별한게 없어보이고 ExecuteMe는 level1에서 사용했으니 열쇠가 되진 않을 것 같다. 하기야 level1과 접근 방법이 똑같을 리가 없겠지... 우선 해당 디렉토리에 있는 것들부터 하나씩 확인한다. tmp에는 역시 아무것도 없고, public_html 에는 index.html이 하나있다. index의 내용을 출력해 보니 다음과 같았다. [level2@ftz public_html]$ cat index..