Securing Keys

[FTZ] Level 3 응용: 항상 접근 가능한 백도어 쉘 만들기 본문

IT/Linux

[FTZ] Level 3 응용: 항상 접근 가능한 백도어 쉘 만들기

GRACE_MJ 2020. 8. 30. 15:44

 

level3에서 level4의 비밀번호를 얻는 방법은 저번 포스팅을 참고하시면 됩니다

https://secure-key.tistory.com/50

 

[FTZ] Level 3: SUID가 걸린 함수에 인자 전달로 명령 실행

level3로서 로그인 후 홈 디렉토리를 확인해보니 역시 hint 파일이 존재한다 이를 확인해보니 autodig의 소스코드를 보여주고 있는데 이를 이용하여 level4의 권한을 얻어야한다고 한다 추가 힌트를 ��

secure-key.tistory.com

 

 

이번에는 저번 포스팅과는 달리 my-pass 명령어가 아니라

계속해서 level4로서 명령어를 실행할 수 있는 쉘을 실행시켜보았다

 

그러나 매번 autodig를 통해서 level4의 권한을 얻기보다는

백도어 쉘을 생성하여 언제든 level4의 권한을 얻을 수 있게 해보도록 하겠다

 

 

 

 

 

 

 

 

 

 

vim를 사용하여 /tmp 안에 Backdoor.c 파일을 생성하여 주었다

이 소스코드를 작성할 때에 우리는 level4의 권한을 빌린 상태로 작성해야 한다는 점을 잊지 않아야 한다

 

위와 같이 쉘 코드를 작성하여 주었다

 

 

 

 

 

 

컴파일 또한 level4의 권한을 빌려 해야 하므로 위와 같이 해준다

 

 

 

 

여기서 끝나면 안되는 것이

컴파일 된 Backdoor 파일을 확인해보면 SUID가 설정되어 있지 않다

즉 권한 또한 level4의 권한으로 바꿔주어야 한다

 

 

 

SetUID를 위해 위와 같이 권한을 바꿔준 후 확인해보면

 

성공적으로 권한이 바뀌어 있음을 확인할 수 있다

이렇게 권한이 바뀌면 level4나 level3가 아닌 other의 입장에서도

실행시킬 수 있는 파일이기 때문에 level4로서 쉘을 사용할 수 있다

 

 

 

level1으로 로그인을 한 후 /tmp/Backdoor를 실행해보니

level4의 권한인 것을 확인할 수 있고,

더불어 level4의 비밀번호도 바로 확인이 가능했다

Comments