İPUCU

Linux Linux İle İlgili Bilgi Paylaşım Platformu

Seçenekler

Command İnjection

10-08-2018 19:33
#1
deli siber - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2017
Nereden:
kUDÜS ALĞAYN
Mesajlar:
825
Teşekkür (Etti):
68
Teşekkür (Aldı):
163
Konular:
52
Ticaret:
(0) %




COMAND INJECTİON NEDİR?
Command Injection, yani komut enjeksiyonu saldırganın zafiyet barındıran bir uygulama üzerinden hedef sistemde dilediği komutları çalıştırabilmesine denir. Komut ile kastedilen şey Windows'ta CMD ve Linux'ta Terminal pencerelerine girilen sistem komutlarıdır. Literatürde Shell kodlaması diye de geçer. Command Injection saldırısı büyük oranda yetersiz input denetleme mekanizması nedeniyle gerçekleşmektedir. şimdi bu anlatılanların ne anlama geldiğini DWWA üzerinde pratik olarak gösterelim.............

Command Injection Saldırısı Nasıl Yapılır?
öncelikle DVWA'nın sunduğu Command Injection sayfasına bir göz atalım



comand injection sayfasında bir metin kutusu görüyorsunuz bu kutucuğa gireceksiniz bir ip adresi veya bir domain adresi sonucu ekrana 4 tane ping paketini belirten adrese göndereceğiz



gördüğünüz üzere şu tespite varabiliriz eğer ping paketleri gönderiyorsa veya alıyorsa -ki çıktı bunu söylüyor site -bu durumda web uygulaması sunucu tarafında CMD ya da Terminal komutları çalıştırıyor demektir.Bu tespitten sonra ikinci tespit etmeniz gereken nokta ise metin kutusuna girdiğiniz IP veya domain adresinin sunucu tarafındaki CMD/Terminal komutlarına eklendiği ve bu şekilde CMD/Terminal komutlarının çalıştığıdır çünkü çıktıya dikat edecek olursanız metin kutusuna girilen adresin aynısı çıktıda da mevcutur yani ping paketleri metin kutusundaki adrese gönderilmiştir



Bu tür bir hizmet veren web uygulamasında eğer metin kutusu denetlemeye tabi tutulmamışsa saldırgan komut satırı kodlama bilgisini kullanarak var olan ping komutunun yanına kendi komutunu ekleyebilirBöylelikle ping komutunu çalıştıran sunucu istemeden saldırganın gönderdiği komutu da çalıştıracaktır ve ekrana yansıtacağı çıktının içinde saldırganın eklediği komutun çıktısı da yer alacaktır. Şimdi 01bu işlemi daha iyi anlayabilmek için metin kutusundan gönderdiğimiz verinin sunucu tarafında nasıl işlendiğini PHP kodlaması ile görelim:
Metin kutusuna girilen site adı sonrası ekrana 4 paketli bir ping çıktısı yansımaktadır. Bu paketlerin belirttiğimiz adrese gittiği ifade edildiğine göre arkaplanda metin kutusundan alınan verinin ping komutunun sonrasına eklendiği sonucuna varabiliriz. Bu durumda arkaplanda çalışan ilgili PHP kodu şöyle bir şey olmalıdır ki ekrana bizim gözlemlediğimiz çıktıyı verebilsin:
code echo shell_exec('ping -c 4 ' . $metinkutusu);

shell_exec() fonksiyonu, içerisinde yer alan ping komutunu sunucunun komut satırı üzerinde çalıştıracaktır ve echo komutuyla da çalıştırılan komutun çıktısı ekrana yansıtılacaktır. Yukarıdaki satırda yer alan -c 4 ifadesi 4 kere ping paketi gönder anlamına gelir ve $metinKutusu değişkeni ise ekrandaki metin kutusuna girilen veriyi tutan bir değişkeni temsil eder. Şimdi bu PHP kodunu gördükten sonra command injection'ı daha iyi idrak edebiliriz. $metinKutusu'na girilecek bazı operatörlerle yeni komutlar dahil edilebilmektedir. Eğer shell (komut satırı) diline biraz vakıfsanız bilirsiniz ki &&, | ya da || gibi operatörler, ayrıca ; gibi sonlandırıcılar shell komutlarını birbirlerinden ayıran ya da birbirlerine bağlayan özelliğe sahiptirler. İşte bu operatörler yardımıyla ping komutunun sonuna yeni bir komut ekleyeceğiz. Böylece command injection teşebbüsünde bulunmuş olacağız.

