본문 바로가기

보안/[War Game] 해커스쿨 FTZ

(6)
level 10 ​ 10. level 10 접속 후 hint를 확인한다. 공유 메모리(Shared memory)를 건드는 문제이다. key_t의 값이 주어진 것으로 모아 IPC (Inter Process Communication) 에 대한 내용으로 추측된다. 운영체제 시간에 Shared Memory를 배웠으므로 내용을 복습해본다. Shared Memory란 메모리 상의 특정 공간에 여러 프로그램이 동시에 접근하여 데이터를 주고 받을 수 있느 IPC 기법 중 하나로 다음과 같은 특징을 가지고 있다. 1. 가장 빠른 수행 속도 2. Message Passing IPC들과 달리 불필요한 memory copy 가 발생하지 않음 3. Shared memory 에는 한번에 하나의 프로세스가 접근 하고 있음을 보증해야함 관련된 함수..
level 9 9. level9 로그인 후 hint 를 확인 한다. 힌트의 코드를 살펴보면 char buf[10]와 char buf2[10] 가 있고 stdin 으로부터 40btye 이하를 buf 배열로 받는다. buf2 의 2 chracter를 "go" 와 비교해 같으면 3010으로 uid 가 재설정 되고 권한을 얻는다. 버퍼 오버플로우를 이용하여 buf 로 입력된 글자에서 go라는 글자를 buf2 로 입력 하는 의도로 출제된 문제이다. 우선 char buf[10] 에 overflow를 발생시키기 위해 go를 10글자 이상으로 넣는다. 그럼 Good Skill! 문구와 함께 level10 쉘 권한으로 변경되고 my-pass 명령어를 통해 비밀번호를 획득한다. 유추는 하였지만 정확한 이유는 모르기 때문에 버퍼 오버 플..
level 8 ​ 8. level8 접속 후 hint를 확인 해 본다. find 명령어를 통해 용량이 2700인 파일을 찾아보기 위해 man 명령어를 통해 find로 용량을 검색하는 옵션에 대해 알아본다. 크기가 2700byte, 2700 two-byte words인 파일들이 잡혔다. 이 파일들을 살펴본다. 패스워드에 대한 단서는 아닌 것 같다. 그룹이 level8로 되어 있는 의심이 가는 파일이다. 파일내용을 확인하면 level9의 shadow 로 추정되는 파일이다. 위 내용을 shadow 파일 내용에 빗대어 분석해보면 1. Login Name : level9 2. Encrypted : $......0wps. 3. Last Changed : 11040 (1970년 1월1일부터 패스워드가 수정된 날짜의 일수) 4. M..
level 7 7. level7 level7에 접속 후 hint를 확인한다. ​ 현재로써는 힌트 말고 알 수 있는 방법이 없으므로 level8의 권한을 가진 파일을 찾아본다. 레벨8의 권한을 가진 /bin/level7이 소유자에 대해 setUID가 걸려 있음을 확인할 수 있다. ​ /bin/level7 을 실행시켜보면 패스워드를 입력하라는 글자가 나온다. 아무 패스워드나 작성해보면 /bin/wrong.txt 가 출력되야한다. 하지만 wrong.txt 파일은 없고 /bin 디렉토리는 level7 유저가 쓰기 권한이 없으므로 앞서 실습한 덤프 파일에 덮어쓰기도 사용하지 못한다. 검색 결과 해당 문제는 오류가 있는 것을 확인하였다. 힌트에서 주어진 2진수를 표현 하는 내용인 것으로 추측되어 변환 시켜 보면 1101101 1..
level 6 6. level 6 레벨 6에 접속하면 다음과 같은 메세지를 볼 수 있다.엔터를 누르면 ​ 다음과 같은 화면이 나오고 1,2,3 을 제외한 다른 명령을 입력하면 putty 접속이 종료된다 ​ ​ 접속 중 이라 뜨고 얼마 뒤 putty 창이 종료된다 이는 윈도우 CMD창에서 nslookup 으로 위 IP 를 검색해보면 알 수 있다. 하이텔,나우누리,천리안의 PC통신 BBS 서비스가 폐지되었기 때문이다 Trying 을 시도하는 도중 ctrl+c을 입력해도 종료된다. 선택 창에서는 ctrl+c 가 먹히지 않는다. ​ 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이 무엇인지 모르니 확인해본다. => bbs화면은 가짜 모듈에 해당하고 이 메뉴를 우회 할 수 있는 무엇인가를 찾는다. 프로그램을 우회 ..
해커스쿨 FTZ level 1 ~ 5 ※해커스쿨의 FTZ 서버는 접속이 불안정하여서 접속이 안될 경우가 있다. 이번 실습은 로컬환경에서 VM으로 해커스쿨 서버를 구동하여 putty 로 접근하여 문제풀이를 진행하였다 로컬 설치 : http://noplanlife.com/?p=606 ​ 1. level1 ls 에서 hint파일을 찾은 후 내용을 확인한다. man find 명령어에서 옵션확인 틀렸던 부분은 -perm 4000이 아닌 -perm -4000 이 부분이다. 추가적으로 2>/dev/null 은 퍼미션 디나이 등 오류를 null로 보내 화면에 띄우지 않게 한다 실행화면 다음과 같은 화면. 패스워드를 아는 명령어와 권한을 바꾸는 명령어는 제외 되어서 level2의 권한의 쉘을 얻어서 패스워드를 얻는 방법을 사용한다. 때문에 bash 입력! ..