시스템/시스템 보안

[문제 풀이로 배우는 시스템 해킹 테크닉] level1. 백도어

비니화이팅 2017. 12. 1. 13:13

* 백도어

-> 정상적인 아이디와 패스워드를 입력한 후 서버에서 본인이 맞는지 확인하는 과정을 회피하는 접근 경로

-> 일반적인 인증을 통과, 원격 접속을 보장하고 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와 같은 쉘 실행 명령어를 입력한다.