[공학]해커스랩 레벨1~ 레벨8 문제 풀이
- 최초 등록일
- 2006.11.12
- 최종 저작일
- 2006.01
- 8페이지/ 한컴오피스
- 가격 1,000원
소개글
해커스랩 레벨1 ~ 레벨8까지 문제 풀이
목차
레벨1 ~ 레벨8
본문내용
1. 레벨1
Questions : 누군 가 우리 시스템에 침입하여 백도어를 설치하여 두었다.
당신의 임무는 그 백도어를 악용하여 다음 레벨로 진입하는 것이다.
Hint : 디바이스도 아닌 것이 디바이스 드라이버 무리속에...
풀이
백도어의 형태가 SETUID에 걸린 파일인 것으로 추측됨.
힌트의 디바이스도 아는 것이 디바이스 무리속에 라는 것으로 보아. 디바이스 디렉토리에 있을것으로 추측됨
login:level0 // password:guest (로긴)
cd /dev
find /dev -user level1 (백도어가 setuid를 이용한 것을 눈치채고 파일을 찾고 있으므로 이렇게 입력)
find /dev -perm -4000 (setuid가 걸린 파일을 모두 찾기위해)
/dev/.hi (백도어 파일, 실행해도 아무런 반응 없음)
whomai (나의 level이 1이 되어있음)
pass(비밀번호 알아내기 위해, newworld)
해커스랩 홈페이지로 가서 비밀번호 입력하여 다음 문제 받음
2. 레벨2
Question : 한 어리석은 대학생 서모씨는 unix c programming 수업시간에 교수로부터 standard input 으로부터 패스명을 입력받아 그 파일의 종류를 나타내라는 과제를 받았다. 똑똑한(?) 서모씨는 unix 의 기본 컴맨드중에 file 이라는 유틸리티가 있음을 알고 이를 이용해 숙제를 간편한 방법으로 해결하였다. 그러나 서씨의 방법에는 상당한 보안상 위험이 있다. 이를 이용하여 다음 레벨을 획득하시오.
Hint - 위 파일의 이름은 딱풀 제조 회사명이다.
풀이
딱풀제조회사 이름 amos
find / -user level2 (이렇게 치면 여러파일중 /usr/bin/amos 이런게 나오는데, 이것이 서모씨가 만든 파일이다)
C언어에서 system함수를 이용하여 file이라는 명령어를 실행할 것이라고 추측할 수 있다. system명령어는 명령어를 쉘로 전달하는 함수이다. 이때 unix의 명령어라인의 경우 세미콜론(;)을 이용하여 한줄에 여러 명령을 쓸 수 있다. 즉, ls; ls 위와 같이 입력하면 ls명령이 두 번 실행된다. 이 것을 이용하면 amos라는 파일을 이용하여 setuid로 잠시 level2권한을 획득하고 있는 동안 pass라는 명령어를 실행할 수 있으며 level2의 비밀번호를 알아낼 수 있다.
참고 자료
없음