* 백도어
-> 정상적인 아이디와 패스워드를 입력한 후 서버에서 본인이 맞는지 확인하는 과정을 회피하는 접근 경로
-> 일반적인 인증을 통과, 원격 접속을 보장하고 plaintext에의 접근을 취득하는 등의 행동을 들키지 않고 행동하는 방법
-> 설치된 프로그램의 형태를 취하기도 하고 기존 프로그램또는 하드웨어의 변형일 수도 있음
우선 ls로 디렉터리 안을 살펴보면 hint파일을 발견할 수 있다.
hint파일 내용을 확인해 보면 아래와 같이 써져 있다.
level2 권한에 setuid가 걸린 파일을 찾는다. |
힌트를 확인했으니 find 명령으로 찾아본다.
level2 권한이라고 했으니 -user level2 옵션을 주고,
setuid가 걸려있다고 했으니 -perm -4000옵션을 준다.
2> /dev/null은 표준 에러를 휴지통으로 버리는 것을 의미한다.
참고 |
|
-perm -4000 |
4000을 포함하는 것 검색 |
-perm 4000 |
4000을 검색 |
-perm +4000 |
4000의 일부라도 포함되어 있는 것 검색 |
결과로 /bin/ExecuteMe라는 파일이 나오는 것을 알 수 있다.
/bin/ExecuteMe파일을 실행시켜 본다.
다음레벨의 패스워드를 확인하면 문제 해결이 되기 때문에 my-pass를 입력하면 되지만 여기서는 금지하고 있으므로 다른 명령어를 입력해야 한다.
일시적으로 다른 계정의 권한을 얻은 상황에서 이 권한을 유지할 수 있는 방법은 쉘을 실행하는 것이다.
그러면 프롬프트가 생기면서 일시적으로 얻었던 level2의 권한이 유지된다.
따라서 sh, bash, bin/sh, /bin/bash와 같은 쉘 실행 명령어를 입력한다.