Information Security

권한 상승 기법(Leviathan) 본문

System Hacking

권한 상승 기법(Leviathan)

leeeeye321 2018. 1. 31. 05:32
권한 상승 기법

-스택 버퍼 오버플로우 공격은 보통 SetUID(Set User ID)가 설정된 root 권한의 프로그램을 공격대상으로 한다.

-> 스택에 정해진 버퍼보다 큰 공격 코드를 반환주소를 변경함으로써 임의의 공격 코드를 root 권한으로 실행하도록 한다.

 

권한 상승 기법을 공부하기 위해 OverTheWire의 Leviathan 문제를 풀어볼 것이다.

 

다음 레벨로 접속하는 패스워드를 찾아야 하고 /etc/leviathan_pass 디렉터리에 패스워드가 저장되어 있다.

 

★ leviathan1

leviathan1에 접속해서 파일 목록을 확인했더니 check 실행 파일이 존재한다.

-> 특수 권한 SetUID가 설정되어 있다.

 

특수 권한에 의해 check 프로그램이 실행되는 중에는 소유자(leviathan2)의 권한(읽기 가능)으로 실행 된다.

 

※ 타겟 프로그램 공격이 가능한 조건

-취약점 존재

-SetUID 권한

 

password를 맞춰야 하는 파일이다.

 

ltrace 명령어로 실행 파일이 어떤 라이브러리를 사용하는지 추적했다.

strcmp 함수를 통해 문자열 비교를 해서 패스워드를 확인하고 있었다.

 

원하는 값을 입력하면 프롬프트가 변경된다.

특수 권한에 의해 leviathan2의 권한으로 실행되고 있기 때문에 leviathan2 파일의 내용을 확인할 수 있었다.