|
Search |
Esimerkki # ps auxw nobody 8889 47.8 1.6 13140 2092 ? R Dec08 2711:09 /usr/local/apache/bin/httpd nobody 7208 0.0 0.2 2100 260 ? T Dec09 0:00 ./telek nobody 20546 0.0 0.0 0 0 ? Z Dec09 0:00 telek nobody 14831 20.4 1.8 11556 2332 ? R Dec10 600:46 /usr/local/apache/bin/httpd nobody 9472 20.5 1.8 10288 2296 ? R Dec10 600:48 /usr/local/apache/bin/httpd nobody 19874 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 18338 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 18390 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 590 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 1486 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 11311 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 2231 0.0 0.1 1356 216 ? T Dec10 0:00 /tmp/c nobody 16076 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 21115 19.6 0.2 1348 252 ? R Dec11 178:08 ./kmod nobody 27214 0.0 0.1 1360 212 ? S 02:15 0:00 ./x0x nobody 15064 0.0 0.2 2104 288 ? S 03:03 0:00 getty Palvelin saattaisi olla vain osittain hakkerioitu, mutta... # netstat -tanpu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:2600 0.0.0.0:* LISTEN 11133/psybnc tcp 0 0 0.0.0.0:6668 0.0.0.0:* LISTEN 31528/psybnc Tässä on kaksi irc-bounceria. #ps auxw |grep 11133 root 23763 0.0 0.5 1832 672 pts/5 S 12:18 0:00 grep 11133 Mutta ps ei näe niitä. # cd /proc/11133/ #ls -l total 0 -r-r-r- 1 nobody nobody 0 Dec 12 12:19 cmdline lrwxrwxrwx 1 nobody nobody 0 Dec 12 12:19 cwd -> /var/tmp/psybnc -r- 1 nobody nobody 0 Dec 12 12:19 environ lrwxrwxrwx 1 nobody nobody 0 Dec 12 12:19 exe -> /var/tmp/psybnc/psybnc dr-x- 2 nobody nobody 0 Dec 12 12:19 fd -r-r-r- 1 nobody nobody 0 Dec 12 12:19 maps -rw- 1 nobody nobody 0 Dec 12 12:19 mem -r-r-r- 1 nobody nobody 0 Dec 12 12:19 mounts lrwxrwxrwx 1 nobody nobody 0 Dec 12 12:19 root -> / -r-r-r- 1 nobody nobody 0 Dec 12 12:19 stat -r-r-r- 1 nobody nobody 0 Dec 12 12:19 statm -r-r-r- 1 nobody nobody 0 Dec 12 12:19 status # cat stat 11133 (psybnc) S 1 10133 21624 0 -1 134217792 1052 0 790 0 3107 1321 0 0 9 0 0 0 173526992 2871296 253 4294967295 134512640 135116556 3114546144 3114545452 134716030 0 0 4096 28367 3223080614 0 0 17 0 #cat cmdline ./psybnc Prosessi on olemassa, joten ps on korvattu hakkerin omalla versiolla, joka onnistuu vain root-oikeuksilla. Palvelin on asennettava uudestaan, mutta voimme sitä ennen tutkia hieman lisää. # lsattr /bin/ suSiadAc- /bin/login suSiadAc- /bin/ls suSiadAc- /bin/netstat suSiadAc- /bin/ps Hakkerit suorittavat usein samat toimenpiteet: He korvaavat kriittiset komennot omilla versioillaan, jotta heitä ja heidän ajamia sovelluksia ei havaittaisi. Yleensä he päivittävät tietoturva-aukot, jotta kukaan muu ei pääsisi samalle palvelimelle, mutta tällä kertaa hakkeri on estänyt päivittämisen. # chattr -suSiadAc /bin/* # rpm -qf /bin/ps procps-2.0.7-11 # rpm -Uvh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/procps-2.0.7-12.i386.rpm Retrieving ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/procps-2.0.7-12.i386.rpm Preparing... [100%] 1:procps error: unpacking of archive failed on file /usr/bin/top: cpio: rename failed - Opération non permise # chattr -suSiadAc /usr/bin/top # rpm -Uvh --force ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/procps-2.0.7-12.i386.rpm Retrieving ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/procps-2.0.7-12.i386.rpm Preparing... [100%] 1:procps [100%] Nyt näemme sen selvästi # ps auxw nobody 8889 47.7 1.6 13140 2092 ? R Dec08 2713:27 /usr/local/apache/bin/httpd nobody 7208 0.0 0.2 2100 256 ? T Dec09 0:00 ./telek nobody 20546 0.0 0.0 0 0 ? Z Dec09 0:00 telek nobody 14831 20.4 1.8 11556 2332 ? R Dec10 603:04 nobody 9472 20.5 1.8 10288 2296 ? R Dec10 603:07 /usr/local/apache/bin/httpd nobody 19874 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 18338 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 18390 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 590 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 1486 0.0 0.1 1352 212 ? T Dec10 0:00 /tmp/c nobody 11311 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 2231 0.0 0.1 1356 212 ? T Dec10 0:00 /tmp/c nobody 16076 0.0 0.0 0 0 ? Z Dec10 0:00 c nobody 11133 0.0 0.8 2804 1012 ? S Dec10 0:44 ./psybnc nobody 11598 0.0 0.7 2500 948 ? S Dec10 0:13 ./psybnc nobody 31528 0.0 1.2 3788 1504 ? S Dec11 1:04 ./psybnc nobody 25517 0.0 0.5 2304 712 ? S Dec11 0:01 ./psybnc nobody 21115 19.6 0.2 1348 252 ? R Dec11 180:27 ./kmod nobody 27214 0.0 0.1 1360 212 ? S 02:15 0:00 ./x0x nobody 15064 0.0 0.2 2104 284 ? S 03:03 0:00 getty nobody 27439 0.0 2.6 13552 3292 ? S 10:10 0:07 /usr/local/apache/bin/httpd Kmod yrittää hyödyntää < 2.4.20 kernelin haavoittuvaisuutta ptracessa. Palvelimen kerneli on kuitenkin 2.4.21. Siinäkin on tosi eri haavoittuvaisuus, joten se täytyy päivittää uusimpaan. # rpm -qf /bin/netstat net-tools-1.60-3 # rpm -Uvh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/net-tools-1.60-4.i386.rpm Retrieving ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/net-tools-1.60-4.i386.rpm Preparing... [100%] 1:net-tools error: unpacking of archive failed on file /sbin/ifconfig: cpio: rename failed - Opération non permise #chattr -suSiadAc /sbin/ifconfig #rpm -Uvh ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/net-tools-1.60-4.i386.rpm Retrieving ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/net-tools-1.60-4.i386.rpm Preparing... [100%] 1:net-tools [100%] # netstat -tanpu | grep psybnc tcp 0 0 0.0.0.0:2600 0.0.0.0:* LISTEN 11133/psybnc tcp 0 0 0.0.0.0:6667 0.0.0.0:* LISTEN 11598/psybnc tcp 0 0 0.0.0.0:6668 0.0.0.0:* LISTEN 31528/psybnc tcp 0 0 0.0.0.0:3323 0.0.0.0:* LISTEN 25517/psybnc tcp 0 0 xx:3799 195.47.220.2:6667 ESTABLISHED 25517/psybnc tcp 0 0 xx:3960 195.204.1.130:6667 ESTABLISHED 31528/psybnc tcp 0 0 xx:6667 xx:4683 ESTABLISHED 11598/psybnc tcp 0 0 xx:2142 61.6.39.100:6667 ESTABLISHED 11133/psybnc tcp 0 0 xx:6667 81.192.224.22:2075 ESTABLISHED 11598/psybnc tcp 0 0 xx:2082 209.123.150.208:6667 ESTABLISHED 31528/psybnc tcp 0 0 xx:4054 61.6.39.100:7000 ESTABLISHED 11598/psybnc tcp 0 0 xx:2866 213.221.189.3:6667 ESTABLISHED 31528/psybnc tcp 0 0 xx:4683 213.186.38.215:6667 ESTABLISHED 11598/psybnc tcp 0 0 xx:1549 61.6.39.100:6667 ESTABLISHED 11133/psybnc Lopetamme tähän ja asennamme palvelimen uudestaan. #halt Broadcast message from root (pts/5) Fri Dec 12 12:37:54 2003... The system is going down for system halt NOW !! Miten palvelimeen oli murtauduttu? Hakkeri oli löytänyt haavoittuvaisuuden PHP-skriptissä. Hän oli sitä kautta päässyt palvelimelle nobody-käyttäjäksi. Kernelin 2.4.21 haavoittuvaisuuden avulla hakkeri oli saanut itselleen root-oikeudet. |