Metin kutusuna girilecek bir site adından sonra && operatörünü eklersek bundan sonra istediğimiz shell komutunu girebiliriz.

1/ ping [url=http://www.includekarabuk.com]Anasayfa | && cat /etc/passwd

Yukarıdaki satır şu anlama gelir: ping'i çalıştırdıktan sonra cat'i çalıştır. Bu shell kodlamasındaki cat komutu argüman olarak aldığı dosyanın içeriğini ekrana basmaya yarayan bir komuttur. && operatörü ise operand'larını sırayla çalıştırmaya yarayan bir AND operatörüdür.


Yukarıdaki kodu okuyacak sunucu ping komutundan dönen çıktıyı nasıl ekrana yansıtıyorsa ping'le beraber kullanılan cat komutunun çıktısını da ekrana yansıtacaktır. Çünkü hatırlayın! Arkaplanda çalışan script kodu şu şekilde idi:

cod:: echo shell_exec('ping -c 4' . $metinKutusu);

$metinKutusu [url=http://www.includekarabuk.com]Anasayfa | değerine sahipken sunucu bu veriyi şöyle okuyordu:

1 echo shell_exec('ping -c 4

Dolayısıyla ekrana ping komutunun yaptıkları yansıyordu. Eğer $metinKutusu değişkeni [url=http://www.includekarabuk.com]Anasayfa | && cat /etc/passwd değerini tutarsa bu durumda sunucu arkaplanda bunu şöyle okuyacaktır:

cod:: 1
echo shell_exec('ping -c 4 && cat /etc/passwd');

Dolayısıyla shell_exec() fonksiyonu, içindeki komutların oluşturduğu toplam çıktıyı döndürecektir ve echo ile de hepsi ekrana yazdırılacaktır. Dolayısıyla && operatörü enjeksiyonu kusursuzca yapmamızı sağlamış olacaktır. Şimdi ekrandaki metin kutusuna aşağıdaki kodu girelim:

1
[url=http://www.includekarabuk.com]Anasayfa | && cat /etc/passwd

Submit butonuna tıklayalım ve ekrana yansıyan yeni çıktıya bakalım:



Görüldüğü üzere enjekte ettiğimiz cat /etc/passwd komutunun çıktısı ping çıktısının altında görüntülenmektedir. Böylelikle hedef sitenin "sunucusunda" kendi belirlediğimiz sistem komutunu çalıştırabildiğimizi fark ettik. Yani sayfanın bir Command Injection zafiyeti barındırdığını müşahade etmiş olduk. Bu zafiyet ekrandaki veri girilen metin kutusunun herhangi bir denetleme mekanizmasına sahip olmayışından kaynaklanmaktadır.
Sayfa Hack'lemek
cod... | && echo "<font color=red><center><h1>Hacked By Script Kiddies</h1></center></font><br>" > index.php

Yukarıdaki enjeksiyon kodundaki echo komutu argüman olarak aldığı string'i ekrana basmaya yarar. > operatörü ise kendinden önceki komutun output'unu kendinden sonraki dosyanın içeriğine yazmaya yarar.


Yukarıdaki komut girildikten sonra sayfayı yenileyin. Böylelikle temiz bir şekilde sayfayı hack'lemiş olursunuz.


0Bu örnekte biz sayfaya sadece metin yazdırdık. Fakat istenildiği takdirde resim ve video da konulabilir. Bunun için yapılması gereken şey yukarıdaki enjeksiyon kodunun && operatörü sonrasında yer alan tırnak işaretleri arasına ilgili resmin ya da videonun html kodunu yerleştirmektir. Böylece görüntülenecek sayfa belirtilen resim ve videoyu ekrana yansıtacaktır.

not.Eski sayfaya tekrar kavuşabilmek için yedeklediğiniz index.php'yi dvwa/vulnerabilities/exec/ dizini içine yapıştırmalısınız.

EKSTRA
index.php'yi dvwa/vulnerabilities/exec/ dizini içine yapıştırmalısınız.

Cod 1; ls

1 sayısı ile 1 adresine ping at demiş oluyoruz. Geçersiz bir işlem olacağı için ekrana onla ilgili bir çıktı yansımayacaktır. Böylece sadece enjekte ettiğimiz kodun çıktısını görebileceğiz. 1'den sonraki noktalı virgül ile ping komutunu sonlandır demiş oluyoruz ve yeni bir komut satırına geçiş yapmış oluyoruz. Bu yeni satırdaki ls komutu ile de bulunulan dizindeki dosyaların isimlerini döndürüyoruz ve en sonunda echo komutuyla da bulunulan dizindeki dosyaların isimlerini çıktı olarak ekrana bastırıyoruz.

Eğer saldırgan bir üst dizinde yer alan dosyaları görüntülemek isterse aşağıdaki komutu girebilir:

cof 1; cd .. && ls



Eğer saldırgan üst dizinin üst dizininde yer alan dosyaları görüntülemek isterse aşağıdakini girebilir:

cod:: 1; cd .. ; cd .. && ls



Böylelikle saldırgan hep bir üst dizine giderek veya farklı bir dizine dallanarak dilediği dosyanın konumunu öğrenebilir ve içeriğini ekrana yazdırabilir. Aynı zamanda dilediği dosyanın içeriğine Hacked By Falan Filan tarzı şeyler yazdırabilir.

Farzedelim ki saldırgan vardığı dizine bir not bırakmak istiyor. Bunun için aşağıdaki komutu girmesi yeterlidir:


cod:: 1; cd .. ; cd .. ; echo "Hack yedin. Açığını kapatmak için şunları şunları yap vs..." > HACKED.txt; cat HACKED.txt

Böylelikle DVWA'nın kök dizininde HACKED.txt adlı bir metin belgesi oluşturulur



Aynı zamanda kodun enjekte edildiği sayfaya oluşturulan not belgesinin içeriği yansıtılır. Böylelikle dosyanın oluşturulduğundan emin olunur:




Kullanıcı İmzası
▂▃▅▆▇██ ☾✯☾✯☾✯ DELİ SİBER ☾✯☾✯☾✯ ██▇▆▅▃▂▂

███▓ ☾✯ ▓███___________BEN VAZGEÇTİM SIRA SİZDE_________███▓ ☾✯ ▓███


███▓ ☾✯ ▓███ NE MUTLU TÜRKÜM DİYENE ███▓ ☾✯ ▓███

Konu AXPA tarafından (13-08-2018 14:31 Saat 14:31 ) değiştirilmiştir.
Sl1pKnoT Teşekkür etti.

10-08-2018 19:36
#2
jGozluk - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2017
Nereden:
Russia
Yaş:
19
Mesajlar:
1.905
Teşekkür (Etti):
507
Teşekkür (Aldı):
575
Konular:
102
Ticaret:
(0) %
Ellerine Sağlık Okuyacağım
Kullanıcı İmzası
Balık; Gökyüzünün en masum masalıdır, Kuş; Gökyüzüne adanmış bir masal karekteri.
deli siber Teşekkür etti.
10-08-2018 19:43
#3
'Teorina - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2015
Mesajlar:
4.610
Teşekkür (Etti):
1139
Teşekkür (Aldı):
1643
Konular:
536
Ticaret:
(0) %
Emeğine sağlık
deli siber Teşekkür etti.
10-08-2018 19:47
#4
HydraThalles - ait Kullanıcı Resmi (Avatar)
Siber İstihbarat Uzmanı
Üyelik tarihi:
01/2017
Nereden:
UnderGround
Yaş:
8
Mesajlar:
2.313
Teşekkür (Etti):
254
Teşekkür (Aldı):
519
Konular:
136
Ticaret:
(0) %
Emeğine sağlık güzel anlatım
Kullanıcı İmzası
"Atsız Ruh Adam kitabında "sevginin niçini olmaz ki" diye boşuna demiyordu. Kimi seversek sevelim, neye değer verirsek verelim, şundan dolayı seviyorum dediğimiz anda sevdiğimiz ne ise kim ise artık bir araçtan ibaret."
Konu "Squ4LL tarafından (10-08-2018 22:23 Saat 22:23 ) değiştirilmiştir.
deli siber Teşekkür etti.
10-08-2018 19:49
#5
ByZehirxx - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Nereden:
Geldin
Mesajlar:
596
Teşekkür (Etti):
77
Teşekkür (Aldı):
92
Konular:
67
Ticaret:
(0) %
Ellerine emeğine sağlık
Kullanıcı İmzası
Eğer kendilerini tanımış olsaydınız, Türklere hayran olurdunuz.-
10-08-2018 19:52
#6
cewl - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2017
Nereden:
Merdekan
Mesajlar:
2.745
Teşekkür (Etti):
0
Teşekkür (Aldı):
754
Konular:
174
Ticaret:
(0) %
elne salik (;
10-08-2018 20:12
#7
LI0N - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2018
Mesajlar:
252
Teşekkür (Etti):
26
Teşekkür (Aldı):
57
Konular:
15
Ticaret:
(0) %
Eline sağlık gayet yeterli güzel bir konu olmuş.
Kullanıcı İmzası
Tabutlara sığmayacak kadar intihar var, şeytanın siparişi
dünyanın ninnisi olmuş sirenler, ya RAB bizi özler
deli siber Teşekkür etti.
10-08-2018 20:41
#8
atmaca7887 - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
-
Mesajlar:
2.467
Teşekkür (Etti):
308
Teşekkür (Aldı):
368
Konular:
131
Ticaret:
(0) %
Ellerine sağlık.
Kullanıcı İmzası
Call Of Duty

Captain Price
Ghost
10-08-2018 20:46
#9
ElBahram - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2017
Nereden:
New Jersey
Mesajlar:
386
Teşekkür (Etti):
22
Teşekkür (Aldı):
61
Konular:
22
Ticaret:
(0) %
Eline sağlık, gayet güzel ve emek verilmiş.
Kullanıcı İmzası
Bir Türk'e İmkansız de Sonra Otur ve İzle 😉
10-08-2018 23:19
#10
deli siber - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2017
Nereden:
kUDÜS ALĞAYN
Mesajlar:
825
Teşekkür (Etti):
68
Teşekkür (Aldı):
163
Konular:
52
Ticaret:
(0) %
Alıntı:
LI0N´isimli üyeden Alıntı Mesajı göster
Eline sağlık gayet yeterli güzel bir konu olmuş.
Alıntı:
cewl´isimli üyeden Alıntı Mesajı göster
elne salik (;
Alıntı:
ByZehirxx´isimli üyeden Alıntı Mesajı göster
Ellerine emeğine sağlık
Alıntı:
HydraThalles´isimli üyeden Alıntı Mesajı göster
Emeğine sağlık güzel anlatım
Alıntı:
'Teorina´isimli üyeden Alıntı Mesajı göster
Emeğine sağlık
Alıntı:
jGozluk´isimli üyeden Alıntı Mesajı göster
Ellerine Sağlık Okuyacağım
Hepinizin bu değerli yorumları için teşekür ederim
Kullanıcı İmzası
▂▃▅▆▇██ ☾✯☾✯☾✯ DELİ SİBER ☾✯☾✯☾✯ ██▇▆▅▃▂▂

███▓ ☾✯ ▓███___________BEN VAZGEÇTİM SIRA SİZDE_________███▓ ☾✯ ▓███


███▓ ☾✯ ▓███ NE MUTLU TÜRKÜM DİYENE ███▓ ☾✯ ▓███


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı