Merhabalar değerli Türk Hack Team ailesi.
Bugün sizlere Shell Exploitation hakkında bilgi vereceğim. Kullanıcağımız Başlıklar.
Shell nedir?
Shell Nasıl Atılır?
Shell Türleri?
Shell Nedir?
Shell, sisteme yüklendiğinde size kapsadığı yetkileri veren bir sistemdir. Bu yetkiler okuma, yazdırma, silme, oluşturma gibi gibi birçok yetkiyi içerisinde barındırmaktadır. Shell atığınız sistemin içerisinde bu yetkilileri kullanmanıza yarayan olayın ismi Permissiondur.
Permissionları yani izinleri açık olan bir sistemde istediğiniz hemen hemen her şeyi yapabillirsiniz. Kök dosyalarına erişmekte bunun içerisinde mevcuttur. Eğer izinler kapatılırsa bu yetkileri sınırlandırmakta mevcuttur. Genelikle web sitesinde bir açık üzerinden shell sistemin içerisine sokulur. Bunada reverse shell deninmektedir. Simdi bu shell nasıl atılırmış buna bakalım.
Shell Nasıl Atılır?
Shell'i sisteme sokmak için birçok yöntem bulunmaktadır. Bu yöntemler sırasıyla şunlardır;
SQL Injection Açıklarından Faydalanabiliriz
Exploits Kullanarak Yükleme Yapabiliriz
Upload Açıklarından Faydalanabiliriz
Hedef Sunucudan Hesap Açarak Yükleme Yapabiliriz
Muhtemelen burada en çok kullanılan yöntemler SQL Injection ile Exploits kullanarak atılan shelldir. Simdi sırasıyla bu açıkları anlatıyım.
İlk başta SQL ile başlamak isterim. Simdi SQL bir database oluşturmamıza yarayan bir sablon dildir. SQL İnjection açığını tetiklediğimizde o sitenin yönetici hesap kayıtlarına ulaşabilliriz. Eğer bütün işlemleri doğru bir şekilde yaparsak ve bir dosyayı yükliyebildiğimiz bir hesaba girersek kendi oluşturmuş olduğumuz shell'i sisteme .php olarak sokabilliriz. Simdi örnek vererek gideyim. Bir admin panelin'in içerisine girdim ve nonantiy.php diye bir shell dosyasını sistemin içerisine yükledim. Simdi benim bu dosyayı çalıştırmam için bu uzantıya gitmem gerek eğer gidersem otomatik olarak bu shell çalışır ve ana host'a bağlanmam için bana bir kapı açılmış olur.
Simdi ise Exploits kullanarak bir sisteme shell yüklemeye bakalım. Genelikle bu yöntem bir sisteme zafiyet içeren bir port bulundurduğunda kullanırız. Örnek olarak zafiyetli ve Metasploit framework'ü ile kolayca zafiyretini kullanabileceğimiz bir port açık diyelim. Bunu Metasploit frameworkü ile kolayca sömürebilliriz. Bu yöntemlerin tamamına Exploit kullanarak shell yükleme denir.
Upload açıklarında iş biraz daha değisiyor. Genelikle yüklediğiniz dosyanın shell olduğu sistem tarafından anlaşılıyor ve engeleniyor. Bu yüzden .php gibi değilde shell'in içerisine GIF89;a yazısını eklememiz gerekiyor. Eğer bu işlemi yaparsak shell'imiz resim olarak görünür ve bunun sayesinde bir çok siteye shell atabilliriz. En etkili yollardan birisidir.
Yukarıda kısaca shell atma yöntemlerinden bahsetim simdi shell türlerine bakalım.
Shell Türleri
Toplam 3 adet shell türü bulunmaktadır. .php, .asp ve son olarakta .aspx'tir. Php ile yazılmış sheller genelikle Linux sunucular için kullanılırken .asp ve .aspx genelikle Windows sunucularda kullanılır. En çok kullanılan sheller ise;
C99.php
R57.php
CyberSpy5.asp
LORD.aspx
En çok kullanılan ve en bilindik sheller bunlardır. Bunlar dışında milyonlarca shell bulunmaktadır fakat mantıkları hemen hemen aynı olduğundan dolayı bunlar arasında en çok bilinenleri yazdım buraya.