Uygulama Üzerinden Bilgisayara Sızma

'Hack Dökümanları' forumunda Sebastian tarafından 21 Haziran 2018 tarihinde açılan konu

  1. Sebastian

    Sebastian Kayıtlı Üye

    Mesaj:
    10
    Beğeniler:
    7
    Cinsiyet:
    Erkek
    Uygulama Üzerinden Bilgisayara Sızma
    İlk olarak bu olayı yapabilmemiz için belli başlı kavramların ne ve nasıl işlediğini öğrenmemiz gerekmekte.

    Exploit nedir?

    Bir sistemdeki açığı istismar etmek için yazılmış script olarak özet geçebiliriz.

    Çalışan bir uygulama veri akışını devam ettirmektedir.
    Ancak bu veri akışını kullanıcı tam olarak göremez.
    Bunun için bir debugger yardımı ile her hareketini assambley dili ile inceleyebiliriz.
    Yapılan uygulama farklı bir dille yazılsa dahi işlemciye verileri gönderirken bunu debugger assembley dili ile bize sunar.
    Biz burada normal kodda olmayan ama assebleyde sıkıntı çıkarabilecek kod kısımlarına bakabiliriz.
    Eğer biz uygulamayı bu sıkıntı çıkarabilecek kısıma yöneltebilirsek uygulama hata verecektir.
    Bu hatayı vermeyi sağlayan kodlarada exploit denir.

    Payload nedir?

    Exploitin yarattığı açığı kendi isteğine göre şekillendiren script parçasıdır.

    Exploit uygulamada hata vermeyi başarmasıyla birlikte uygulama işlemlerini durdurur.
    Bu kısımda payload dediğimiz kod parçacığı hatanın oluştuğu kısma gelerek kendisine verilen göre yerine getirir.
    Ve uygulama çalışmaya yeniden başladığında payloadın içerisinde bulunan scriptler ile bilgisayarda istenilen işlem gerçekleştirilir.
    Eğer istek bilgisayarın konsoluna erişmek ise bunu uygulamanın diline göre yorumlayıp konsola erişim sağlar.

    Genel olarak uygulama üzerinden sisteme sızma işlemi bu şekilde gerçekleşir.
    Ancak açığı tespit edebilmek bu durumdaki en önemli nokta.
    Bunuda sizlere en çok karşılaşılan açık olan Stack Buffer Overflow saldırısıyla anlatacağım.

    BOF nedir?

    Çalışan uygulamanın veri belleğini taşırmaya yönelik yapılan saldırıdır.
    Örnek olarak kodumuz C dili ile yazıldığını varsayalım.
    C üzerinde eğer uygulamaya kullanıcıdan bir girdi bekliyorsa bu girdinin maksimum boyutunu belirtmek zorundadır.
    Ve belirlenen max. girdi 5 bayt olarak tanımlandığını varsayalım.
    Biz bu uygulama 5 yada daha az bayta sahip bir girdi verirsek uygulama sorunsuz bir biçimde çalışmasına devam edecektir.
    Eğer 5 ten fazla bayta sahip bir değer verilirse uygulama hata verir.
    Bu hata verme hareketi tanımlandığı zaman bunu istismar edebilecek bir exploit yazılır.
    Exploit uygulanırken istenirse payload ile bu saldırı desteklenir ve normalde uygulamada olmayan kodların çalışmasına izin verilir.
     
  2. Fatalite

    Fatalite Emir Veren | Emir Alan ? Kayıtlı Üye

    Mesaj:
    565
    Beğeniler:
    481
    Şehir:
    MEXICO LOS CABOS
    Eline sağlık
     
    Sebastian bunu beğendi.
Yükleniyor...

Bu Sayfayı Paylaş