29 Aralık 2014

Sosyal Mühendislik Yöntemiyle Kurban Bilgisayarına Shell Açma - Bölüm-1:Saldırı Kodunun Hazırlanması

Bu makalemizde sosyal mühendislik konusu üzerinde duracağız ve sosyal mühendislik yöntemlerini kullanarak kurban bilgisayar üzerinde shell açmayı anlatacağız.
Sosyal mühendislik saldırıları bilindiği gibi insana yönelik ya da daha doğru bir ifadeyle insan doğasının zaaflarından yararlanmaya yönelik olarak gerçekleştirilen bir saldırı türüdür. Bu tür saldırılarda genel amaç bilgi sızdırmadır. Saldırgan kişilerce sistemden bilgi toplama ya da sisteme bir giriş kapısı açmaya yönelik olarak faydalanılan bu saldırı yöntemi, diğer saldırı yöntemleri gibi zaman içinde evrilmiş ve etkileri daha büyük boyutlara ulaşacak noktaya gelmiştir. Özellikle spear phishing denilen hedef odaklı oltalama saldırıları çok yaygın olarak kullanılır durumdadır.

20 Aralık 2014

Web Uygulama Denetimi - Bölüm-6: Erişim Kontrollerine Yönelik Saldırılar

Erişim kontrol açıklıkları en yoğun gözlenen açıklıklardandır. Erişim kontrolleri 2 ana bölüme ayrılabilir: Dikey ve Yatay erişim kontrolleri. Erişim kontrolleri ile ilgili denetim için en önemli girdi ilk aşama olarak gerçekleştirilen uygulama haritalama çalışmasıdır. Ayrıca black box denetimi yapılmıyorsa uygulama fonksiyonalitesinin yönetici hakları ve normal birkaç kullanıcı açısından tanınması, dolayısıyla sağladığı dikey ve yatay erişim kontrollerinin anlaşılması çok faydalı olacaktır. Denetim prosedürünün ilerleyen adımlarında da bu kontrollerin aşılıp aşılamadığı test edilebilir.

12 Aralık 2014

Siber Olaylara Müdahale Ekibi (SOME) Süreç ve Kavramları

                             Olay Kavramı
Siber Olaylara Müdahale Ekibi (SOME) Süreç ve Kavramları

Bilgi güvenliği olay müdahalesi genellikle (veya görünürde) IPS cihazlarının ürettiği alarmlar ve
belirgin güvenlik ihlal logları üzerine işletilecektir. Ancak tabi ki bundan çok daha fazlası var.
Bilgi güvenliği olay müdahalesi kapsamındaki olaylar beklenen ve beklenmeyen, ya da sıradan ve sıra dışı güvenlik olaylarıdır. Belli olaylar her zaman sıra dışı veya beklenmeyen olarak kabul edilebilir, ancak bazı olayların sıradan veya sıra dışı olması, ilgili organizasyonun koşullarına ve olayın gerçekleştiği şartlara bağlıdır. Örneğin mesai saatleri dışında geçerli erişim bilgileri ile uzaktan erişim sıradan bir olayken, mesai saatleri içinde uzaktan erişim beklenmedik bir olay olarak değerlendirilebilir.

07 Aralık 2014

Web Uygulama Denetimi - Bölüm-5: Oturum Yönetimine Yönelik Saldırılar

Web uygulamaları stateless HTTP protokolü üzerinde çalıştığından birbirinden bağımsız gelen HTTP isteklerinin authenticate olmuş aynı kullanıcıya ait olduğunu anlamak için bir yönteme ihtiyaç duymaktadır. Bunun için en çok kabul görmüş yöntem cookie’lerin kullanımıdır. Bir başka alternatif de hidden form alanlarının kullanımı olabilir. Ancak web sunucu platformları öntanımlı olarak cookie temelli oturum yönetimini gerçekleştirdiğinden ve uygulama geliştiriciye oturum yönetimiyle ilgili pek çok imkan sağladığından genelde cookie’ler kullanılır.

28 Kasım 2014

ISO27001-2013 Geçiş Denetimleri İçin Standart Bulgu Listesi

Kahin değilim, ama denetim bizim işimiz.

2013 versiyonuyla ilk denetimler bu sıralar başlıyor, herkes merakla denetçiler acaba hangi konulara önem verecek diye bekliyor. Denetçiler ise çoktan standart bulgularım neler olabilir diye düşünmeye başladı bile.

