Feel the magic of HasCoding

22 Ekim 2014 Çarşamba

Harbidenindir.com hacklendi... Symlink yöntemi ile


Mobile Bluetooth Hacking Software Free

Geçtiğimiz günlerde harbidenindir üye ve çalışanları sisteme erişim sağlayamadı.



Bunun nedeni araştırırken sistemin hacklendiğini gördük ve bunu siz değerli okurlarımızla paylaşmak istedik.

sitemizin symlink yöntemi ile hacklendiğini düşünüyoruz..

Peki nedir bu smylink ;


Symlink Nedir? Symlink ile Web Hacking
Önce “Symlink“in ne olduğu hususuna değineceğim. Linux işletim sistemlerinde tüm dosyalar hiyerarşik bir düzende klasörlerin (dizinlerin) içerisinde tutulurlar. Bir klasör içerisinde bulunan dosyayı başka bir klasör içerisinde kullanmak istiyor isek ve bu dosyayı bulunduğu klasör dışında bir yere kopyalamak istemiyor isek imdadımıza “Symlink” yetişiyor. Symlink adından da anlaşılacağı üzere bir sembolik bağ oluşturur. Bu yöntem ile üzerinde çalıştığımız dosya bir yerde olacak ve biz ona istediğimiz dizinden erişebileceğiz. Temel saldırı mantığı da burada oluşmaktadır işte… Linux’ta bulunan (ln) komutu bu sembolik bağı oluşturmak için kullanılır. Bir sunucuya erişildiğinde eğer gerekli güvenlik önlemleri alınmış ise kritik dosyaların içeriği okunamamaktadır. Örneğin, configuration.php dosyası okunamıyor. Symlink yaparak uzaktan bu dosya rahatlıkla okunabilir. Web sunucumuzun güvenliğini sağlamış olalım. Sunucumuzda Shell-Exploitlerin çalıştığı fonksiyonların devre dışı olduğunu varsayalım. Böyle bir web sunucusunda exploitler çalışmayacaktır.
“ln –s /root/eyup/klasor/dosya.txt /var/www/eyup.txt”
Bu komut ile /root/eyup/klasor/ dizininde bulunan dosya.txt dosyası /var/www/ dizininde eyup.txt dosyasına symlink’lendi. Böylece erişemediğimiz dosya.txt dosyasına Symlink üzerinden erişerek /var/www/eyup.txt dizininden okuyabiliriz. Bu yöntem ile güvenlik önlemlerinin bir çoğu bypass edilmiş olacaktır.
PHP’de de bu aşağıdaki gibi olacaktır.
<?php
$dosya = ‘../../home/asia/configuration.php';
$yeniYol = ‘../../home/erica/sym/1.txt';
symlink($dosya, $yeniYol);
echo readlink($yeniYol);
?>
Bu PHP kodu ile /home/asia/ dizininde bulunan configuration.php dosyasını okuyarak /home/erica/sym/ dizininde 1.txt olarak symlink’ledik. Normal şartlarda erişemediğimiz configuration.php dosyasına Symlink üzerinden erişerek, dosya içerisinde bulunan yolları okuduk.
Örnek bir uygulama yapalım.

Resim-1

Resim-2
Resim-1’de göreceğiniz üzere www.eyupcelik.com.tr sitesine yüklenmiş bir Shell mevcut. Bu shellde devre dışı bırakılmış fonksiyonları görebilirsiniz. Resim-02’de de www.fundayilmaz.com.tr sitesinde bulunan Symlink Shell mevcuttur. Biz www.fundayilmaz.com.tr adresinde bulunan Shell den faydalanarak www.eyupcelik.com.tr adresinde bulunan konfigürasyon dosyasına erişeceğiz.
Bunun için Symlink Shell’ine /home/kullanıcıadı/public_html/config.php – dosya adı olarakta 1.txt yazacağız.

Resim-3
Okumak istediğimiz ve Symbol linklemek istediğimiz dosya adlarını yazıp symlink’i tıkladıktan sonra 1.txt adındaki dosyamıza erişerek içeriğini okuyabiliriz.
Resim-4
Symlink üzerinden okuduğumuz 1.txt dosyası Resim-4’teki gibidir.
Symlink Saldırısını Engelleme
Symlink saldırılarını engellemek için PHP-Symlink fonksiyonunu deaktif etmemiz gerekir. Bunun için php.ini dosyamızda bulunan disable_functions satırını disable_functions= “show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, symlink” şeklinde değiştirip apache sunumuzu restart etmemiz gerekir.
Symlink Engellemesini Bypass Etme
Symlink saldırılarını disable_functions ile engellemiş isek, bu güvenlik önlemi de bypass edilebilir. Bunu bypass etmek için Symlink shell’inin bulunduğu klasör içerisine bir php.ini dosyası yükleyerek bu fonksiyon bypass edilebilir. Yükleyeceğimiz php.ini dosyası içerisine disable_fuctions= “” yazıp, php.ini dosyasını Symlink shell’inin bulunduğunu dizine yükleyerek güvenlik yöntemini atlatabiliriz. Bu bypass yöntemini engellemek için de php.ini dosyasının sadece bir yerden okunması, dış php.ini dosyalarının okunmasını engelleyerek atlatabilirsiniz.
Blogger tarafından desteklenmektedir.

Popular Posts

Çeviri

Yenilikler

2015 herkese mutluluk getirsin...
Şikayet ve Önerilerinizi iletisim@hesesholding.com adresine mail atabilirsiniz...
Beni hatırla (Bu nedir? )

Facebook'ta Şirketimiz

DMCA.com Protection Status