İPUCU

Trojan ve Virüsler Trojan ve Virüsler Hakkında Bilgiler.

Seçenekler

Backdoor

10-01-2013 18:17
#1
Marwins - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2012
Nereden:
Ankara
Mesajlar:
3.141
Teşekkür (Etti):
2246
Teşekkür (Aldı):
775
Konular:
431
Ticaret:
(0) %
ÖNCELİKLE DAHA ÖNCE KONU AÇILDIYSA VEYA YANLIŞ YERE AÇTIYSAM ÇOK ÖZÜR DİLERİM...

Araştırma şirketleri, Internet kullanım oranında geçen yıllara nazaran artış saptandığına ilişkin çeşitli raporlar sunmaktadırlar.
Kullanım oranına bağlı mıdır bilinmez fakat son zamanlarda Internet üzerinden sistemlere yönelik saldırılarda da artışlar tespit edilmiştir. Saldırıların büyük çoğunluğu sunucu olarak tabir edilen sistemlere gerçekleştirilmiştir.
Kullanıcıların maruz kaldığı tehditlerin büyük çoğunluğunu virüs/solucan türündeki tehlikeler oluşturmaktadır. Virüs/Solucan türleri sunucuları da tehdit etmektedir. Sunucuların(Server) etkilenme yüzdesindeki artışın sebebi, uygulamalardaki açıklardan kaynaklanmakta.
Sistem açıklarından yararlanarak sistemler arasında yayılma oranında solucanlar(worm) başı çekmektedir. Sistemleri etkileyen sadece virüs/solucan saldırıları değildir. Sistemlerde kullanıcı tabanlı saldırılarda büyük etkiye yol açar. Kullanıcı tabanlı olarak belirttiğimiz saldırıların başında zayıf şifre kullanımı, aktif web uygulamarındaki güvenlik açıklarından yararlanarak sisteme sızma gelmektedir ki günümüzün popüler saldırı tipi web uygulamalarındaki(php/cgi/asp gibi) zayıflıklardan yararlanarak sisteme sızma girişimleridir.
Sisteme bilinçli olarak gerçekleştirilen tipik bir saldırı(sisteme sızma) çizelgesi:
1. Saldırı yapılacak sistemi tanıma aşaması(Sunucunun işletim sistemi, kullandığı yazılımları tespit etme ...).
2. Sunucuya ait elde edilen bilgilerin gözden geçirilmesi. Sistemin kullandığı yazılımlarda açık olma olasılığının değerlendirilmesi.
3. Sistem bir web sunucusuysa php/cgi/asp gibi web sayfalarında açık olma olasılığı gözden geçirilir.
4. Eğer php/cgi/asp gibi sayfalarda açık tespit edilirse 2 türlü olasılık vardır. 1. olasılık orjinal sayfanın değiştirilmesi yada sayfalarda değişiklik yapılmadan sisteme sızılarak sistemi takip etmek.
5. Tespit edilen açık vasıtasıyla veya sistemdeki herhangi bir kullanıcının kullandığı şifreyle sisteme dosya aktarmak.
6. Aktarılan dosyalar genellikle; Root hakkı elde etmek için kullanılacak exploit, bir Backdoor(arkakapı), Rootkit, Sniffer olabilir.
7. Sisteme normal kullanıcı olarak bağlandığında ilk amaç sistemde root olmaktır. Web uygulamalarındaki açık vasıtasıyla sisteme erişim sağlamış biri genellikle sisteme uzaktan müdahale eder. Örneğin; phpshell, webexplorer gibi dosyalarla(bunlar öncede sisteme yüklenir[upload]) uzaktan(remote) sistemde komut çalıştırılır. Çalıştırılan bu komutlar sistemde apache, nobody gibi kullanıcı durumunda çalıştırılır.
8. Root hakkını elde eden saldırgan sisteme backdoor yada rootkit kurar(sistemde daimi varolma savaşı).
9. Root olduktan sonra sniffer ile sistemi izlemeye alır(Daha fazla şifre, daha fazla kontrol).
10. Elde ettiği verilerle yerel ağda başka sistemlere sıçrama yapmak.
Sistem güvenlik kontrolü için çok sayıda güvenlik aracı bulunmaktadır. Bu araçlar arasında port tarama uygulamaları, suid tarama, zayıf password olasılıkları taraması, rootkit tarama yer alır.
Tespit edilmesi en zor uygulamaların başında sisteme sızdıktan sonra kullanılan LKM(Loadable Kernel Modules) türü araçlardır. Bu tür araçlar tek parçadan da(injeckbd.c) oluşabilir ya da komplike parçalardan da oluşabilir(Adore-ng).
Kullanım amacı;