İşte size standart bir bulgu listesi, ilk yıl en az %75’i denetçilerin işini rahatlıkla görür:

  • 4.1 Organizasyonun anlaşılması ve çevresel koşullar: Standart maddesi içeriğinde doğrudan bu konuyu vurgulamasa da sadece maddenin adı nedeniyle organizasyonun faaliyet alanları, organizasyon yapısı, temel tedarik zinciri ve sürekli müşterileri gibi bilgilerin olmaması denetçilerin bu bilgilerin eksikliği ile ilgili bulgu yazmasına neden olabilecektir. Özellikle de denetçi ISO 9001 sevdalısıysa. ISO 9001’iniz varsa ve meşhur kalite el kitabında bu konuları belirttiyseniz bu bulguyu savuşturabilirsiniz. 

24 Kasım 2014

Web Uygulama Denetimi - Bölüm-4: Kullanıcı Tanılama Kontrollerinin Aşılması

Kullanıcı tanılama üzerine erişim kontrolü ve oturum kontrolünün inşa edildiği önemli bir güvenlik kontrolüdür. Dolayısıyla ciddi tehditlerle karşı karşıyadır. Web uygulamalarında kullanıcı tanılama için kullanılan pek çok yöntem vardır:
  • HTML form tabanlı tanılama
  • Çok faktörlü tanılama (örneğin password ve token’ın bir arada kullanılması gibi)
  • İstemci SSL sertifikaları
  • HTTP Basic ve Digest kullanıcı tanılama
  • NTLM veya Kerberos ile Windows’a entegre kullanıcı tanılama
  • Kullanıcı tanılama servisleri (örneğin Microsoft Passport)

17 Kasım 2014

Web Uygulama Denetimi - Bölüm-3: İstemci Tarafı Kontrollerinin Aşılması

İstemci Aracılığı ile Veri Gönderme
Web uygulamaları sunucu tarafında kullanıcının tüm oturum bilgilerini tutmayıp bir kısmını istemciye geri göndererek bir sonraki aşamada istemci tarafından gönderilmesi yoluyla performanslarını artırmayı hedeflerler. Veya bazı durumlarda normalde istemci tarafından değiştirilmeyeceğine inandıkları bilgilere (Referer başlığı değeri gibi) dayanarak belli kontroller yaparlar. Ancak normalde değiştirilmeyeceği beklenen bu veriler teknik olarak değiştirilebilir ve bir saldırgan tarafından saldırı aracı olarak kullanılabilir.

10 Kasım 2014

Web Uygulama Denetimi - Bölüm-2: Uygulamanın Analizi

Uygulamanın içeriğinin ortaya çıkarılması haritalamanın önemli bir bölümüdür. Ancak bir o kadar önemli olan bir konu da tehdit yüzeyinin anlaşılması ve bir denetim prosedürünü oluşturmaya başlayabilmemiz için uygulamanın fonksiyonalitesi, davranışı ve kullanılan teknolojilerin tespitidir.

03 Kasım 2014

Web Uygulama Denetimi - Bölüm-1: Giriş

Denetime başlamadan önce uygulama ve destekleyen altyapı hakkında bilgi toplamalıyız. Bu konularda yeterli bilgiyi toplamadan denetime başlarsak doğru planlama yapamama nedeniyle yüksek riskli alanlara yoğunlaşamama ve doğru denetim prosedürlerini uygulayamama, uygulamadaki mimari mantık hatalarını tespit edememe, uygulamanın açıkça görülmeyen yönetim veya diğer fonksiyonalitesini tahmin edememe sonuçlarıyla karşı karşıya kalırız.

17 Ekim 2014

vTable Exploit'leri - Bölüm-4: vTable Yapısını Ezerek Exploit Etme



vTable Exploit'leri - Bölüm-4: vTable Yapısını Ezerek Exploit Etme


Konular:

  • vTable veri yapısını pivot olarak kullanarak uygulama akışına müdahale etmek ve exploit shellcode çalıştırma

vTable Exploit'leri - Bölüm-3: vTable Yapısı Dinamik Analiz



vTable Exploit'leri - Bölüm-3: vTable Yapısı Dinamik Analiz


Konular:

  • Virtual fonksiyonların uygulanmasının dinamik analizi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


vTable Exploit'leri - Bölüm-2: vTable Yapısı Statik Analiz



vTable Exploit'leri - Bölüm-2: vTable Yapısı Statik Analiz


