17 Kasım 2017

BTRisk Boot-to-Root İmajı BTRSYS2


Geçmiş sınavlarımızda kullandığımız diğer bir boot-to-root imajlarımızdan BTRSYS2 imajımızın bilgileri ve imaj linkini aşağıda bulabilirsiniz.

Machine Name: BTRSys2
IP : DHCP
Difficulty : Beginner / Intermediate
Format : Virtual Machine (VMware)
Description : This is a boot2root machine particularly educational for beginners. Follow us for next BTRSys systems. We hope you enjoy it!

LinkBTRSYS2-INDIR

15 Kasım 2017

13 Kasım 2017

Bir Zararlı Yazılımın Anatomisi - Bölüm 3

ZARARLI YAZILIMIN ÇALIŞTIRILMASI


Öncelikle bir sanal makineye Windows 7 32 Bit işletim sistemi kuruyoruz. Aslında bu zararlı yazılım üzerinde çalışan 32 bitlik bir proses bulunmayan bir 64 bitlik Windows 7 işletim sisteminde etkisiz kalıyor, çünkü injection yapabileceği bir proses bulamıyor (hatırlayın 32 bit’lik bir proses yine 32 bit’lik bir proses’in adres alanına injection yapabiliyordu).

12 Kasım 2017

Bir Zararlı Yazılımın Anatomisi - Bölüm 2

ZARARLI YAZILIM KODLARI

Zararlı yazılım kodları makalemizin birinci bölümünde belirtilmiş olan stratejinin uygulanmasını sağlayacak. Bu bölümde kodları, kodların içindeki yorumları ve alttaki açıklamaları okuyarak tam olarak ne yapılmaya çalışıldığını anlamaya gayret edin.

08 Kasım 2017

Bir Zararlı Yazılımın Anatomisi - Bölüm 1

Zararlı yazılımlar gittikçe önemi artan ve savunanlar tarafından en az bilinen güvenlik tehditlerinden birisi. Mevcut bir zararlı yazılımı internette örneklerinin yayınlandığı bir siteden indirerek, uygun ve güvenli bir laboratuvar ortamı kurarak statik ve dinamik analiz yapabilirsiniz. Ancak biz zararlı yazılımın en net ve etkili biçimde anlaşılması ve anlatılabilmesi için böyle bir yazılımın geliştirilmesi ve sonuçlarının test edilmesi yöntemini seçtik.

16 Ekim 2017

Anti XSS Kütüphanesi ile XSS Saldırılarından Korunma

Anti XSS kütüphanesi .NET platformunda bulunan XSS zafiyetlerini önlemek için oluşturulmuş bir kütüphanedir. Bu kütüphane aracılığıyla  XSS payloadları encode edilerek sunucuya gönderilir.

XSS (Cross Site Scripting) hakkında bilgi sahibi olmak için daha önce yazmış olduğumuz makaleye buraya tıklayarak göz atabilirsiniz.

Anti XSS kütüphanesini anlamak ve kullanımını pekiştirmek için küçük bir uygulama yapacağız, uygulamamızı Visual Studio kullanarak C# dilinde yazacağız.



Projemize XSS_Sayfa1 ve XSS_Sayfa2 olarak 2 adet web form ekliyoruz .


Amacımız sayfa1’deki input alanına yazdıklarımızı sayfa2 ye post etmek.




Sayfa1’e 1 adet textbox ve request işlemimizi yapması için 1 adet buton ekliyoruz.


Kod kısmına gelerek XSS_Class adında bir class ekliyoruz (Sayfa2’ye göndereceğimiz değeri classta tutacağız.)

public class XSS
        {
            public static string XSSPayload;
        }

Butonun click eventine gelerek aşağıdaki kodları yazıyoruz. Textboxa yazılan değeri XSS class’ının XSSPayload özelliğine atıyoruz, sonrasında XSS_Sayfa2.aspx sayfasına yönlendirilmesini sağlıyoruz.

       protected void btnReq_Click(object sender, EventArgs e)
        {
            XSS.XSSPayload = txtXSS.Text;
            Response.Redirect("AntiXSS2.aspx");
        }


XSS_Sayfa2’ye gelerek Page_Load eventinde çalışmasını istediğimiz kod satırlarını yazıyoruz. (Oluşturduğumuz Class’daki XSSPayload özelliğini ekrana yazdırıyoruz.)

protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(AntiXSS.XSS_Class.XSSPayload);
        }