1. Sisteme sızdıktan sonra tespit edilme olasılığını en aza indirgemek.
2. Saldırgan kendisine ait dosyaları kullanıcıların gözünden saklamak.
3. Sistemde çalıştırdığı uygulamaları gizlemek.
4. Sisteme bağlanmak için kullandığı IP adresini gizlemek.
5. Sisteme normal kullanıcı olarak bağlandıktan sonra sistemde root yetkisine erişmek.



Tipik saldırı örnek şeması
Yukarıda belirttiğim basamakların hepsini bir anda yapan LKM türü uygulamalarda bulunmaktadır. Ya da sadece tek işlemi(Sistemde çalıştırdığı uygulamaları gizlemek gibi) yapan bir kod parçasından oluşan uygulamada mevcuttur.
LKM türü dosyalardaki bu gizem nedir?
LKM türünün en büyük özelliği çekirdek(Kernel) ile iç içe olabilmesidir. Yüklenebilir modüller(LKM) aracılığıyla Çekirdek'e istediğimiz özelliği ekleyip çıkarabiliriz. Sistemdeki herhangi bir donanıma ilişkin modülü ekleyip çıkarma kolaylığı sayesinde sisteme müdahale olanağımız mevcuttur.
Donanım ile yazılımlar arasında köprü kurma yetkimiz her zaman vardır. Çekirdek Modülleri bu anda devreye girer. Modüller ile sisteme müdahale ederek donanımın aktif ya da pasif kalmasını sağlayabiliriz.
Hatırlanması gereken cümle: Çekirdek Modülleri ile sisteme yeni özellikler katılabilir.
Çekirdek modül uygulamaları sayesinde kullanıcı istediği şekilde sisteme yön verebilir. Çekirdek Modüllerindeki kuvveti sezen saldırganlar, bu kuvveti istediği şekilde yön verebilmektedir. Çekirdeğe hükmeden her şeye hükmeder
Sisteme modül ekleme, modül çıkartma, sistemdeki çekirdek modüllerini listeleme gibi işlemleri yerine getiren komutlar mevcuttur.
Çekirdek modüllerine ilişkin en çok kullanılan komutlar:
insmod: Çekirdek'e modül ekle.
rmmod: Çekirdekten modülü çıkart.
lsmod: Çekirdek'e eklenen modülleri listele.