Konular:

  • C++ dili ile nesne odaklı programlamada virtual fonksiyonların (polymorphism'in) assembly seviyesinde uygulanmasının statik analizi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


vTable Exploit'leri - Bölüm-1: Fonksiyon pointer'ları



vTable Exploit'leri - Bölüm-1: Fonksiyon pointer'ları


Konular:

  • Fonksiyon pointer'larının kaynak kod seviyesinde kullanımı
  • Fonksiyon pointer'larının assembly seviyesinde uygulanması ve ezilmeleri halinde uygulama akışına müdahale imkanının doğması

14 Ekim 2014

08 Ekim 2014

29 Eylül 2014

Ağ Temelli Adli Bilişim Temel Bilgiler - Bölüm- 1

Ağ trafiğini loglamak ve/veya izlemek için herhangi bir ağ interface’ini promiscuous mode’a getirmek yeterlidir. Ancak izlemek istediğimiz trafiğin yönlendirilmesi ve büyüklüğü dinleme yöntemimizin belirlenmesinde etkileyici olacaktır. Bu işlemi bir PC ile yapmaya kalktığımızda izleyebileceğimiz alanı sınırlı tutmalı, arp poisoning yaparak (ki bu ağ iletişiminin kalitesini düşürecektir) veya PC’yi gateway olarak tanımlayarak yönlendirmeyi bu PC üzerinden gerçekleştirmeliyiz.

22 Eylül 2014

17 Eylül 2014

15 Eylül 2014

08 Eylül 2014

Web Uygulamaları Güvenlik Testleri İçin Temel Web Teknolojileri Bilgileri (Bölüm - 1)

HTTP protokolü,  web uygulamaları güvenlik testleri için bilinmesi gereken en temel ve öncelikli protokollerden birisidir. Bu makalemizde HTTP protokolü ve bu protokole ilişkin HTTP istek ve yanıtları, HTTP başlıkları ve HTTP metodları ele alınacaktır.

03 Eylül 2014

SEH Exploit'leri - Bölüm-6: SEH Exploit Seçeneklerimiz



Bölüm-6: SEH Exploit Seçeneklerimiz


Konular:

  • Uygulama akışını yönlendirebildiğimizde değerlendirebileceğimiz exploit yöntemleri ve bunların SEH exploit'lerinde kullanılıp kullanılamayacağının değerlendirilmesi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


SEH Exploit'leri - Bölüm-5: SEH Kaydının Ezilmesi



Bölüm-5: SEH Kaydının Ezilmesi


Konular:

  • Stack'te bulunan SEH veri yapılarına müdahale imkanı olduğunda uygulama davranışının gözlenmesi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


SEH Exploit'leri - Bölüm-4: SEH Teorik Bilgi



Bölüm-4: SEH Teorik Bilgi


Konular:

  • SEH'in uygulanmasının ve ilgili veri yapılarının teorik olarak açıklanması



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


SEH Exploit'leri - Bölüm-3: SEH Dinamik Analizi



Bölüm-3: SEH Dinamik Analizi


Konular:

  • SEH'in makine kodunda uygulanmasının dinamik analizi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


SEH Exploit'leri - Bölüm-2: SEH Statik Analizi



Bölüm-2: SEH Statik Analizi


Konular:

  • SEH'in makine kodunda uygulanmasının statik analizi
  • SEH veri yapılarının anlaşılması



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


SEH Exploit'leri - Bölüm-1: Giriş ve SEH Uygulamayan Bir Kodun Statik Analizi



Bölüm-1: Giriş ve SEH Uygulamayan Bir Kodun Statik Analizi


Konular:

  • Structured Exception Handler yöntemine giriş
  • SEH uygulayan ve uygulamayan uygulamaların makine kodlarını karşılaştırabilmek için öncelikle SEH uygulamayan ancak hataya açık bir uygulamanın makine kodlarının incelenmesi

25 Ağustos 2014

IIS & Asp.Net Sıkılaştırma Ayarları

Nisan 2014 itibarıyla Netcraft tarafından  958.919.789 web sitesinden bilgi toplanarak yapılan araştırmaya göre interneteki sitelerin yüzde %31.10’u Microsoft IIS  kullanmaktadır. Bu blog yazımızda Microsoft IIS sunucu güveliğini sağlamak için yapılması gerekenlerden bahsedeceğiz.

18 Ağustos 2014

FreeRADIUS Konfigürasyon Adımları ve MySQL Entegrasyonu

Bu yazımızda FreeRADIUS üzerine MySQL veritabanı kullanarak kullanıcı tanımlama adımlarından bahsedeceğiz.

RADIUS  (Remote Authentication Dial-in User Service) Livinstone Enterprise tarafından geliştirilmiş bir protokoldür. RADIUS istemci-sunucu modeli tabanlıdır ve mesaj değişimi UDP protokolü ile gerçekleşir.FreeRADIUS dünyada en çok tercih edilen açık kaynak kodlu RADIUS serverdır.Dünya üzerindeki birçok ISP firması RADIUS server olarak FreeRADIUS kullanmaktadır.

11 Ağustos 2014

ISO 27001 Bilgi Güvenliği Yönetim Sistemi için 2013 Yılında Gelen Yenilikler

2013 yılı başlarında başlanmış olan Bilgi Güvenliği Yönetim Sistemi ‘ nin uluslararası standardı ISO 27001:2005 üzerindeki çalışmalar sona ermiş ve standart ISO 27001:2013 adını almıştır. Yenilenmiş standart www.iso.org/iso/home/standards/management-standards/iso27001.htm web adresinden temin edilebilir.

ISO 27001:2013 standardı Annex SL ile uyumlu olacak şekilde geliştirilmiştir. Annex SL tüm ISO standartlarına uyumlu olacak şekilde bir çatı yapısı oluşturmaktadır. Buradaki amaç bütün yönetim sistemlerine temel oluşturacak genel çerçeveyi belirlemektir. Kurum ihtiyaçları gereği sahip olunan birden fazla yönetim sisteminin hem yönetimi hem de denetimi açısından bu çatı yapısı önemli bir husus oluşturmaktadır. İş sürekliliği kavramı standardın yeni versiyonunda önemli bir mertebede bulunmaktadır.

30 Temmuz 2014

DNS (Domain Name System) Nedir?

DNS, Domain Name System’in kısaltılmış halidir ve Türkçe karşılığı Alan Adı'dır. 256 karaktere kadar uzanabilen alan adı isimlerini IP’ye çevirmek için kullanılan bir sistemdir.

DNS ‘in çalışma mantığına bakacak olursak aslında arkada ip adresi vardır. DNS’in çıkış sebebi ise ip adreslerini bilmek yerine alan adları şeklinde gözükmesini sağlamaktır.  Bu şekilde her sitenin ip adreslerini ezberlemek zor olacağından sitelerin domain adreslerini bilmek daha kolay olacaktır.

02 Haziran 2014

30 Mayıs 2014

DDoS Türleri

DDOS nedir?
DoS(Denial of Service), hizmeti aksatma veya hizmetin işlevini tamamen yok etme anlamına gelmektedir. İnternet kullanıcılarına ya hiç hizmet veremez ya da çok yavaş bir hizmet sunar.  
DDos(Distrubuted Denial of Service) saldırısı ise, saldırganın saldırıya geçmeden önce oluşturduğu makine veya bilgisayar topluluğu ile hedefe saldırmasıdır ve DoS gibi hizmet aksatma veya hiç hizmet veremez hale getirme amaçlanır. Bununla birlikte saldırgan kolay bir şekilde kimliğini belli etmeden gizlenebilir ve saldırganın tespit edilmesi zorlaşır.

29 Mayıs 2014

Apache Web Sunucusu Sıkılaştırma Konfigürasyonları

Apache, açık kaynak kodlu bir web sunucu programıdır. Nisan 2014 itibarıyla Netcraft tarafından  958.919.789 web sitesinden bilgi toplanarak yapılan araştırmaya göre interneteki sitelerin yüzde %37.74’dü  Apache Web sunucusu kullanmaktadır. Bu blog yazımızda Apache sunucu güveliğini sağlamak için yapılması gerekenleri ele alacağız.

27 Mayıs 2014

Syslog Yapısı ve OpenSSL ile Log İmzalama İşlemleri

Bu makalemizde Syslog  ve syslog ile tutulan logların kanıtlanabilir olması açısından OpenSSL kullanılarak nasıl imzalanacağı konusundan bahsedeceğiz.Anlatım sırasında Unix/Linux tabanlı bir işletim sistemi kullanılmıştır. OpenSSL aynı zamanda Windows sistemler üzerindede çalışabilmektedir.Versiyon olarak ise son sürüm olan 1.0.1g sürümü kullanılmıştır.

İmzalama gerçekleştirilirken öncelikle imzalama işlemleri için gerekli konfigürasyonları yapıp ardından oluşturulan bu dosyalar ile imzalama işlemini yapacağız.

11 Mayıs 2014

Exploit Shellcode Geliştirme - Bölüm-1: Giriş



Bölüm-1: Giriş


Konular:

  • Çalışmanın amacının ve exploit shellcode’un tanımının aktarılması
  • Exploit kodu geliştirirken aşılması gereken kısıtlar
  • Exploit kodu geliştirebilmek için gerekli ön bilgiler
  • Exploit kodu geliştirirken edineceğimiz yetkinliklerin zararlı yazılım incelemesi için sağlayacağı faydalar

Exploit Shellcode Geliştirme - Bölüm-2: Shellcode Test Araçlarımız



Bölüm-2: Shellcode Test Araçlarımız


Konular:

  • Shellcode’umuzu denemek için basit bir araç geliştirme
  • Derlenmiş shellcode’umuzu C karakter array’ine dönüştürecek bir araç geliştirme



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-3: Standart Bir Uygulama



Bölüm-3: Standart Bir Uygulama


Konular:

  • Standart bir uygulamanın shellcode olarak kullanılmasının önündeki engellerin anlaşılması



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-4: Shellcode Problemleri – Veri Erişimi



Bölüm-4: Shellcode Problemleri – Veri Erişimi


Konular:

  • Shellcode’umuzda ihtiyaç duyacağımız statik verileri hafızaya yazabilme ve referans verebilme çözümü


<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-5: Shellcode Problemleri – Modül Adresinin Bulunması



Bölüm-5: Shellcode Problemleri – Modül Adresinin Bulunması


Konular:

  • Shellcode’umuzdan çağırmamız gereken API’lerin içinde bulunduğu modül (kütüphane) hafıza adresinin bulunması



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-6: Shellcode Problemleri – Fonksiyon Adresinin Bulunması



Bölüm-6: Shellcode Problemleri – Fonksiyon Adresinin Bulunması


Konular:

  • Modül taban adresi bulunduktan sonra aranan fonksiyon adresinin bulunması



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-7: Shellcode'un Geliştirilmesi



Bölüm-7: Shellcode'un Geliştirilmesi


Konular:

  • Shellcode’un farklı bir prosesin hafıza alanında işlevsel olabilmesi için gerekli tekniklerin uygulanması
  • Assembly dilinde shellcode’un geliştirilmesi



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-8: Shellcode Problemleri – Kötü Karakterlerden Kurtulma



Bölüm-8: Shellcode Problemleri – Kötü Karakterlerden Kurtulma


Konular:

  • Shellcode’un hafızaya tam olarak yazılmasını engelleyebilecek kötü karakterlere örnek olarak null karakter’in verilmesi
  • Null karakter içerecek opcode üretiminden sakınmak için izlenebilecek yollar



<< Önceki Bölüm                                                                                                     Sonraki Bölüm >>


Exploit Shellcode Geliştirme - Bölüm-9: Shellcode Kodlama (Encoding)



Bölüm-9: Shellcode Kodlama (Encoding)


Konular:

  • Shellcode’u kötü karakterlerden kurtarma veya shellcode’un incelenmesini zorlaştırma amacıyla kodlama
  • Encoding sırasında karşılaşılan pozisyon bağımsız kodlama probleminin çözümü

16 Nisan 2014

SSL Nedir? - 2.Bölüm



SSL kendi altında güvenilir bir protokole ihtiyaç duyar, bu da TCP protokolü. Dolayısıyla SSL iletişiminden bahsedebilmek için öncelikle TCP 3-way handshake ile TCP bağlantının kurulması gereklidir. Paket dosyasındaki ilk 3 paket 3-way handshake mekanizmasına ait. TCP bağlantı kurulduktan sonraki aşama SSL Handshake’tir. Bunu da en basit haliyle aşağıdaki resmi kullanarak tarif edilenecek.

SSL Nedir? - 1.Bölüm




HTTP nedir?

HTTP, "Hyper Text Transfer Protocol" (Hiper Metin Transferi Protokolü) kelimelerinin baş harflerinden oluşan bir kısaltmadır. İnternette sunucular ve son kullanıcılar arasında bilgilerin nasıl aktarılacağına dair kurallar ve yöntemleri düzenleyen bir sistemdir. Web sayfalarını internet kullanıcısına ulaştıran temel protokoldür. İnternet sitelerinin açılmasını sağlayan komutlar HTTP protokolü aracılığıyla iletilir. İnternet üzerinde en çok kullanılan ve en önemli protokoldür. Hyperlink HTML sayfasında bir takı (tag) kullanılarak başka bir dosya ile oluşturulan bağlantıdır.