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 [email protected] -=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
[email protected]
LINUXnet 2004
67

Benzer belgeler