Uygulamamızı çalıştırıyoruz.

XSS_Sayfa1.aspx’de 1 adet textbox ve 1 adet buton bulunmakta textbox’a standart olarak kullandığımız xss payloadını yazıp gönder butonuna basıyoruz.


Karşımıza bir hata çıkıyor ve xss payloadımız engelleniyor. Ama biz kontrol koymadık nasıl yaptı bunu ?

ASP.NET platformunda geliştirilen yazılımlarda inputlara yazılan ‘<’ işareti ile başlayıp ‘>’ işareti ile biten script tag’leri otomatik olarak varmı yokmu diye kontrol edilir eğer varsa ekrana bu şekilde hata fırlatır. Bunu ASP.NET otomatik olarak kontrol eder.

Hata sayfalarının kullanıcılara gösterilmesi uygulama açısından kritik bilgilerin gösterilebileceği anlamına gelebilir. Bu gibi hata sayfalarının engellenmesi gerekmektedir.

Birçok yazılımcı hata sayfalarını düzeltmek için internette bulduğu çözümü ne gibi sorunlara neden olacağını tahmin edemeyebilir. Hata sayfasının görüntülenmesini engellemek tek satır kod ile mümkündür.
 
Hata sayfasının çözümü olarak Web.config’e yazılacak kod aşağıdaki gibidir.

<pages validateRequest="false"/>


Bu kodu yazdıktan sonra biraz önceki yaptığımız isteği tekrar yapalım.
Sonuç olarak karşımıza hata sayfası çıkmadı ama yazdığımız xss payloadı çalışmış oldu.


Web.config’de yapılan değişiklikler tüm uygulamayı kapsar, ancak bu kontrolü sadece belirli sayfalarda ve belirli inputlarda kapatmakta mümkündür.

aspx sayfasının en üstünde bulunan Page Language ile başlayan satırın içine ValidateRequest="false" yazılırsa validasyon kontrollerinin bu sayfada yapılmayacağı anlamına gelir, yani diğer sayfalarda kontrol devam edecektir.  Aynı şekilde Hangi input için bu kontrolün yapılmasını istemiyorsak ValidateRequestMode="Disabled" yazarakda bu kontrolü o input için kapatmış oluruz.


Şuana kadar hatanın çözümü için yöntemlerden bahsettik, hatanın üretilmesini engelledik ama XSS zafiyetini engelleyemedik tam bu sırada Anti XSS kütüphanesi karşımıza çıkıyor ve bu kütüphane sayesinde XSS zaafiyetinden de korunmuş oluyoruz.

Gerekli kütüphaneyi projemizde kullanacağımız sayfaya ekliyoruz.

using System.Web.Security.AntiXss;

AntiXssEncoder sınıfındaki HtmlEncode özelliğini kullanıyoruz.

Response.Write(AntiXssEncoder.HtmlEncode(AntiXSS.XSS_Class.XSSPayload,false));


Aynı isteği tekrar yaptığımızda sayfanın bize alert üretmediğini görmüş olduk yazdığımız xss payloadını olduğu gibi bize gösterdi, Yani XSS zafiyetini AntiXss kütüphanesi sayesinde önlemiş olduk.
Input Encode


Output Encode


02 Ağustos 2017

12 Mayıs 2017

21 Nisan 2017

Kali Linux - Bölüm 15: Log Altyapısı

Unix ve türevi sistemler uzun süreden beri çok güçlü bir loglama altyapısına sahiptir. Windows’da halen olmamasına rağmen uzun süredir Unix ve türevi sistemlerin uzağa log gönderme kabiliyeti bulunmaktadır.
Sanılanın aksine Unix ve türevi sistemlerdeki tek log dosyası syslog değildir.

06 Nisan 2017

Kali Linux - Bölüm 14: Zamanlı İşler

Unix / Linux sistemlerde ilk zamanlarından bu yana gelişmiş bir özellik olan zamanlı işler özellikle sistem yöneticileri tarafından sıklıkla kullanılmaktadır. “cron” işleri örnek olarak düzenli olarak disk kullanım oranını ölçmek ve sistem yöneticisini uyarmak, uzun süredir kullanılmayan geçici dosyaları sistem üzerinden temizlemek gibi işlemlerde kullanılabilir. Ancak yapılan işlemlerin kritikliğine göre bu sistemi ve konfigürasyonunu iyi anlamak önemlidir.