Exploit Nedir? NasiL kuLLaniLir?

Partizan

New member
Katılım
18 Haz 2005
Mesajlar
1,346
Reaction score
0
Puanları
0
Yaş
44
Konum
Cuba
Exploit Nedir, Nasil Kullanilir

Bug Nedir?

Bug ,kisaca bir isletim sistemi üzerinde bazi hatali programlar yüzünden meydana gelen sistem
açikligidir. Bu sistem üzerine kopyalanmis bir oyundan,bir mail programindan yada sistem
üzerinde ki IRC programindan bile meydana gelebilir. Bu hatalar bizim sistem de r00t seviyesine
çikmamizi saglarlar :)

Exploit Nedir?

Exploitler , sistemde ki buglar sayesin de r00t seviyesine çikabilmek için yazilmis
programlardir. Exploitler iki sekilde yazilirlar.Local ve Remote.Local exploitleri kullanirken
sistemin bir kullanicisi olmak zorundasinizdir. Fakat remote exploitleri sistem de kaydiniz
yokken kullanabilirsiniz.

Simdi bu iki basligi kavradiktan sonra ,olaya basliyabiliriz. Gelin Exploit lerle gücümüzü
gösterelim :))

mount/umount açigindan baslayabiliriz mesela,

Sistemde /bin dizinine gidin ve umount yada mount isminde bir dosya arayin.. Eger bulamadiysaniz
su komutu yazabilirsiniz.

find / -name umount -print -xdev

Dosyanin nerde oldugunu buldugunuzda, o dizine gidip dosyanin özelliklerini görmek için su
komutu yazin,

ls -al um*

Eger dosyanin sahibi r00t sa ,kesinlikle sistemi kapabiliriz.. Bakalim,

avanak:/bin# ls -al um*

-rwsr-sr-x 1 root 8888 Aug 20 1998 umounnt

avanak:/bin#

Tamam , artik isler çok çok kolaylasti. Simdi isimiz bir exploit e kaldi. Verecegim exploit
sayesinde sistemden takir takir r00t alabileceksiniz :) Exploit i Download etmek için buraya
tik edin(umount.c). Bu exploit i ,sisteme yollayip orada compile etmelisiniz. Bunu yapmak için su

gcc umount.c -o umount (umount yerine istediginiz ismi yazabilirsiniz)

Gcc komutu sayesinde sistemde umount adinda çalistirilabilir bir dosya yaraticaksiniz..

Not : Eger Exploit çalismazsa,komutun basina ./ takisini koymayi deneyin. Ve ardindan 0 - 8
arasi bir sayi

ekleyin.Sunun gibi;

./umount 4

yada

./umount 2

Ve sistem elleriniz de ! Artik hersey size kalmis.r00t un neler yapabilecegini anlatmama gerek
yok sanirim,

+-+-+-+-+-+-+

Eger bu yol ise yaramazsa(ki bu beni bayagi sasirtir),simdi anlaticagim yolu denemeniz
gerekicek. En sevdigim Exploit bu diyebilirim. Çünkü en kolayi ve de su ana kadar bana hiç
sorun yüzü göstermedi. "usr/bin" dizininde splitvt isminde bir dosya arayin.Eger dosya SUID
ise yani sahibi r00t ise, olayi bitti sayabiliriz. Bu exploiti sadece "Linux 2-0.3*" sistemlerde
kullanabilirsiniz.Download etmek için burayi tik edin.(sp.c)

Bakalim bu sey nasil çalisiyor?

Dosyayi tabiki ilk olarak sisteme yollayin Ilk önce degi*i*ligi farketmeniz için "whoami" komutu
ile kim oldugunuzu ögrenin.Kullanici isminiz ortaya çikicak,

1. Dosyayi "gcc" derleyicisi ile exec(çalistirilabilir) hale getirin, (gcc sp.c sp)

2. Derlediginiz dosyayi çalistirin,

3. "splitvt" adli dosyayi çalistirin,

Isiniz bittikten sonra yine "whoami" komutunu çalistirin.O da ne? r00t da kim yahu? :)

+-+-+-+-+-+-+

