|
|
![]() |
![]() |
|
HACK ONL�NE
|
EXPLOITLER:
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.