GÜVENLİK Rootkit
Transkript
GÜVENLİK Rootkit
GÜVENLİK Rootkit [uygulaman›n root durumunda iken çal›flmayaca¤› belirtiliyor] $ ./rks [normal kullan›c› durumunda çal›flt›r›l›yor] -=- Rootkit Scanner -=-=- by Stephane.Aubert@hsc.fr -=Scanning for ADORE version 0.14, 0.24 and 2.0b ... ADORE rootkit NOT DETECTED on this system. Scanning for KNARK version 0.59 ... KNARK rootkit NOT DETECTED on this system. Done. [root@arifiye proc]# cd 19500 [root@arifiye 19500]# pwd /proc/19500 [root@arifiye 19500]# ls -l total 0 -r--r--r-- 1 root root 0 Feb 25 14:49 binfmt -r--r--r-- 1 root root 0 Feb 25 14:49 cmdline lrwxrwxrwx 1 root root 0 Feb 25 14:49 cwd -> /usr/man/.lrk/ -r-------- 1 root root 0 Feb 25 14:49 environ lrwxrwxrwx 1 root root 0 Feb 25 14:49 exe -> /usr/man/.lrk/sniffer* dr-x------ 2 root root 0 Feb 25 14:49 fd/ -r--r--r-- 1 root root 0 Feb 25 14:49 maps -rw------- 1 root root 0 Feb 25 14:49 mem -r--r--r-- 1 root root 0 Feb 25 14:49 mounts lrwxrwxrwx 1 root root 0 Feb 25 14:49 root -> // -r--r--r-- 1 root root 0 Feb 25 14:49 stat -r--r--r-- 1 root root 0 Feb 25 14:49 statm -r--r--r-- 1 root root 0 Feb 25 14:49 status Çal›flan uygulaman›n sistemdeki yerinin /usr/man/.lrk oldu¤u görülmektedir. Biri ya da birilerinin bu sonuçlarla sistemde baz› ifllemler yapt›¤› görülmektedir. Sistemdeki bu tür olaylara karfl› muhakkak önemli dosyalar›n yede¤i al›nmal›d›r. Yede¤i al›nmas› gerekli dosyalardan baz›lar› flunlard›r: ls, ps, netstat, killall, top, chfn, chsh, date, du, echo, egrep, env, find, grep, hdparm, su, ifconfig, inetd, login, mail, named, passwd, pstree, rpcinfo, sendmail, sshd, syslogd, tar, tcpd, telnetd, timed, traceroute, write, init ... Örnek olarak bir Rootkit arac›n› aç›klamaya çal›flal›m: Sistemde çal›flan süreçlerin ne oldu¤unu bilmek de önemlidir. Arka planda çal›flan uygulamalar›n bir listesini incelerseniz hangi uygulaman›n sizi zor duruma düflürdü¤ünü anlayabilirsiniz. Zor bir durumla karfl›laflt›¤›n›zda ps komutuna güvenmek sizi yar› yolda b›rakabilir. Ps komutu ile göremeyece¤imiz bir uygulaman›n tespitine bir örnek verelim. [root@arifiye dosya]# cd /proc [root@arifiye proc]#for i in `seq 1 33000`; do test -f $i/cmdline && (cat $i/cmdline; echo $i); done init 1 2 … syslogd-m0518 klogd-3015 gpm-m/dev/psaux-timps4011 … ./sniffer19500 …. Yukar›da belirtilen ifllemin sonucunda ç›kan ./sniffer19500 ibaresi insan› düflünmeye zorlamaktad›r. PID numaras› 19500 olan bu çal›flan uygulamay› derinlemesine inceleyelim. 66 LINUXnet 2004 ‹llogic Rootkit Dosya ad›: illogic.tgz Dosya boyutu: 953233 KB Bar›nd›rd›¤› dosyalar: addon.sh adore.tgz bj checkrk cleaner crond crond1 crypt fix flood.tgz in.ftpd instmod linsniffer logo lsn network patcher pg rcp README rpass scan.tgz secure.sh setup slogin sniffchk socklist sshd sz td utime wget x.conf ‹llogic Rootkit arac›n›n bünyesinde trojanl› dosyalar, adore, flood kit isimli servis atak araçlar› (DoS), FreeBSD statd Scanner, Linux Mass Scanner, Linux Ssh Scanner, Linux StatdX Scanner gibi araçlar bulunmaktad›r. ‹llogic kurulum esnas›nda baz› kontroller yapar. Bu kontroller, iflletim sisteminin Red Hat olup olmad›¤›, sisteme daha önce ‹llogic kurulup kurulmad›¤›, Ramen solucan›n›n bulunup bulunmad›¤›, TeLeKit telnetd trojan kontrolü, tribe gibi kontrolleri içermektedir E¤er iflletim sistemi Red Hat de¤ilse Rootkit kurulurken uyar› verip kurma ifllemini sona erdirir. Rootkit sisteme kuruldu¤unda sistem bilgisini setup dosyas›nda belirtilen e-posta adrese gönderir. Bu bilgiler aras›nda sisteme ait donan›msal bilgiler, Rootkit’in kuruldu¤u sistemin IP adresi, /etc/passwd, /etc/shadow dosyalar› yer almaktad›r. Bu bilgileri ayr›ca /lib/security/.config/info2 isimli dosyada saklamaktad›r. Yan sayfada, Rootkit’in kurulum esnas›nda gönderdi¤i e-posta içeri¤inden bir k›s›m yer almaktad›r. Bu gönderilen paket snort www.LINUXnet.com.tr www.snort.org) ile tespit edilmifltir (/etc/shadow dosyas›na ait). (w 00 1B 5B 4B 63 69 6C 65 6B 3A 24 31 24 57 4B 6F ..[Kcilek:$1$WKo 59 4C 76 68 34 24 53 66 46 31 70 66 41 2F 76 73 YLvh4$SfF1pfA/vs 71 61 7A 32 47 62 45 5A 69 35 41 31 3A 31 32 30 qaz2GbEZi5A1:120 33 31 3A 30 3A 39 39 39 39 39 3A 37 3A 2D 31 3A 31:0:99999:7:-1: 2D 31 3A 31 30 37 33 38 36 37 30 30 36 0A 0D 00 -1:1073867006... 75 4D 68 39 31 6F 6B 24 58 4A 4F 32 49 2E 50 45 uMh91ok$XJO2I.PE 78 6B 72 36 50 6C 4E 2F 59 51 4C 53 2F 30 3A 31 xkr6PlN/YQLS/0:1 32 30 34 34 3A 30 3A 39 39 39 39 39 3A 37 3A 2D 2044:0:99999:7:31 3A 2D 31 3A 31 30 37 33 38 36 37 30 30 36 0A 1:-1:1073867006. 31 24 39 37 61 58 58 4D 6F 58 24 6B 6A 56 30 54 1$97aXXMoX$kjV0T 79 6E 57 41 36 38 58 63 4E 6F 45 4C 6B 7A 74 56 ynWA68XcNoELkztV 31 3A 31 32 30 34 34 3A 30 3A 39 39 39 39 39 3A 1:12044:0:99999: 37 3A 2D 31 3A 2D 31 3A 31 30 37 33 38 36 37 30 7:-1:-1:10738670 ‹llogic Rootkit kurulum an›nda sistemdeki baz› dosyalar› Rootkit’in ana dosyalar›n›n kuruldu¤u /lib/security/.config/bin dizine içine kopyalar. Kopyalanan sisteme ait dosyalar›: /bin/su /bin/ping /usr/bin/du /usr/bin/passwd /usr/bin/find /bin/netstat /usr/sbin/lsof Bünyesindeki log temizleme arac›n› (cleaner) /usr/bin/sia, slogin isimli dosyas›n› da /sbin/login, network dosyas›n› /etc/rc.d/init.d/network, in.ftpd dosyas›n› /usr/sbin/in.ftpd, named dosyas›n› /usr/sbin/named, sshd dosyas›n› /usr/bin/ssh2d olarak kaydederek sistemde 1221 numaral› portu açar. ‹llogic Rootkit art›k /lib/security/.config dizine aktar›lm›flt›r. Bu k›s›mda bulunan dizin ve dosyalar: adore/ backup/ bin/ checkrk* cleaner* crypt* flood/ info2 instmod* iver lpsched* pg* rcp* scan/ secure.sh* socklist* ssh/ ssh2d* sz* uconf.inv utime* wget* work/ Sald›rgan bu dosyalar› kullanarak sisteme ve bu sistem üzerinden d›fl sistemlere müdahale araçlar›n› da yüklemifltir. Sald›rgan bu dosyalar› kullanarak sisteme ve bu sistem www.LINUXnet.com.tr üzerinden d›fl sistemlere müdahale araçlar›n› da yüklemifltir. Örne¤in flood dizininde bulunan araçlarla di¤er sistemlere karfl› atakta bulunabilir. Bu flood kit araçlar› flu dosyalardan olufluyor: slice2, slice3, stealth, synk, vadimII Scan dizinindeki araçlar yard›m› ile di¤er sistemlerde güvenlik problemi olup olmad›¤›n›n analizini de yapabilmekte ve sorunlu sisteme rahatl›kla arkakap› (backdoor) b›rakabilmektedirler. Sald›rgan Rootkit arac›ndaki Adore dosyalar›n› kullanarak istedi¤i çal›flan dosyalar› gizleyebilir. Bunun nas›l yap›ld›¤›n› ad›m ad›m görelim. Sald›rgan ‹llogic’in kurulu oldu¤u dizine gelerek Adore’yi kurar. sh-2.05# cd /lib/security/.config/adore sh-2.05# ./configure <-- kurma Starting adore configuration ... Checking 4 ELITE_UID ... found 30 .... Checking 4 ELITE_CMD ... using 22324 Loaded modules: isofs 25792 1 (autoclean) inflate_fs 19328 0 (autoclean) [isofs] binfmt_misc 6084 1 ... This procedure will save adore from scanners. ... Password (echoed):password Preparing /lib/security/.config/adore (== cwd) for hiding ... Creating Makefile ... Exec-redirection disabled ... sh-2.05# make .... sh-2.05# mv adore.o lamerel.o sh-2.05# mv cleaner.o spoofu.o sh-2.05# ./startadore sh-2.05# ps -aux <- Sald›rgan çal›flan uygulamalar›n› görüp; .... sald›rgan 5170 0.0 1.9 3704 2484 pts/8 S 01:11 0:00 ./program .... sh-2.05# ./ava i 5170 <-- gizlenecek olan dosyan›n PID numaras› yaz›l›yor Checking for adore 0.12 or higher ... Adore 0.38 installed. Good luck. Made PID 5170 invisible. sh-2.05# ps -aux <-- ve art›k çal›flan dosya gizleniyor .. root 5180 0.0 1.2 2820 1608 pts/8 S 01:11 0:00 sh root 5466 0.0 0.7 2928 980 pts/8 R 01:28 0:00 ps -aux Yukar›da Adore’nin kurulma aflamas› ve sistemde çal›flan bir uygulaman›n gizlenmesi görülmektedir. Bu yaz›mda Rootkit kavram›na de¤inmeye çal›flt›k. Bir sistem yöneticisini elinden geldi¤ince sistemini güvenli haline getirmeye çal›flacakt›r. Bunun için sisteme güvenlik yaz›l›mlar›, yamalar yüklemek kadar bu tür tehlikeli uygulamalar› bilmekte önemlidir. Editörün Notu: Bu yaz›, konu ile ilgili farkl› yaz›lar›n, yazar›m›z taraf›ndan derlenmifl halidir. Tacettin Karadeniz tacettin@olympos.org LINUXnet 2004 67