Eheu, bu da çalismadi diyelim( ki olamaz mümküniyet yok) Tüm Linux dagitimlarinda bulunan bir
bug vardir. SendMail bug i, eger buglari takip ediyorsaniz ,kesinlikle duymus olmaniz lazim.
Ben uzun süredir bu bug la ilgilenmiyordum. Belki patch i bile çikmistir
:( ..Ama denemek te zarar yok diyorsaniz bu kisa exploit i hemen download edin(sm.sh)

..Sisteme yollayin,

Simdi dosyayi , chmod +x leyin.

chmod +x sm.sh

1 . Dosyayi çalistirin,

2 . Sizi /tmp dizinine göndericek,

3 . "ls -l" yazin,

4 . Orda SUID bir sh dosyayi oldugunu göreceksiniz,

5 . "whoami" yazip r00t olup olmadiginiza bakin, eger degilseniz,

6 . "./sh" yazin, ve simdi r00t oldugunuzu görebiliceksiniz..

+-+-+-++-+-+-+

Biraz Linux u birakip diger sistemlere göz atalim.Simdi dalicagimiz sistem bir SunOS.UnixBased
bir sistem çok az farklilikari var.Mesela SunOS ta "gcc" komutu yerine "cc" komutu kullaniliyor.
Fakat bunlara pek ihtiyacimiz yok.Çünkü simdi dalicagimiz sistem de exploit kullanmiyacagiz.
SunOS taki 3-4 tane bug tan bir tanesi "dtappgather" komutunun bir bug i. Ben daha önceden bunu
bilmiyordum.Geçenlerde göz attigimiz bir SunOS sistemde SegFault ,sayesinde ögrenmis oldum.
Fakat o sistemde çalismadi.Neyse fazla söze gerek yok .Baslayalim,

Sistemde "dtappgather" adinda bir dosya bulunmasi lazim,bu genelde /var/dt de bulunuyor.
Dosyayi buldunuzsa

sorun kalmadi.Bu dosya varsa "generic" de vardir.Tamam simdi /var/dt/appconfig dizinine girin.

$ ls -al

total 6

drwxr-xr-x 3 root root 512 Feb 3 14:22 .

drwxr-xr-x 5 root root 512 Jun 22 11:08 ..

drwxr-xr-x 4 root root 512 Jun 22 10:24 appmanager

$

"generic" dosyasi appmanager adli dizinin içinde bulunuyor.Simdi burda yazicagimiz tek bir komut
/etc/shadow

dizinindeki unshadowed passwd dosyasini ele geçirmemizi saglayacak.Komut su ;

$ ln -s /etc/shadow /var/dt/appconfig/appmanager/generic-display-0

Bunu yazdiktan sonra elimize passwd dosyasi geçiyor,artik onu bir Passwd Cracker la kirdiktan
sonra elimize r00t un

sifreside geçer.
------------------------------------------------------------ ------------------------------------------------
Exploit Nedir, Nasil Kullanilir (Bölüm 2)*i*ILDINIZ BELLI SIMDI BIRAZ DINLENIN SONRA DEVAM EDIN :)
------------------------------------------------------------ ------------------------------------------------
Exploit Nedir, Nasil Kullanilir ?

Isletim sistemlerin çok kullanicili sistemlerde kullanilmaya baslamasiyla birlikte sistemlerde
kullanicilarin yetkisi de sözkonusu olmustur. Kisisel isletim Sistemlerinde (örnegin DOS)
sistemi ayni anda tek kullanici kullandigi için bütün dosyalara erisebilir, okuyabilir vs.
Ancak ayni anda pek çok kisi tarafindan kullanilan Isletim sistemlerinde sistemin bir yöneticisi
olmak zorundadir ki bu Novell'de supervisor, Unix ve clone'larinda root, NT'de administrator
olarak adlandirilir. Iste bu çok kullanicili sistemlerde yetkisini artirmak isteyen normal
kullanicilar sistemde daha yetkili hale gelebilmek için "exploit" dedigimiz programlar
yazmislardir. Exploitler isletim sistemi üzerindeki herhangi bir programin ek*i*liginden
yararlanarak kullaniciyi daha yetkili hale getirmeye yararlar. Exploitler local ve remote
olarak ikiye ayrilir. Local exploitler isletim sisteminin bir kullanicisiyken uygulanabilir,
remote exploitlerde ise sistemin bir kullanicisi olmaniza gerek yoktur. Sistem açiklari ve bu
açiklari kullanmak için yazilmis exploitler günden güne artmakta ve her sistem açigi için
patch'ler yazilmakta. Bazi Isletim Sistemleri için örnek exploitler:

"overflow" exploiti (FreeBSD'de lprm açigi): Pointer artimetigini kullanarak
(Pointer degiskenler degiskenin içindeki bilgiyle birlikte bellek adresini de tutarlar)
tampon bellege (buffer) bir string kopyalayarak tasma olusturur. Sistemdeki lprm komutunu
kullanir. lprm komutu uzaktaki bir yaziciya gönderilen bir isi iptal etmeye yarar. "lprm -P
bloggs" komutuyla is iptal edilebilirken kuyruktaki ikinci bir is ayni anda "lprm -P bloggs
bloggs" la iptal edilebilir. Bu da buffer owerflow hatasi meydana getirir. Bu sayede "root"
erisimi saglanir. Lokal bir exploittir.

Derleyici ve /tmp Hatalari (Solaris'de gcc tempfile açigi): Gcc derleyicisinin 2.7.2.x ve önceki
sürümlerinde /tmp dizinine (geçici islemlerin yürütüldügü dizin. Windows dizini altindaki temp
dizini gibi) sembolik link (bir dosyaya ya da dizine ulasabilmek için konan linkler.
Windows'taki .lnk dosyalari gibi) olusturulur ve bu linkten yararlanarak lokal root hakki alinir.

Program Hatalari (Linux'daki X11Amp Programi açigi): X11Amp çalistirildiginda ~./X11amp isminde
bir dosya olusturur. Bu hatayi linux'ta söyle kullanabilirsiniz:

mkdir ~/.x11amp

ln -s /etc/shadow ~/.x11amp/ekl

Bu komutlari yazdiktan sonra X11Amp'i çalistirip "ekl" 'yi seçin bütün girisleri seçip silin.
Program çakilacak ve /etc/shadow dosyasini alabileceksiniz.

Microsoft'un FrontPage Server Extensions'unda karsilasilan açiklar: Frontpage extensions'un
kullanildigi web sitelerinde pek çok açik bulmak mümkün, örnegin Frontpage 98'de dizin erisim
haklari iyi düzenlenmedigi için _vti_pvt dizini "WORLD WRITABLE" :) olarak düzenlenmis. _vti_pvt
dizininde ise "service.pwd" dosyasinda sifreler tutulmakta :)

~aLintidir~
 
Sistemde /bin dizinine gidin ve umount yada mount isminde bir dosya arayin.. Eger bulamadiysaniz
su komutu yazabilirsiniz.

find / -name umount -print -xdev

üstad bu komutu nerde yazacağız ?


Exploit i Download etmek için buraya
tik edin(umount.c).
:confused: :confused:
 
Geri
Üst