문제 4번 !!!
먼저 당연히 힌트를 확인해 봅시다.!
백도어??
백도어는 말 그대로 뒷 문이다.
위키피디아에서 백도어의 내용을 정확히 설명해 보면,
컴퓨터 시스템 (또는 암호화 시스템, 알고리즘)의 백도어(backdoor)는 일반적인 인증을 통과, 원격 접속을 보장하고
plaintext에의 접근을 취득하는 등의 행동을 들키지 않고 행하는 방법을 일컫는다. 백도어는 설치된 프로그램의 형태를
취하기도 하고, 기존 프로그램 또는 하드웨어의 변형일 수도 있다.
라고 설명이 되어 있다.
결국 프로그램에 접속하기 위한 뒷문이라고 생각하면 편할려나??
이러한 백도어 기법을 이용해서 크래커들이 자신이 만들어 놓은 프로그램을 배포, 이용하여
권한을 취득하여 악의적으로 사용하는 방식으로 사용된다.
그럼 /etc/xinetd.d/에 심어 놓았다는 백도어를 찾아보면
아래와 같이 이름 자체가 backdoor인 파일이 있다.
사용자 권한은 level4이다.
이 파일의 내용을 확인하자.
아래와 같은 내용이 기록되어 있다.
이놈은 뭐하는 놈일까.
먼저 xinetd.d 디렉토리란 놈이 신경 쓰인다.
xinetd 는 인터넷 슈퍼데몬이란 놈이다.
리눅스에서 실행되는 하나의 데몬인데,
이 녀석이 하는 일이 리눅스에서 실행되고 있는 여러 데몬들을 제어하면서 서비스들간의 연결을 담당하고 있다.
대표적인 것 중 하나가 telnet이다.
파일 설정내용은 아래와 같다.
1. service
- 서비스 이름.
- 가능한 파일이름과 /etc/services 파일에 등록된 서비스이름과 동일해야 함.
2. disalbe
- 해당 서비스를 서비스할 것인가( no ) 아닌가( yes ) 를 결정함.
- 서비스를 하도록 설정하려면 no 로 설정하고 서비스를 하지 않으려면 yes 로 설정하면 됨.
- ” disable = no “ 를 설정한다는 것은 ” chkconfig 서비스 on “ 을 실행하는 것과 같으며 또한, ntsysv 유틸리티를 실행하여 해당 항목에 ” * ” 를 하는 것과 같음.
3. socket_type
- TCP 일 경우에는 stream 이며, UDP 일 경우에는 dgram 이라고 명시되 있음. 이 외에도 raw, rdm, seqpacket 등이 올 수 있음.
4. wait
- xinetd 가 서비스 요청은 받은 경우, 이후에 즉시 또 다른 요청을 처리할 것인지( no )아닌지 ( yes ) 의 여부를 결정하는 지시자임. stream 의 경우에는 반드시 no 이어야 함.
- no 는 현재 요청외에의 다른 접속요청을 새로운 것으로 시작하여 처리하게 함.
5. user
- 이 서비스를 어떤 사용자 권한으로 서비스할 것인가를 결정함.
6. server
- 이 서비스를 실행할 때에 어느 위치에 있는 프로그램( 데몬 ) 을 불러와 연결한 것인가를 명시한 것.
- 반드시 절대경로로 지정되어야 함.
7. log_on_failure
- 서버접속에 성공하지 못하였을 때 로그파일에 기록하는 내용들을 설정들을 할 수 있음.
- HOST, USERID, ATTEMPT, RECORD 등이 추가로 설정될 수 있음.
- HOST 란 접속을 시도한 클라이언트의 IP 주소를 의미하고, USERID 란 접속한 사용자의 ID 를 각각 의미
- += 는 /etc/xinetd.conf 파일의 기본설정항목에 추가할 항목을 지정할 때 사용함
- -= 는 /etc/xinetd.conf 파일의 기본설정항목에서 뺄 항목을 지정할 때 사용함.
8. log_on_success
- 서버접속에 성공하였을 경우에 기록할 내용을 설정
- PID, HOST, USERID, EXIT, DURATION 등을 기록할 수 있음.
- PID 란 프로세스의 ID 를 의미, HOSTID 란 클라이언트의 IP 주소를 의미하고, USERID 란 접속한 사용자의 ID 를 의미하며, EXIT 란 프로세스의 종료상태를 의미하고, DURATION 이란 연결지속시간을 각각 의미함.
9. only_from
- 현재 이 서버로 해당 서비스 접속이 가능한 특정 호스트를 설정.
10. no_access
- 접속 가능한 호스트중에서 특정 호스트를 제외시키는 지시어
11. instances
- 해당 서비스로 접속이 가능한 총 접속자 수를 설정
12. access_time
- 해당 서비스의 이용가능 시간을 설정
13. per_source
- persouce = 5 와 같은 설정이 가능함. 동일한 호스트에서 해당 서비스로의 접속시에 동시에 5번이상 접속할 수 없음.
( 출처 : http://pchero21.com/1394)
server가 /home/level4/tmp/backdoor 란 프로그램에 연결되어 있음을 알 수 있다.
그 파일 을 확인해 보면 다음과 같다.
쉘로 my-pass를 실행함을 알 수 있다.
아까 /etc/xinetd.d/backdoor 가 finger service에 연결되어 있음을 확인했기에
finger level4@localhost를 임력하면 비밀번호를 알 수 있다.!!
'ETC > Security' 카테고리의 다른 글
Level 6 (0) | 2013.10.31 |
---|---|
Level 5 - Race Condition or Symbolic link (0) | 2013.10.30 |
level3 (0) | 2013.10.01 |
Level 2 (0) | 2013.10.01 |
Level1 (0) | 2013.09.24 |