-
[HackerSchool] Level4오래된/HackerSchool 2011. 4. 27. 20:54
[level4@ftz level4]$ cat hint
누군가 /etc/xinetd.d/에 백도어를 심어놓았다.![ Level4 hint ]
백도어를 이용한 권한상승이 목표인것을 예상해 볼 수 있겠다.
1. xinetd
xinetd 데몬은 서비스 하고싶은 프로그램들을 대신하여 실행 시켜주는 역할을 한다.
해당 서비스들은 /etc/xinetd.d/ 디렉토리에 형식을 맞추어 파일을 작성하여 넣어두면 xinetd 데몬이 해당 파일을 읽어들여
서비스 하려는 프로그램을 실행 시켜주는 역할을 하게 된다.
[level4@ftz xinetd.d]$ pstree
init-+-anacron---run-parts-+-00-logwatch---sh-+-applystddate
| | |-cat
...[중략]...
|-sshd-+-sshd---sshd
| |-sshd---sshd---bash
| `-sshd---sshd---sh
|-syslogd
|-5*[vim]
`-xinetd-+-in.telnetd---login---sh---testsh
|-in.telnetd---login---bash
|-in.telnetd---login---sh
`-in.telnetd---login---bash---pstree[ 프로세스 목록 확인 - tree 구조 ]
sshd 프로세스의 경우 독립적으로 실행되어 서비스 되고 있으며, telnet의 경우 xinetd 에 의해 실행 되고 있음을 확인 할 수 있다.( 일반적으로 ssh 는 자체적 보안 기능을 가지고 있으므로 독립적으로 실행 되어도 큰 문제를 일으키지 않지만, telnet 은 자체적으로 취약하기 때문에 xinetd 의 도움을 받아 실행된다. )
하지만 독립적이라고 해서 완전 독립적인 것은 아니고, super daemon인 initd 프로세스에 의해 실행 된다.
initd 에 의해 실행되는 프로세스들은 /etc/init.d/ 에 존재하게 되며, 각 Run Level에 따라 각각 등록된다.
[level4@ftz xinetd.d]$ ls -al /etc/xinetd.d
합계 92
drwxr-xr-x 2 root root 4096 1월 15 2010 .
drwxr-xr-x 52 root root 4096 4월 21 03:34 ..
-rw-r----- 1 root level4 171 12월 8 2003 backdoor
...[중략]...[ 백도어 ]
/etc/xinetd.d 디렉토리를 확인해보면, 이름이 아주 정직한 파일이 존재함을 알 수 있다.
service finger
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = level5
server = /home/level4/tmp/backdoor
log_on_failure += USERID
}[ /etc/xinetd.d/backdoor ]
서비스 이름은 finger 인데, 프로그램 이름을 보면 backdoor 라는 프로그램을 실행 시킨다는 것을 알 수 있다.
( socket_type : stream / TCP 서비스, user : level5 / 실행 권한 )
xinetd 는 backdoor 파일을 읽어들여 finger 라는 서비스가 /etc/services 에 등록되어 있는지 확인하고, 등록되어 있다면 포트 정보를 읽어들여 해당 포트를 오픈하고 프로그램을 실행시켜 서비스하게 된다.
...[중략]...
finger 79/tcp
finger 79/udp
...[중략]...[ /etc/services 파일 내용 ]
finger 서비스는 79번 포트를 이용한다는 것을 알 수 있다.
2. backdoor 작성
backdoor 는 말 그대로 "뒷 문" 이다.
공격자가 공격 성공이후, 재차 공격을 통해 권한상승을 하는 번거로움을 피하기 위해 제작하게 된다.
이제 /home/level4/tmp/backdoor 파일에 우리가 원하는 실행을 하도록 내용을 작성하고, 해당 서비스 포트로 접속을 하면 되겠다. (실행 권한을 줘야 한다는 점을 잊어서는 안되겠다. )
* 겁도 나고 의심도 들어 ftz.hackerschool.org 의 79번 포트로 접속하는 것을 꺼리는 경우가 종종 있는데, F.T.Z 라는 점을 잊지 말자! *
'오래된 > HackerSchool' 카테고리의 다른 글
[HackerSchool] Level6 (0) 2011.04.27 [HackerSchool] Level5 (0) 2011.04.27 [HackerSchool] Level3 (0) 2011.04.26 [HackerSchool] Level2 (0) 2011.04.26 [HackerSchool] Level1 (0) 2011.04.26