728x90
반응형

리눅스 setuid 2

OverTheWire [Bandit Level 20]

Level 20 입니다. 이전 레벨과 같이 홈디렉터리에 setuid 파일이 있는데, 해당 프로그램은 지정한 포트의 localhost에 연결하는 프로그램 이라고 합니다. 이후, 상대방으로부터 bandit20의 password를 받게 되면 bandit21의 password를 반환한다고 합니다. 일단 해당 문제를 풀기 위해선, 하나의 시스템이 더 필요합니다. putty를 하나 더 켜서 bandit20 계정에 접속해 줍시다. 총 2개의 bandit20 계정을 켜두는 겁니다. nc -l 33333 -l 33333 : listen 33333, 33333포트를 수신대기 상태로 만듦 첫번째 시스템에서, setuid 프로그램이 접속하기 위한 포트를 열어줍시다. 포트번호는 다른 응용 프로그램과 겹치치 않게 아무 번호나 입..

OverTheWire [Bandit Level 19]

Bandit Level 19 입니다. password를 획득하려면, setuid binary 를 사용해야 한다고 합니다. 일단 홈 디렉터리를 확인해 볼까요? bandit20-do 파일을 발견하였습니다. 특이하게도 SetUID 권한이 적용되어 있네요. SetUID : 프로그램을 실행하는 동안, 실행한 계정이 누구든 파일 소유자의 권한을 얻게 됨 user(소유자)권한의 실행권한 부분에 s 또는 S가 있다면 SetUID가 부여된 파일입니다. ( 소문자 s는 x(실행권한) 도 함께 부여되어 있는 상태, 대문자 S는 x(실행권한)은 없는 상태 해당 파일은 소유자가 bandit20 이기 때문에, 실행하는 동안 bandit20의 권한을 얻게 되겠죠. 파일을 한번 실행해 봅시다. ./bandit20-do 실행은 실패했..

728x90
반응형