Örnek:
Root.c isimli bir dosya sistemde modül olarak derlenip çekirdeğe eklendiğini düşünelim(Kernel 2.4.x ' insmod root.o).
Derleme:
gcc -I/usr/src/linux/include/linux -c root.c
[root@herakleia /]# ssh -l user test
user@test's password:

[user@test user]$ id
uid=502(user) gid=502(user) gruplar=502(user)
[user@test user]$
[user@test user]$ /etc/passwd
[root@test user]# <------------- ?? Dikkat
[root@test user]# id
uid=0(root) gid=0(root) gruplar=502(user)

Bu modül, eğer her kim /etc/passwd(dikkat edin herhangi bir şekilde komut kullanılmıyor) derse sistemde yetkili durumuna geçiriyor.
Başka bir deyişle sistemde root olmak istiyorsa önce sihirli söz olan /etc/passwd demesi gerekiyor. Tabii ki modül çekirdeğe eklenmişse
Kernel 2.4.x için çekirdek'e hangi modüller eklendiğine dair tespitlerde bulunmak için kullanılan en iyi araçlardan biri KSTAT(Kernel Security Therapy Anti-Trolls) isimli araçtır. Bu araç vasıtasıyla çekirdekteki olağan dışı durumlar tespit edilebilir.

[root@herakleia test]# kstat -s 0 |Durum değerlendirmesi|
Legal system_call handler should be at 0xc0108fb0 ... OK!
Legal sys_call_table should be at 0xc025c530 ... OK!
sys_execve 0xc88e9060 WARNING! should be at 0xc0107950
[root@herakleia test]# kstat -M [ çekirdeğe bağlı modül listesini sırala ]
Using /lib/modules/misc/knull.o
Module Address Size
knull 0xc88eb000 224
root 0xc88e9000 1212 <--- eklenen modül burada (gizlenmemiş)
...

KSTAT hakkında daha geniş bilgi için;
http://www.olympos.org/article/articleview/1089/1/2/(Reklam değildir turkhackteam arşivinde bulamadığım için verdim.)

İnternette, Kernel 2.4.x için bulunan tehlike oluşturacak LKM sayısı, Kernel 2.6.x için yazılan LKM sayısından fazladır(görünürde).
Saldırganlar tarafından sisteme(Kernel 2.6.x) sızdıktan sonra sisteme en çok adore-ng isimli tehlikeli LKM kurulur. Adore nin Kernel 2.4.x haricinde Kernel 2.6.x için versiyonuda bulunmaktadır.
Adore yazılımının genel amacı saldırgan tarafından çalıştırılan ve sisteme yüklenen yazılımların tespit edilmesini zorlaştırmaktır.
Böylece saldırgan sistemde fark edilmeden istediğini yapabilmesini sağlar.




adore-ng yazılımın temel parçaları(bu yazılımda temel görevi adore-ng-2.6.ko üstlenir).
Adore-ng nin temel parçaları:
[root@test ...]# ls -la
adore-ng-2.6.ko
ava*
relink*
relink26*
startadore*
symsed*

adore-ng-2.6.ko dosyası yüklenebilir bir kernel modülüdür(LKM). Tüm her şey bu dosyanın Çekirdek'e eklenmesiyle gerçekleşir. Çekirdek'i yoldan çıkaran bu dosyadır
Diğer dosyalarda buna eşlik eder
Saldırgan sisteme sızdıktan sonra, root hakkını elde etmeyi başarırsa adore-ng ile dosyalarını nasıl gizleyeceğini görelim:

[root@herakleia ...]# insmod ./adore-ng-2.6.ko {Modül çekirdek'e ekleniyor}
[root@herakleia ...]# ps -a {süreç listesi}
PID TTY TIME CMD
7524 pts/2 00:00:00 mc
7587 pts/1 00:00:00 su
7606 pts/1 00:00:00 bash
9738 pts/1 00:00:00 ps
[root@herakleia ...]# ./ava i 7606 {PID 7606 yani bash gizleniyor}
Checking for adore 0.12 or higher ...
Adore 1.53 installed. Good luck.
Made PID 7606 invisible.
[root@herakleia ...]# ps -a {Sistemden uzak olan gözdende uzak olur }
PID TTY TIME CMD
7524 pts/2 00:00:00 mc
7587 pts/1 00:00:00 su



Çalışan uygulamanın ava ile gizlenmesi
Çalışan uygulama nasıl gizlenildiği yukarıda belirtildiği gibi(adore-ng modülü Çekirdek'e eklendikten sonra bu işlemler gerçekleştirildiğini unutmayalım).

Şimdi sistemdeki bir dosyayı nasıl gizleneceğini görelim:

[root@herakleia ...]# ls -la {Saldırgana ait dosyaların listesi}
toplam 41
drwxr-xr-x 2 root root 208 Ağu 2 23:44 ./
drwxrwxrwt 13 root root 1248 Ağu 2 23:42 ../
-rw-r--r-- 1 honeypot honeypot 12814 Ağu 2 21:45 adore-ng-2.6.ko
-rwxr-xr-x 1 honeypot honeypot 930 May 26 2004 relink*
-rwxr-xr-x 1 honeypot honeypot 1175 Nis 18 16:36 relink26*
-rwxr-xr-x 1 honeypot honeypot 218 Nis 18 16:36 startadore*
-rwxr-xr-x 1 honeypot honeypot 8998 Ağu 2 21:45 symsed*
[root@herakleia ...]# ./ava h adore-ng-2.6.ko {Gizlenecek dosyanın ismi}
Checking for adore 0.12 or higher ...
Adore 1.53 installed. Good luck.
File 'adore-ng-2.6.ko' is now hidden.

[root@herakleia ...]# ls -la {Gizlenen dosya ortalıkta gözükmüyor}
toplam 25
drwxr-xr-x 2 root root 208 Ağu 2 23:44 ./
drwxrwxrwt 13 root root 1248 Ağu 2 23:42 ../ -rwxr-xr-x 1 honeypot honeypot 930 May 26 2004 relink*
-rwxr-xr-x 1 honeypot honeypot 1175 Nis 18 16:36 relink26*
-rwxr-xr-x 1 honeypot honeypot 218 Nis 18 16:36 startadore*
-rwxr-xr-x 1 honeypot honeypot 8998 Ağu 2 21:45 symsed*

[root@herakleia ...]# ./ava h startadore {Dosya gizleme}
Checking for adore 0.12 or higher ...
Adore 1.53 installed. Good luck.
File 'startadore' is now hidden.

[root@herakleia ...]# ls -la {Dosyalar gizlendi}

toplam 21

drwxr-xr-x 2 root root 208 Ağu 2 23:44 ./

drwxrwxrwt 13 root root 1248 Ağu 2 23:42 ../

-rwxr-xr-x 1 honeypot honeypot 930 May 26 2004 relink*

-rwxr-xr-x 1 honeypot honeypot 1175 Nis 18 16:36 relink26*
-rwxr-xr-x 1 honeypot honeypot 8998 Ağu 2 21:45 symsed*

Sistemde tüm gizleme operasyonları ava ile yapılmakta.
[root@herakleia ...]# ./ava
Usage: ./ava {h,u,r,R,i,v,U} [file or PID]
I print info (secret UID etc)
h hide file
u unhide file
r execute as root
R remove PID forever
U uninstall adore
i make PID invisible
v make PID visible

Sisteme yüklenen modülleri tespit edecek herhangi bir yazılım yok mu?
Bu sorunun yanıtını verecek çeşitli yazılımlar mevcuttur. Genelde hepsi bilinen tehlikeli modülleri ortaya çıkarırlar. Bilinmeyen bir modülü tespit etmek için biraz çaba harcamak gerekmektedir.
Bu türdeki tehlikeli yazılımları algılayabilecek uygulamalardan bazılarının isimleri şu şekildedir:
Samhain
Airt
Chkrootkit
Rkhunter
Defuserootkit
Determine
Kern_check
unhide-linux26 {Genellikle gizli olarak çalıştırılmış uygulamaları algılamak
için kullanılır}

Analiz

Yukarıda anlatılan tehlikeli yazılımı sistemde açığa çıkarmak için iyi bir analiz yapmak gerekir. Bu türdeki tehlikeli uygulamaların tespit edilme oranı yüksektir. Tespit etme oranının yüksek olması çeşitli güvenlik araçları ile gerçekleşmektedir.
kern_check tek bir parçadan oluşmasına rağmen(.c ile yazılmıştır) adore-ng yi kolaylıkla tespit ediyor.

[root@herakleia TEST]# ./kern_check
Usage: kern_check [-v | --verbose] /path/to/System.map
kern_check [-h | --help]

You need superuser privileges to use this program,
because only the superuser can read from /dev/kmem.

[root@herakleia TEST]# ./kern_check -v /boot/System.map {Kontrol mekanizması}
proc_root 0xc04172a0
proc_root_iops 0xc0417240
proc_root_lookup 0xc0180272
proc_root_dir.proc_iops->lookup: 0xf89c5260 0xc0180272
WARNING: Adore-ng detected !!!
WARNING: You have: proc_root_iops.lookup: 0xf89c5260
WARNING: Correct : proc_root_lookup: 0xc0180272
(a) 0
(b) 0xc0417240

Bazı yazılımlar ise genel bir kontrol yapmaktansa sadece sistemdeki gizli durumunda çalıştırılmış uygulamaları yakalar.
Bu uygulama çeşidine ornek olarak yine .c ile yazılmış .
Kullanımı:
[root@test unhide-25.6.2005]# ./unhide-linux26 proc { Gizli neler var? }
Unhide 11-05-2005
Digital Security Research - !dSR
yjesus@security-projects.com
[*]Iniciando Escaneo a traves de /proc

Detectada PID maliciosa: 7606 {tespit edilen}
Comando: -bash

Sistem ele geçirildiğinde yada sistemde meydana gelen bazı olaylar karşısında, sistemi tehlikeli duruma getiren uygulamaları algılamak için kullanılan araçlardan biri AIRTtir. AIRT(Advanced incident response tool) genellikle sisteme izinsiz giriş yapıldığı tespit edildiğinde sistemde kernel backdoor varlığı, gizli uygulamaların olup olmadığı, gizli portların tespitinde kullanılır.
AIRT derleme işlemi:
[root@test airt-0.4.2]# make

all: compile all the project
default: compile all the project except for modumper
modumper: compile the modumper only
clean: clean all trash except the .ko files
clean_all: remove all the compiled file

[root@test airt-0.4.2]# make default

Compiling sock_hunter process_hunter mod_hunter on 2.6.x…

make -C /lib/modules/2.6.x/build SUBDIRS=/FILES/airt-0.4.2 modules
make[1]: Entering directory `/usr/src/linux-2.6.x'
CC [M] /FILES/airt-0.4.2/sock_hunter.o
CC [M] /FILES/airt-0.4.2/process_hunter.o
CC [M] /FILES/airt-0.4.2/mod_hunter.o
Building modules, stage 2.
MODPOST
CC /FILES/airt-0.4.2/mod_hunter.mod.o
LD [M] /FILES/airt-0.4.2/mod_hunter.ko
CC /FILES/airt-0.4.2/process_hunter.mod.o
LD [M] /FILES/airt-0.4.2/process_hunter.ko
CC /FILES/airt-0.4.2/sock_hunter.mod.o
LD [M] /FILES/airt-0.4.2/sock_hunter.ko
make[1]: Leaving directory `/usr/src/linux-2.6.x'

AIRT toplam 5 parçadan oluşmaktadır.
- mod_hunter
- process_hunter
- sock_hunter
- modumper
- dismod
AIRT bünyesindeki bu araçlarla sistemde gerekli analizler yapılabilmektedir. Örneğin sistemdeki gizli portların varlığını sock_hunter, sisteme gizli olarak entegre edilen modüllerin kontrolü için mod_hunter kullanılır.

10-01-2013 18:20
#2
mamihakan - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2012
Nereden:
Kabristan
Yaş:
24
Mesajlar:
334
Teşekkür (Etti):
45
Teşekkür (Aldı):
43
Konular:
27
Ticaret:
(0) %
Yararlı Bir Konu Daha Önce Okumuştum Bir Forumda amaTeşekkürler...!
Kullanıcı İmzası
BİZ KİMMİYİZ?
- Avrupa'ya aman dileten (Attila)
- 50 binle 200 bin kişilik orduyu yok eden (Alparslan)
- 2 bin kişi ile 500 bin haçlı ordusunu Hatay'a kadar kovalayan (Kılıçarslan)
- Gemileri karadan yürütüp çağ kapatıp çağ açan (Fatih)



Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı