Shell nedir?

shell-nedir

Gelişen teknoloji ile birlikte pek çok çeşitli yazılım üretilmiştir. Shell bilgisayarın işlevlerinin kontrol edilmesini sağlayan yazılıma verilen addır. Bu yazılım komut satırı kullanılarak çalışır. Shell çoğunlukla web sitesi yöneticisinin bilgisi dışında web sitesini ele geçirmek ya da bazı yetkiler elde edebilmek amacıyla sızma testi niteliğine sahip olan kod bileşenleridir. Web sitesi üzerinde değişiklik yapma hakkına sahip olan yetkililer bulunur. Söz konusu yetkiler de sitenin hosting hizmetine kullanıcı adı ve şifre bilgisine sahip olmak suretiyle dahil olarak elde edilir. Hostingte kullanıcı adı ile şifre bilgisine sahip olmaya root olmak adı verilir. Root olmaksızın web sitesi üzerinde yalnızca yazma, okuma ve silme yetkileri elde edilebilir.

Shell Ne Anlama Gelir?

İngilizce bir terim olan shell kelimesinin Türkçe karşılığı kabuk olarak nitelendirilir. Shell web sitelerine yüklenir. Temel amaç web sitesine sızarak bilgileri elde etmek ve web sitesinin yöneticisi haline gelmektir. Shell ile web sitesi üzerinde yazma, silme ve okuma eylemleri yerine getirilebilir. Bu eylemler bazı durumlarda site adminin yetkileri kullanılarak bazı durumlarda da host sahibinin yetkileri kullanılarak gerçekleştirilebilir. Bu duruma ise izin (permission) yetkisi adı verilir.

İzin yetkisi elde edildiğinde yani izinlerin açık durumda olduğu bir sunucuda web sitesinde yetki alan bir kişi istediği tüm dosyalar ve tüm klasörleri okuyabilir, değiştirebilir, siler ve yeniden yükleyebilir. İzinlerin kapalı halde olduğu sunucu da ise bu yetkiler sınırlı durumdadır. Sınırlılığın kalkabilmesi için de sunucunun rootlanması gerekir.

Pek çok çeşitte shell komutu mevcuttur. Bu komutların tam olarak bilinmesi gerekir. Böylece shell en verimli şekilde kullanılabilir. Shell komutlarını iyi bilen bir kişi sınırlı erişim bulunan bir web sitesinde tam yetkili olabilir.

Pek çok sunucu web sitesi yetkilisinin manuel geçiş yapmasına olanak tanır. Bu ise spoll/mail kısmına girilerek sunucuya dahil olan diğer web sitelerinin kullanıcı adını öğrenmek suretiyle yapılabilir. Kullanıcı adı öğrenildikten sonra adres çubuğundan manuel geçişler yerine getirilebilir.

Shell Türleri Nelerdir?

Yaygın olarak kullanımda olan 2 veya 3 adet shell bulunmaktadır. Bu shellerin uzantıları ise .php, .asp ile .aspx olarak belirlenmiştir. Bu yaygın olan shellerin haricinde aynı temel ilkeler ile işlev gösteren yaklaşık olarak 100 adet shell bulunur.

Shell Ne İşe Yarar?

Tam olarak tüm yetkiler alınmadan yapılan basit bir shell atma işlemi sayesinde web sitesi üzerinde kullanıcıya sunulan yetkiler oldukça sınırlıdır. Sadece okuma, yazma ile silme işlemleri yapılabilir. Shell atılarak web sitesinde arka planda çalışan kodlara ulaşılır ve mesaj trafiği görüntülenebilir. Shell atma işlemi mutlaka ayrıntılı bilgiye sahip olan yetkin kişiler tarafından yapılmalıdır. Aksi halde ciddi boyutlu zararlar meydana gelebilir.

Shell Atmak Nedir?

Shell atmak kısaca web sitesi üzerinde tam yetkiye sahip olmak anlamına gelir. Shell atmak için çeşitli programlama dilleri kullanılır. Bir araya getirilen programlama dilleri ele geçirilmek istenen web sitesine yüklenir. Daha sonra hosting yani sunucu üzerinden web sitesi yöneticisinin yetkileri elde edilir. Kullanıcı adı ve şifre ele geçirildikten sonra tüm yetkilere sahip olunarak dilenirse web sitesi shell atan kişinin kendi üzerine kolaylıkla alınabilir. Shell atma işlemi bazı durumlarda sistem açığından faydalanılarak hostinge yüklenir ve bazı durumlarda da bir dosya içerisinde olacak şekilde yüklenebilir. Shell ile web sitesinin bilgileri çalınabilir, web sitesine tamamen zarar verilebilir. Özellikle deneyimli bilgisayar korsanlarının kolaylıkla kullanarak istediği bilgiyi elde edebildiği bir yazılımdır.

Shell Nasıl Atılır?

Bir web sitesinin shell atılmak suretiyle ele geçirilebilmesi için sitede bulunan açıkların keşfedilerek kullanılması gerekir. Shell atmak için yapılması gereken işlemler şu şekilde sıralanabilir:

1. Uzaktan Dosya Ekleme (Remote File Inclusion)

Remote kelimesinin Türkçe karşılığı uzaktan anlamına gelir. File inclusion ise dosya eklemek anlamındadır. Uzaktan erişim sağlayarak dizin altına dosya ekleme yapılabilir ve veritabanına erişim yetkisi elde edilebilir.

2. SQL Ekleme (SQL injection)

Kullanıcı verileri dinamik SQL verileri halinde saklanır. Bu sayede basit sorgular yapılarak kullanıcı adı ile şifre öğrenilir. Söz konusu sorgular şu şekilde işlev gösterir:

Öncelikle kullanıcı adı ve parola karşılaştırma sorgusu sisteme girilir. Sorgulara cevaben de or 1=1 yazılarak gereken bilgiler temin edilir. 1 sayısın 1’e eşit olduğu bilgisayar tarafından doğru olarak yanıtlandığında kullanıcı adı ve şifre sorgusuna da doğru cevabın verildiği net olarak görülmüş olur. Bu sayede elde edilen bilgiler sayesinde web sitesine erişim hakkı elde edilmiş olur.

3. Exploit

xploit adı verilen kod parçaları bulunur. Bu kodlar sayesinde de sistem açığı web sitesi sahibine bildirilir. Exploit adlı kod parçalarının yazılması oldukça zordur. İleri derecede uzmanlık gerektirir.

Shell Temizliği Nasıl Yapılır?

Shell atılmış bir web sitesi site sahibi için oldukça sıkıntılı bir durumdur. Bunun nedeni ise shell atılmış olması nedeniyle web sitesinin hacklenmesidir. Bu durumdan sonra web sitesi üzerindeki güvenlik önlemleri en üst düzeye çıkarılmalı ve web sitesine olan girişlerin saptanmasına çalışılmalıdır. Ancak bu da oldukça karmaşık bir işlemdir. Pek çok aşama ve işlem gözden geçirilerek shell’e ulaşmak gerektiğinden süreç uzun zaman alır. Web sitesinde shell olduğunu düşünen bir kişinin bu shellleri temizlemek için yapması gereken işlemler şu şekilde sıralanmaktadır:

1. Öncelikle Web sitesinin tamamıyla yedeği indirilir. Daha sonra iyi çalışan bir virüs yazılımı bilgisayara yüklenir. Yükleme yapmak istenmezse çevrimiçi virüs tarayıcıları da kullanılabilir. Daha sonra web sitesi bu virüs tarayıcılarından birinde taranarak virüsler bulunur. Virüslerin bulunması ile birlikte shell olan dosyalar tek tek silinir.

2. Shelli bulmak oldukça zorlu ve uğraştırıcı bir süreçtir. Web sitesi içerisinde kamufle olan shell gizli bir bölüm içerisinde saklı halde olabilir. Bu nedenle shelle ulaşmak için dosya ve klasörler tek tek incelenmelidir.

3. Web sitesine herhangi bir upload scriptinin yüklenip yüklenmediği kontrol edilmelidir. Pek çok hacker tarafından web sitesine ilk erişim sağlandığında yapılan öncelikli işlem upload scripti yüklemektir. Bunun nedeni ise web sitesine gizli erişimi keşfeden site sahibi bunu engellemek için shelli silse dahi zararsız görünen upload scripti silmeyi akıl edemez. Silinmeyen upload script sayesinde de bilgisayar korsanı istediği zaman tekrar web sitesinin yetkilerini kolaylıkla ele geçirebilir.

4. Web sitesinde yer alan tüm php ile asp dosyalarının titizlikle kontrol edilmesi gerekir.

5. Yapılan tüm işlemlere rağmen web sitesindeki shell varlığı temizlenemiyorsa mutlaka bir uzman yardım alınması gerekir.