2. Kurtuluş Karasu
• Bilgi Güvenliği Yöneticisi
• Siber Güvenlik Araştırmacısı
• Eğitmen
• Slideshare yazıları
3. Eğitim İçeriği
• Kali Linux
• Ping
• Arp
• Yönlendirme Tablosu
• Netstat
• Sisteme Kimler Bağlı?
• Güvenlik Testlerinde Bilgi Toplama
– Pasif bilgi toplama
– Aktif bilgi toplama
4. Eğitim İçeriği
• Temel TCP/IP ve Güvenlik
• Trafik Analizi (Sniffing)
• TCP / IP İletişiminde Araya Girme
• Host Keşfi ve Port Tarama
– Nmap
• Zafiyet Tarama
– Nessus
• Metasploit Nedir?
5. Eğitim Dokümanı Hakkında
• Bu eğitim dokümanı Kurtuluş Karasu tarafından 2017
yılında hazırlanmıştır.
• Beyaz Şapkalı Hacker eğitimlerine gitmeden önce
eğitimin daha verimli geçmesi için hazırlık yapılması
amacıyla hazırlanmış bir çalışmadır.
7. Kali Linux Dağıtımı
• Beyaz şapkalı hacker eğitimlerinde en sık kullanılan
işletim sistemi Kali Linux dağıtımıdır.
• Eğitime gitmeden önce Kali Linux ile ilgili temel bilgilerin
öğrenilmesi yararlı olacaktır.
• Önceden Backtrack Linux Dağıtımı kullanılırdı.
• Kali Linux dağıtımı güvenlik testleri gerçekleştirenlerin
işlerini kolaylaştırma amaçlı geliştirilmiştir.
• Kali içerisinde güvenlik testleri esnasında
kullanılabilecek bir çok program yer almaktadır.
8. Kali Kullanımı
• Kali iki farklı şekilde kullanılabilir;
– Live CD den çalıştırma yoluyla
– Fiziksel veya Sanal ortama kurulum yoluyla
• Kali live çalıştırma yönteminin performansı yaptığınız
işlemlere göre değişiklik gösterebilir. Bundan dolayı
çalışmalarınız için tavsiye edilen yöntem sanal ortama
kurulum yapmaktır.
• Linux kullananlar için Kalinin kullanımı zor olmayacaktır.
Kali’nin farklılığı içerisinde bulunan güvenlik testleri için
gerekli araçlardır.
10. Kali Sisteme Giriş
• Kali açıldığında ilk olarak
ekranda sisteme giriş bilgileri
istenecektir.
– Kullanıcı adı: root ve kurulum
esnasında belirlediğiniz parola
ile giriş yapılır.
– Live olarak açtığınızda direk
açılacaktır.
11. Kali Sisteme Giriş
• Applications sekmesini
tıkladığımızda şekilde de
görüldüğü üzere yapılacak
olan güvenlik testleri belirli
standartlarda
kategorilendirilmiştir.
12. Kali Güvenlik Testi Araçlarının Kullanımı
●
Kali üzerinden kullanmak
istediğiniz araç hakkında
fazla bilginiz olmadığında
– root@kalia:/# nmap --help
– root@kalia:/# nmap -help
– root@kalia:/# nmap -h
yada
●
google.com
13. Kali’de Kullanılabilir Ek Servisler
●
Kali bir güvenlik dağıtımı
olmasına rağmen üzerinde
klasik Linux dağıtımlarda
bulunabilecek bazı servisleri
içermektedir. Bunlar çeşitli
güvenlik testlerinde ek
bileşen olarak kullanılır.
●
Örnek: Bir sistem ele
geçirildiğinde, hedeften veri
almak için tftp servisi
kullanılabilir.
●
Tftp servisi gelen verileri varsayılan
olarak /srv/tftp dizinine
aktaracak/alacak şekilde başlatıldı.
●
Servisi kontrol etmek için lsof komutu
kullanılabilir.
14. Kali’de Kullanılabilir Ek Servisler
●
Herhangi bir programın
dizinlerinin nerede olduğu
konusunda bilginiz yoksa
veya komut satırından
doğrudan çalıştırılamıyorsa
“find” yada “locate”
komutlarını kullanarak
programın dizininin nerede
olduğu öğrenilebilir.
●
SSH servisinin başlatılması
●
Uzaktan bağlantı yapabilmek için
15. Kali Temel Ağ Yapılandırması
● Bir ağ ortamına dahil olan Linux sistemde öncelikli olarak yapılması gereken
ağ yapılandırmasıdır.
● Ağ ortamına dahil olmak isteyen bir sistem için temel gereksinimler
– IP adresi
– Ağ maskesi (Netmask)
– Ağ geçidi (Gateway)
– İsim çözümleme (DNS)
– Bu konfigürasyonlar statik olarak verilebileceği gibi,
DHCP sunucu üzerinden de otomatik olarak aldırılabilir.
16. Kali Temel Ağ Yapılandırması
● Ağ yapılandırması “ifconfig” komutu ile yapılabilir.
● root@kalia:~# ifconfig eth0 192.168.54.180 netmask 225.255.255.0
17. Kali Temel Ağ Yapılandırması
● Birden fazla IP adresi ile çalışmak gerektiğinde, her IP adresi için bir ağ
arabirimi kullanmak yerine aynı ağ arabirimine IP alias özelliğini kullanarak
birden fazla IP adresi atama işlemi yapılabilir.
● root@kalia:~# ifconfig eth0:0 192.168.54.190
18. Kali Temel Ağ Yapılandırması
● IP yapılandırmasını DHCP üzerinden almak
●
19. Kali DNS Yapılandırması
● Linux sistemlerde isim çözümleme ile ilgili kullanılan iki
dosya vardır.
– Hosts dosyası dns kaydına gerek kalmadan isim ile ulaşmak istenilen
cihaza ait kayıtlar girilir.
– Resolv.conf dosyası hangi DNS ayarlarının kullanıldığı bilgisini tutar.
21. Ping
● Ping programı, 1983 yılında Mike Muuss tarafından yazılmış bir programdır
● Ping komutu hedefe bir ICMP paketi gönderir ve aynı paketin cevap dönmesi
beklenir.
● Cevap gelirse - gelmezse
22. Çoklu Ping
● Eğer eşzamanlı birden fazla sisteme ping atıp açık makinelerin sayısını
belirlemek istersek, fping komutu kulanılabilir.
● 192.168.54.0/24 ağındaki aktif makinelerin tespit edilmesi
● Ping sonuçları ağdaki aktif makinelerin tespit edilmesi için yeterli mi?
24. Arp
● Yerel ağlarda ip-mac eşleşmesini sağlayan Layer 2 protokolüdür.
● Yerel ağdaki makinelerin haberleşebilmesi için birbirlerinin mac adreslerini
bilmeleri gerekir.
● Mac adresi arp sorguları ve dönen cevaplar ile öğrenilir.
● İşletim sistemleri her defasında iletişime geçmek istediği makinenin mac
adresini öğrenmek adına arp sorgusu yapmamak için belirli bir süre ip-mac
ikilisini belleğinde (arp cache) saklar.
25. Arp Statik Kayıt Ekleme
● Statik arp kaydı girilirse, arp sorgusuna gerek kalmadan, hedefe gidecek
paketlerin cache de belirtilen mac adresine doğru gönderilmesi sağlanmış
olur.
● Yerel ağ üzerinde arp cache poisoning türü ataklara karşı, temel bir koruma
olarak statik arp kaydı girilebilir.
● Statik mac adresinin girilmesi,
● Bilgisayar kapatılıp tekrar açıldığında statik olarak girilen kayıt kaybolacaktır.
● Statik girilen arp kayıtlarının kalıcı olduğundan emin olunmalıdır.
26. Ip-Mac Değişimini Kontrol Etmek
● Bir ağda aynı mac adresine sahip iki bilgisayar olursa?
– Normal bir durum değil, mac spoofing yapılıyor olabilir.
● Mac adresleri değiştirilebilir olduğundan, Nasıl yakalanabilir?
– ip – mac ikilisi belirli bir tabloda tutularak doğruluk kontrolü yapılabilir.
Böylece herhangi bir değişiklik olduğunda uyarı vermesi sağlanabilir.
– Tüm trafiği izleyen bir yapı olması gerekiyor.
– Kullanılan güvenlik cihazının arp spoof yapanları yakalama özelliği var mı?
28. Yönlendirme Tablosu
● Cihazın kendi bulunduğu ağ haricindeki ağlara erişim için yönlendirme
tablosunu kullanır.
● Bunu araba ile yolculuk yaparken gideceğiniz istikameti gösteren levhalara
belirtebilirsiniz.
● Gideceğiniz ağın yönlendirme tablosunda kaydı olmalıdır.
29. Yönlendirme Tablosu Görüntüleme
● Yönlendirme tablosunu görüntülemek için netstat -rn yada route -n
komutları kullanılabilir.
– -n parametresi IP adreslerine ait isimlerin çözümlemesini yapmaması için
● Linux sistemleri yönlendirici (router) yapabilirsiniz.
● Tek yapman gereken ip_forwarding özelliğinin aktif edilmesidir. Bu işlem
sonrasında Linux makine kendisine gelen istekleri hedefe doğru
yönlendirecektir.
32. Netstat
● Linux sistemlerde ağ bağlantılarını izlemek için kullanılır.
● TCP/UDP/ICMP/IP protokollerine ait bağlantı bilgileri anlık olarak
gözlemlenebilir.
● Netstat -plunt
– -n -- dont resolve names
– -l -- display listening server sockets
– -p -- display PID/Program name for sockets
– -u -- udp
– -t -- tcp
33. Netstat
● Sistemde hizmet veren portları kontrol edelim
● Bilgisayarımıza bağlantı kuran ip adrelerini biliyor muyuz?
35. Sisteme Kimler Bağlı?
● Sisteme hangi kullanıcıların nerden bağlandığı ve ne kadar süredir bağlı
olduğu bilgilerini who komu ile görebiliriz.
36. Kimim ben?
● Sistem ne zamandır ayakta?
● Sisteme bağlı kullanıcıların ne yaptıkları ile ilgili bilgiler için “w” komutu da
kullanılabilir.
37. Bağlantı Sıklığı?
● Sisteme yapılan girişlerin logları “last” komutu ile öğrenilebilir.
● Last komutu ile kullanıcıların sisteme ne sıklıkla giriş yaptığı izlenebilir.
● Sadece belirli bir kullanıcının yaptığı girişleri kontrol etmek için
● Test kullanıcısının 192.168.54.128 ip adresi üzerinden ftp ye bağlandığını
görüyoruz.
39. Bilgi Neden Değerli?
● Günümüz dünyasında en değerli varlıklardan biri
“bilgi” dir.
● Bilgi kimi zaman bir ürün üretiminde kimi zamanda
üretilen ürüne ait detaylar, formüller veya projelerdir.
● Bilgisayar dünyasında her bir bilgi sayısal veridir ve
saldırganlardan korunmalıdır.
40. Güvenlik Testlerinde Bilginin Önemi
● Güvenlik testlerinde bilgi toplama en önemli adımdır.
● Yeterli düzeyde bilgi toplanamazsa istenilen sonuçlar
elde edilemeyebilir.
● Bilgi toplama esnasında bu gerekli mi? değil mi?
soruları sorulmadan tüm bilgiler toplanmalıdır
– ve ilerleyen aşamalarda kullanılmak üzere sınıflandırılmalıdır.
41. Bilgi Toplama Yöntemleri
● Pasif Bilgi Toplama
– Hedef sistemle herhangi bir iletişim kurmadan internetin imkanları
dahilinde yapılır.
● Aktif Bilgi Toplama
– Hedef sistemle doğrudan iletişime geçerek
42. Pasif Bilgi Toplama
● Whois sorgusu ile
– Şirketin ip aralığı
– Sorumlu yöneticisi
– Telefon numarası
– E-posta adresleri
– Kurumun e-posta adresi kullanım profili
● isim.soyisim@kurum.com gibi
● Whois sorgulaması yapan birçok web sayfası
bulunmaktadır.
43. IP Adresleri ve Domain Hakkında Bilgi Edinme
● Dünyada ip adresi ve domain adı dağıtımı ICANN
(Internet Corporation for Assigned Named and Numbers)
adlı kurum üzerinden kontrol edilir.
● IP adresleri: RIR (Regional Internet Registrars) lar aracılığı
ile
– RIPE NCC, ARIN, APNIC, LACNIC
● Domain isimleri: Özel şirketler aracılığı ile
● Bir ip adresine ait bilgilere en kısa yoldan whois sorgusu
ile erişilebilir.
– whois ip_adresi
44. ARIN Üzerinden IP Sorgulama
● ARIN üzerinden yapılan IP
adresi sorgulamasında
eğer ARIN nin bölgesinde
değilse, ilgili RIR bilgisini
verecektir.
● Eğer bir IP adresinin hangi
bölgede olduğunu
bilmiyorsanız ilk olarak
ARIN üzerinden sorgulama
yaparak hangi bölgeye ait
olduğu öğrenilebilir.
45. Who.is
● Who.is üzerinden domain
sorgulama
● Alan adınızın whois
bilgilerinin 3. kişiler
tarafından öğrenilmesini
önlemek için whois
gizleme özelliği
kullanılmalıdır.
46. Archive.org
● 1996’dan veri tüm interneti kayıt altına alan bir yapıdır.
● Web sayfalarının geçmişini izleme
● milsafe.com sorguladığımızda bu domaine ait geçmiş site
görüntüleri elde edilebilir.
47. E-posta Listeleri Üzerinden Bilgi Toplama
● E-posta listeleri, forumlar, bloglar vb. çeşitli gruplarda
yardım amaçlı bilgi paylaşımları yapılmaktadır.
● Bir kurumda çalışan bilgi işlem elamanı yaşadığı
sorunun çözümünü bulmak adına, bt grupları üzerinde
kuruma ait bilgiler, ekran görüntüleri, log, ağ trafiği vb.
bilgileri paylaşabilmektedir.
48. Netcraft ile Bilgi Toplama
● Netcraft, işletim sistemi, kernel versiyonu, web sunucu bilgileri, sistemin
uptime bilgisi gibi bilgileri gösterebilen bir sayfadır.
50. Bir Domaine Ait E-posta Adreslerinin Bulunması
● Bir domaine ait e-posta adresleri internet üzerinden (arama motorları ile)
bulunabilir.
● Son kullanıcılara ulaşabilmenin en kolay yolu e-posta dır.
– Sosyal mühendislik – İNSAN KANDIRMA SANATI
● Bir kuruma ait e-posta adresleri çeşitli araçlar kullanılarak toplanabilir. Bu
araçlardan biri de theharvester
● root@kalia:~# theharvester -d milsafe.com -b all
51. Arama Motorları Aracılığıyla Bilgi Toplama
● Pipl.com ile şahıs arama
● Aranan kişi ile ilgili bulunan tüm bilgiler sınıflandırılarak kullanıcıya sunulur.
52. Arama Motorları Aracılığıyla Bilgi Toplama
● Google üzerinden arama yapmak için çeşitli teknikler
bulunmaktadır.
– site:aranan_site.com
● Aramaya filetype:pdf ekleyerek ile pdf dosyalarına link içeren
sonuçlar aranabilir.
● intitle:Aranacak_başlık
● inurl:urlde_bulunacak_kelime
● Örnek:
– Ubuntu 14.04 kernel 3.13 site:exploit-db.com
53. Arama Motorları Aracılığıyla Bilgi Toplama
● Google üzerinden arama yapmak için çeşitli teknikler bulunmaktadır. Bunlar
akılda kalıcı olmadığı için çeşitli araçlar kullanılmaktadır.
● Goolag Scanner
55. Aktif Bilgi Toplama
● Hedef ile iletişime geçilirerek olabildiğince fazla ve işe yarayan
bilgiler elde edilmeye çalışılır.
● İletişime geçtiğiniz her durumda loglara kayıt düşürmüş
olabilirsiniz.
56. DNS Protokolü Üzerinden Bilgi Toplama
● DNS protokolü internetin temel yapıtaşıdır.
● Www hizmetlerinde ve e-posta sistemlerinde kritik rol oynar.
● Düzgün yapılandırılmamış bir DNS sunucu dışarıya oldukça fazla bilgi
verebilir.
57. DNS Protokolü Üzerinden Bilgi Toplama
● DNS sorgulama araçları
– Nslokup (Windows/Linux)
– Dig (Linux)
58. DNS Protokolü Üzerinden Bilgi Toplama
● Dig dns sorgulama araçları arasında daha gelişmiş bir araçtır.
● Uzun vadede Linux dağıtımlarda nslookup komutunun yerini alabilir.
● Dig komutu sorgulama yaptığında detay bilgiler getirir. Sadece sorgunun
cevabı görünmesi istenirse ek parametrelerle bu sağlanabilir.
59. DNS Protokolü Üzerinden Bilgi Toplama
● Status:NOERROR
– Sorgulanan domain adının var
olduğunu ve bu domainden
sorumlu dns sunucunun sağlıklı
cevap verdiğini gösterir.
● Status:SERVFAIL
– Domainin olduğunu fakat
domainden sorumlu dns
sunucunun sorgulara sağlıklı
cevap veremediğini gösterir.
● Status:NXDOMAIN
– Domain ile ilgili ana dns
sunucuların bilgisinin olmadığını
gösterir.
● Query time: 3msec
● Sorgulamanın ne kadar sürdüğünü gösterir.
● DNS performans?
● MSG SIZE rcvd: 45
● Boyut
60. DNS Protokolü Üzerinden Bilgi Toplama
● MX kayıtları sorgulanarak bir domaine ait SMTP sunucular belirlenebilir.
● DNS Sunucu versiyon bilgisi öğrenme
– root@kalia:~# dig @195.175.39.40 verison.bind chaos txt
● DNS sorgularının hangi DNS sunuculardan geçtiğini sorgulamak için +trace
parametresini kullanabilirsiniz.
– root@kalia:~# dig +trace open.edu.tr
61. DNS Protokolü Üzerinden Bilgi Toplama
● Zone Transfer Kontrolü
● DNS yapısında ikincil dns sunucuya birincil dns sunucudan veri transferi olur. Bu
transfer edilen bilgiler domain kayıtlarına ait olduğu için başkalarının
görmemesi gerekmektedir.
● Zone transferi, sadece yetkili ip adreslerine olacak şekilde tanımlama
yapılmalıdır.
● Nslookup ve host araçları ile de zone transfer kontrolü yapabilirsiniz.
62. DNS Protokolü Üzerinden Bilgi Toplama
● Değişken kaynak port ve XID değeri
testleri
● DNS sorgulamaları UDP üzerinden
olduğu için IP spoofing yapmak kolaydır.
● Bu sebeple DNS protokolünün güvenliği
kaynak port numarası ve transaction ID
(XID) değişkenine bağlı
63. DNS Protokolü Üzerinden Bilgi Toplama
● DNSMAP
● Bir domaine ait subdomainleri brute
force yöntemi ile bulur.
● Eğer parametre olarak ayrı bir wordlist
verilmezse kendi içinde barındırdığı
listeyi kullanır.
64. Banner Yakalama (Banner Grabbing)
● Çalışan bir servis hakkında detaylı bilgi almanın en basit yolu o porta
telnet/netcat gibi bir uygulama ile bağlantı yaparak uygun komutu vermektir.
● Bazı servisler için herhangi bir komut vermenize gerek kalmadan gerekli bilgiyi
size verir.
65. Banner Yakalama (Banner Grabbing)
● Bu tür yöntemlerle hedefteki servisin tam sürümü de elde edilebilir.
● Bu testler elle yapılabileceği gibi otomatize araçlar kullanılarakta yapılabilir.
● Banner yakalamanın bir tık ötesi bu işi otomatize araçlara vermektir. Bu işi en iyi
yapan bir araç
– Nmap
66. Web Sayfası Yorum Satırlarında Bilgi Toplama
● Bazen yazılımcı arkadaşlar yazılım geliştirme aşamasında, kaynak kod içerisinde
genellikle yorum alanlarına çeşitli bilgiler yazarlar ve geliştirme bittikten sonra
bunları burada unuturlar.
● Buradaki notlar işe yaramaz bilgiler olabileceği gibi yazılan uygulamaya ait test
kullanıcı adı ve parola bilgileri de olabilir.
67. Hedef Sistemin Saatini Öğrenme
● HTTP ve SMTP üzerinden hedef sistemin saati öğrenilebilir.
● Aşağıdaki şekide verilen zaman diliminin GMT olduğuna dikkat ediniz!
● SMTP üzerinden hedef sistemin saatini öğrenmek için, hedefte olmadığı bilinen
bir kullanıcıya mail atılır ve sistemin hata dönmesi beklenir.
Hedef sistem hata dönerse, dönen mailin
başlıkları incelenerek zaman tespiti yapılabilir.
68. NAT Arkasındaki Sistemleri Bulma
● Intrace gelişmiş traceroute uygulamasıdır.
● NAT arkasındaki local ip adreslerini bulabilir.
● Çalışması için intrace başlatıldıktan sonra hedef sistemin ilgili portuna veri
göndererek izlenilmeli
● root@kalia:~# intrace -i eth0 -h mail.milsafe.com -p 80 -d 4
69. SMTP Relay Kontrolü
● SMTP üzerinden e-posta sisteminin relay’e açık olup olmadığının kontrol edilmesi
●
70. E-posta Başlıkları ile Bilgi Toplama
● Doğru konfigurasyon yapılmamış bir mail sistemi ile ilgili detay bilgiler edinilebilir.
● From:
– Mailin kimden geldiğini gösteren bölümdür.
– Değiştirilebilir olduğu için en az güvenilir başlık alanı denilebilir.
● To:
– Mailin kime gönderildiği bilgisi taşır.
● Received
– Received başlığı mail iletişimi ile ilgili verdiği bilgilerden dolayı önemlidir.
– Kullanıcı ile MTA (e-posta sunucu), MTA ile MTA arasındaki iletişimi geriye
dönük takip edebilmek için kullanılır. Böylece aşağıdan yukarı takip ederek
gönderilen mailin hangi SMTP sunuculardan geçtiği belirlenebilir.
72. E-posta Başlıkları ile Bilgi Toplama
● X-Başlıkları
– İstemci ve mta harici yardımcı yazılımların eklediği başlıklar gerçek başlık değerleri ile
karışmaması için X- ile başlar.
– Mesela bazı webmail programları gönderdikleri e-postalara X-Originating-IP:[88.228.40.6]
şeklinde başlık alanı ekler ve bu başlık bilgisi istemcinin mail attığı IP adresini gösterir.
● Bu başlık bilgileri ile çeşitli bilgiler elde edilebilir.
● X-Mail-Scanner:
● X-Mailer: AWeber 4.4
● X-Info: Message sent by sailthru.com customer edX.org
● X-Info: We do not permit unsolicited commercial email
● X-Info: Please report abuse by forwarding complete headers to
● X-Info: abuse@sailthru.com
● X-Mailer: sailthru.com
73. E-posta Başlıkları ile Bilgi Toplama
● Mail sunucunun dns ismi ve makine ismi farklı olursa
● Received: from smtp2.abc.com.tr (HELO smtp2.xyz.com.tr) (2.1.1.7) by
gelisimplatformu.org with SMTP; 29 Dec 2006 13:12:24 -0000
● from satırında maili gönderen sunucunun smtp2.abc.com.tr olduğu gözüküyor,
fakat aynı adrese dns sorgulaması yaptığımızda farklı bir isim çözüyorsa bu
başlığın değiştirilmiş olduğundan şüphelenilebilir.
● Bazen de maili gönderen makinenin DNS ismi ile kendi üzerinde tanımlanmış
ismi farklı olur ve Received kısmında iki farklı isim gözükür . Yukarıdaki örnek
aslında tam da bunu göstermektedir: makinenin ismi smtp2.xyz.com.tr olarak
tanımlanmış fakat dns kaydı smtp2.abc.com.tr şeklindedir.
74. Internetten İndirilen Dosyalar ile Bilgi Toplama
● Bu yöntem office dosyaları için kullanılsa da
genelde metadata içeren belgeler için
geçerlidir.
● Metadata, metaveri ya da üst veri, bir kaynağın
ya da verinin öğelerini tanımlayan bilgilerdir.
Kısaca veri hakkında veri/bilgi olarak
özetlenebilir. Pratikte kütüphanelerdeki kart
kataloğu ya da bibliyografya ile benzerlik
gösterirler.
75. Metagoofil Aracı ile Bilgi Toplama
● root@kalia:~/Downloads# metagoofil -d
milsafe.com -t doc,pdf,xls -l 200 -n 50 -o files -f
results.html
● Metagoofil bulduğu dokümanları indirip, diske
kaydeder ve bir ayrıştırıcıdan geçirerek
dokümanlar üzerindeki metadatalardan işe
yarayacak bilgileri raporlar.
76. Ağ Haritalama ile Bilgi Toplama
● Traceroute
● Traceroute IP başlığındaki TTL
(Time To Live) alanı kullanır.
– Amaç: Hedef sisteme
giden yolları öğrenmektir.
● TTL değerini 1 olarak alan
router paketi çöpe atar ve
geriye TTL Expired cevabı
döner. Bu şekilde hedef
üzerindeki yolun trafiği
belirlenir.
77. Ağ Haritalama ile Bilgi Toplama
● Linux sistemlerde traceroute komutu hedefe UDP datagramları gönderir.
● Windows sistemlerde tracert komutu hedefe ICMP Echo Request mesajları
gönderir.
● Hedef sistemde ICMP ve UDP portlar kapalı ise traceroute sağlıklı sonuçlar
vermeyecektir.
78. Ağ Haritalama ile Bilgi Toplama
● Tcptraceroute
● Hedef sistem üzerinde açık bir port üzerinden tcptraceroute çalıştırırsak
sisteme giden yolları ve sistem önündeki güvenlik duvarını belirleyebiliriz.
● Hedef sisteme tcptraceroute çalıştırıldığında genellikle son iki satırda aynı ip
adresini görürseniz, hedef sistemin önünde NAT yapan bir güvenlik duvarının
çalıştığı söylenebilir.
79. SNMP Üzerinden Bilgi Toplama
● SNMP (Simple Network Management Protocol - Basit Ağ Yönetim Protokolü) ağ
cihazlarında, yönetimsel bilgi alışverişini sağlamaya yardımcı olan basit bir
uygulama katmanı protokolüdür.
● SNMP UDP 161 portunu kullanır.
● Sistemlerde SNMP kullanılmıyorsa kapatılmalıdır.
80. Dmitry ile Bilgi Toplama
● Dmitry (Deep Magic Information Gathering Tool) hedef sistem hakkında
olabildiğince fazla bilgi toplayarak raporlar.
– Amaç: manuel yapılacak bir çok işlemi tek bir adımda yapabilmemize olanak
sağlar.
● root@kalia:~# dmitry -winsepfb www.milsafe.com -o rapor
– Whois bilgileri
– Netcraft bilgileri
– Subdomain ler
– E-posta adresleri
– Açık TCP portları
– Banner bilgileri
81. Maltego ile Bilgi Toplama
● Bilinen tüm bilgi toplama yöntemlerini birleştirerek merkezi bir yerden kontrol ve
raporlama imkanı sunar.
●
82. Maltego ile Bilgi Toplama
● Bilinen tüm bilgi toplama yöntemlerini birleştirerek merkezi bir yerden kontrol ve
raporlama imkanı sunar.
84. OSI Katmanı ve İşlevi
● OSI katmanı temelde ürünlerin birbirleri ile sağlıklı haberleşmesini isteyen
üreticilerin International Standards Organization (ISO) aracılığı ile çıkardığı ve
uyduğu bir yapıdır.
85. OSI Katmanı ve İşlevi
UYGULAMA Katmanı: Kullandığımız
uygulamalar.
ULAŞIM Katmanı: Uçtan uca sağlıklı
akış kontrolü sağlama
AĞ Katmanı: Bilginin farklı adreslere
hangi yollardan ulaşacağını sağlama,
yönlendirme katmanı
VERİ Katmanı: Üst katmandan gelen
bilgiyi fiziksel ortama göndermeden
uygun formata çevirir. MAC, ARP
86. TCP/IP Yapısı
● 1982 yılında Deparment of Defense (DoD) tarafından askeri iletişim amaçlı
kullanılan ve sonrasında internetin ortaya çıkmasında önemli rol oynayan
protokol.
● Her katmanın görevi bir önceki katmandan gelen veriyi uygun bir şekilde
işleyerek bir sonraki katmana sunmaktır.
87. TCP/IP Yapısı Port Kavramı
● TCP/IP’de temel iletişim TCP/UDP portları aracılığı ile yapılmaktadır.
● Bilgisayar dünyasında farklı amaçla kullanılan iki port tanımı vardır.
– Seri/Paralel Portlar: Bilgisayarlar ya da elektronik cihazlar arasındaki veri
haberleşmesini sağlayan fiziksel portlar.
– TCP/IP Portları: Bilgisayarlar arası sanal iletişim için kullanılan kapılar.
● Örn: FTP servisi 21. portta çalışır.
88. TCP/IP Yapısı Port Kullanımı
● TCP/UDP üzerinden iletişim kuran iki sistem arasında iki adet port açılır.
– İstemci (Client) tarafında bir port
– Sunucu (Server) tarafında bir port (LISTEN modu)
89. TCP/IP Port Yapısı
● Sık kullanılan portlar
– İstenildiğinde değiştirilebilir.
● İlk 1024 port “well known ports” olarak
geçer.
90. TCP/IP Güvenliği
● TCP/IP güvenlik düşünülerek tasarlanmış bir protokol değildir.
● TCP/IP de amaç: Veri iletişimini her durumda sağlıklı ve güvenilir(verinin
iletildiğinden emin olma) bir şekilde gerçekleştirmesidir.
● Alt seviye protokollerin güvenirliliği üst seviye protokolleri etkiler.
● Her bir protokolün kendine göre zayıflıkları vardır.
– ARP
– IP
– ICMP
– UDP
– TCP
91. ARP (Address Resolution Protocol)
● Yerel ağda (LAN) iki bilgisayarın birbiri ile haberleşebilmesi için kullanılan
protokoldür.
● İki bilgisayar iletişime geçmeden önce birbirlerinin IP adreslerini bilmeleri
gerekir.
– IP adreslerini bilen bilgisayarların iletişime geçebilmesi için MAC adreslerini
öğrenmek zorundalar.
● ARP iki işlemli bir süreçtir.
– ARP request
– ARP reply
92. ARP (Address Resolution Protocol)
● Süreç-1: arp request paketi
– İletişime geçmek isteyen bilgisayar hedef bilgisayarın MAC adresini
öğrenmek için broadcast paket gönderir.
94. ARP (Address Resolution Protocol)
● Süreç-1: arp reply paketi
– Kendisine broadcast olarak gelen arp isteğini alan hedef bilgisayar Target IP
address kısmını kendi IP adresi ile karşılaştırır. IP adresi kendisine aitse
cevabı sadece sorgulama yapan bilgisayara döner. IP adresi kendisine ait
olmayan diğer bilgisayarlar herhangi bir cevap dönmez.
96. ARP (Address Resolution Protocol)
● ARP protokolünün güvenlik açısından önemi
– ARP yerel ağlarda (LAN) iletişimin başladığı ilk noktadır.
– ARP protokolünün yapısı gereği herhangi bir güvenlik mekanizması
bulunmamaktadır.
– ARP spoofing & ARP poisoning
● Saldırı yöntemleri ile Layer 2 de iletişim ele geçirilebilir.
● Layer 2 de ele geçirilen bir iletişim üzerinden istenilen işlem yapılabilir.
97. IP (Internet Protocol)
● İnternetin temel yapıtaşı
● Kullanımda olan IP sürümü: IPv4
● Gelecekte kullanılması beklenen sürüm: IPv6
● Verilerin internet/yerel ağ üzerinden dolaşması IP ile gerçekleşir. Yani ağlar arası
yönlendirme işlemi yapar.
● IP Header:
98. IP (Internet Protocol)
● TTL (Time To Live)
– Her bir IP paketinin bir TTL değeri vardır. Bu değer her bir yönlendirici
geçişinde bir eksilir.
– Amaç: Yolunu kaybetmiş(!) IP paketlerinin sonsuza kadar interneti meşgul
etmesi engellenmiş olur.
● IP paketinin TTL değeri hedefe ulaşamadan biterse, kaynak bilgisayara TTL
Expired şeklinde ICMP bilgilendirme mesajı dönülür.
– Kaynak bilgisayar adresi: İletişimi başlatan adres
– Hedef bilgisayar adresi: İletişimin hedef adresi
– Protocol: IP paketinin taşıdığı protokol bilgisidir. TCP veya UDP olabilir.
99. IP (Internet Protocol)
● Sniffer ile IP paketini incelediğimizde
– Version: 4 ==> IPv4 olduğunu görüyoruz.
– Header lenght: 20 bytes ==> IP başlık boyutu
– Time to live: 128
– Protocol: UDP ==> UDP protokolü görüyoruz.
– Source ve Destination IP adresleri
100. IP (Internet Protocol)
● IP protokolünün güvenlik açısından önemi
– Hata kontrol mekanizması yoktur.
● Bu açığı kaptamak için ICMP protokolünden faydalanılır.
– Gönderici ve alıcı arasında bir kimlik doğrulama işlemi yoktur.
– IP parçalama (fragmentation)
● IP datagramının ağlar arasında dolaşırken kendi boyutundan daha düşük
parçalara bölünerek gönderilmesi
● Ethernet ağları için MTU (Maximum Transfer Unit) 1500 byte dır.
– IP spoofing
● Hedef sisteme olduğundan farklı bir IP adresini kullanarak paket gönderme
101. ICMP (Internet Control Message Protocol)
● ICMP bir bilgilendirme protokolüdür.
● IP katmanında temel görevi hata bildirmek olan bağımsız
bir protokoldür.
● Benzer şekilde UDP de bazı durumlarda bilgilendirme için
ICMP protokolünü kullanır.
– Örn: Kapalı portlar için UDP protokolü ICMP port unreachable mesajı döner.
● ICMP kullanım alanı
– Ping, Traceroute
102. ICMP (Internet Control Message Protocol)
● Ping komutu aslında ICMP echo request ve echo reply
paketlerinden oluşur.
● Ping komutu ile sadece iki tip ICMP paketi
gönderilebilirken, hping komutu ile istenilen ICMP
paketleri oluşturup gönderilebilir.
103. ICMP (Internet Control Message Protocol)
● ICMP paketlerinde TCP ve UDP deki gibi port kavramı yoktur. Bunlara benzer
ICMP type ve code değerleri vardır. Bir ICMP paketinin ne işe yaradığı bu değerle
belirlenir.
● ICMP type/code değerlerine adresinden ulaşılabilir
https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
104. TCP (Transmission Control Protocol)
● TCP güvenilir bir protokoldür. Güvenilir kelimesindeki kasıt veri iletişimin garanti
edilmesidir.
● İki host arasında veri iletişimi başlamadan önce anlaşma sağlanması
gerekmektedir. Bu anlaşmaya 3’lü el sıkışma denir. Eğer bu anlaşma
sağlanamazsa veri iletişimi başlamayacaktır.
● TCP nin güvenirliliğini sağlayan diğer önemli bir husus gönderilen her bir veri
parçası için onay beklenmesidir. Böylece veri paketlerinin kaybolma olasılığı
kalmamaktadır.
● TCP oturumunda en önemli bileşen bayrak (flags)lardır. Oturumun kurulması,
veri aktarımı, oturumun sonlandırılması gibi işlemlerin tamamı bayraklar aracılığı
ile gerçekleştirilir.
● Diğer protokollerde (ICMP, UDP, IP) bayrak kavramı yoktur.
105. TCP (Transmission Control Protocol)
● Süreç-1: Oturum kurulur (3’lü el sıkışma)
(Three-way Handshake)
● Süreç-2: Veri transferi gerçekleşir ve işlemler
bittiğinde
● Süreç-3: Oturum sonlandırılır.
106. TCP (Transmission Control Protocol)
● Her TCP oturumun kurulması için ilk adım hedefe SYN bayraklı bir paket
gönderilmesidir.
● Hping ile hedefe SYN bayraklı paket gönderiyoruz ve tcpdump ile paketi
inceliyoruz.
107. TCP (Transmission Control Protocol)
● Her TCP oturumun kurulması için ilk adım hedefe SYN bayraklı bir paket
gönderilmesidir.
● Hping ile hedefe SYN bayraklı paket gönderiyoruz ve tcpdump ile paketi
inceliyoruz.
108. UDP (User Datagram Protocol)
● TCP’ye göre oldukça hızlı bir protokoldür.
● Çalışma mantığı: Gönder ve UNUT!
– Paketi oluşturur ve hedefe gönderirsiniz, paketin hedefe ulaşıtığının garantisi
yoktur.
● Port taramalarda
– açık udp portları geri herhangi bir cevap dönmezken,
– kapalı udp portları icmp port unreachable mesajı döner.
● DHCP, DNS, SNMP gibi protokoller UDP kullanır.
109. UDP (User Datagram Protocol)
● Sniffer aracılığı ile UDP Protokolünü inceliyoruz.
● Connectionless (bağlantısız)
– 3’lü el sıkışma yok
– Onay mekanizması yok
– Akış kontrolü yok.
– Ama hızlı ve kaynak tüketimi az
110. TCP/IP Ağlarda Parçalanmış Paketler
● Parçalanmış paketler (Fragmented packets) ağ ve
güvenlik konusu olduğunda önemli bir yer teşkil
etmektedir.
● Saldırı tespit ve engelleme sistemleri (IDS/IPS) alınırken
parçalanmış paketler aracılığıyla yapılan saldırılara karşı
bir çözümü olup/olmadığı öğrenilmelidir.
111. TCP/IP Ağlarda Parçalanmış Paketler
● MTU (Maximum Transfer Unit)
● MTU değeri bir ağa girişteki maksimum kapasiteyi
gösterir.
● Ethernet ağları için 1500 byte dır. Bunun anlamı
ethernet ağına giren bir paketin boyutu maksimum 1500
byte olabilir.
● Ethernet ağı üzerinde 1500 byte tan daha büyük paketler
gönderilmek istendiğinde parçalama işlemi
gerçekleşecektir.
112. TCP/IP Ağlarda Parçalanmış Paketler
● Göndermek istediğimiz IP datagram değeri 1560 byte olsun. Bu
paket ethernet ağına girişteki ağ cihazına geldiğinde, ağ cihazı
ethernet ağı olduğunu ve bunun mtu değerinin 1500 byte
olduğunu bilir.
● 1560 byte olarak gelen paketi parçalama işlemine geçer.
● Paketimiz artık hedefine ilk parça 1500 byte, ikinci parçası 60
byte olmak üzere iki parça olarak ulaşır ve birleştirilir.
● Parçalanmış paketlerin hedefe ulaştığında doğru sırada
birleştirilmesi gerekir. Bunun için Fragmentation ID, yani IP ID,
kullanılır. Bir IP datagramına ait parçalanmış tüm paketlerde bu
değer aynı olmalıdır.
113. TCP/IP Ağlarda Parçalanmış Paketler
● Parçalanmış her paket datagramın hangi kısmını taşıdığını
(Offset değeri) ve sırasını bilmelidir.
● Ne kadarlık veri taşıdğı Total Lenght ile belirtilir.
● Hangi byte dan sonra bu verinin ekleneceği de Fragment
Offset değeri ile belirtilir.
●
115. TCP/IP Ağlarda Parçalanmış Paketler
● root@kalia:~# ping -s 5000 192.168.54.142 -c 1
● Son kalan byte
● 8 byte icmp
header
● Her bir paket için
20 byte IP header
116. TCP/IP Ağlarda Parçalanmış Paketler
● Öncelikle paket parçalama işleminin olağan bir durum
olduğunu görmüş olduk.
● Aslında paket parçalama işlemini gerekli olduğunda ağ
cihazları yapmaktadır. Fakat çeşitli araçlar kullanarak
kendi isteğimize göre paketleri parçalayıp gönderebiliriz.
● Ağ yapısına uygun olarak düşünülmüş bu özellik çeşitli
güvenlik sorunlarına sebep olmaktadır.
● Paket parçalama yöntemi ile Firewall/IDS/IPS sistemleri
atlatılabilmektedir.
117. TCP/IP Ağlarda Parçalanmış Paketler
● Nmap ile tarama esnasında parçalanmış paket gönderimi yapılabilir.
● root@kalia:~# nmap -f 192.168.54.142 --packet-trace -n -p 80
● --mtu parametresi ile hedef sistem taranırken gönderilecek paketlerin boyutunu
belirleyebilirsin.
118. TCP/IP Ağlarda Parçalanmış Paketler
● Fragroute ve fragrouter araçları istenen özelliklere göre parçalama işlemi
yaparlar.
● Fragroute bir web sayfasını ziyaret etmek istediğinizde, gönderdiğiniz istekleri
belirli boyut ve özelliklerde parçalayarak gönderir.
● Fragroute sağlıklı çalışabilmesi için, Linux sistemlerde aşağıdaki kontrol
sağlanmalıdır.
– echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
119. TCP/IP Ağlarda Parçalanmış Paketler
● Saldırı tespit sistemi (IDS) gibi çalışan komut
● ngrep komutu: ağ trafiğinde karakter arama yazılımıdır. Aşağıdaki şekilde
görüldüğü üzere http üzerinden /etc/passwd sorgulaması yapan kişiyi ngrep ile
yakalayıp ekrana basıyoruz.
● Örneğin önceden kaydetmiş olduğunuz ağ trafiği üzerinde ngrep ile çok kolay
analiz yapabilirsiniz.
120. TCP/IP Ağlarda Parçalanmış Paketler
● Paketi parçalayıp gönderelim ve ngrep yakalayabilecek mi?
● HTTP istegini gönderirken fragroute komutu çalıştırıyoruz ve ngrep’in bir şey
yakalayamadığını görüyoruz.
● Ngrep parçalanmış olarak gelen paketleri birleştiremediğinden dolayı
parçalanmış olarak gelen /etc/passwd verisini yakalayamıyor.
121. TCP/IP Ağlarda Parçalanmış Paketler
● Saldırı tespit sistemleri (IDS/IPS) gelen bir paketin / paket grubunun saldırı
içerikli olup olmadığını anlamak için çeşitli kontrollerden geçirir.
● Eğer bu kontrolleri yapmadan önce paket birleştirme işlemi yapmazsa,
rahatlıkla saldırı tespit sistemleri kandırılabilir.
● Hedefte kullanılan saldırı tespit sistemini öğrendikten sonra, saldırı tespit
sisteminin parçalanmış paketleri birleştirme özelliğinin olmadığını fark
ettiğimizde göndereceğimiz paketleri parçalayıp göndererek kolaylıkla
atlatabiliriz.
● Saldırı tespit sistemi almak istediğinizde öncelikle;
– İhtiyacınız nedir?
– Almak istediğiniz ürün ihtiyaçlarınızı karşılayabilecek mi?
– POC (Proof Of Consept) yapılmadan alınmamalıdır.
122. NormShield
● https://reputation.normshield.com/
● Oltalama saldırıları ve fidye zararlı
yazılım salgınları için siber tehditlere
yönelik erken uyarı sistemi mantığıyla
çalışan “NormShield Cyber
Intelligence”,
● Türkiye’deki kurumları ve kurum
çalışanlarını hedef alabilecek
saldırıları önceden tespit ederek
kullanılan sahte alan adlarını
üyelerine bildiriyor.
● NormShield’in sunduğu bu ücretsiz
hizmetten faydalanmak için formu
doldurmanız yeterli
124. Trafik Analizi / Sniffing
● Ağ trafiğini analiz etmek, izlemek amacıyla yazılmış bir çok
program bulunmaktadır.
● Bunlardan Unix/Linux dünyası için en bilineni ve sık kullanılanı
tcpdump dır.
● Windows sistemler için uyarlanmış adı windump dır.
● Ağ trafiği analiz amaçlı grafik arayüze sahip Wireshark
kullanılmaktadır.
– Hem linux hemde windows
● Diğer bir ağ trafiği analiz aracı Tshark wireshark’ın terminal
ekranından çalıştırılan versiyonudur diyebiliriz.
● Wireshark’ın grafik arayüzüne ihtiyaç duyulmayan durumlarda
yada böyle bir imkanın olmadığı durumlarda Tshark kullanılabilir.
125. Trafik Analizi / Sniffing
● Pasif ve Aktif olmak üzere iki çeşit Ağ analiz işlemi yapılır.
– Pasif Sniffing
● HUB ortamlarında
● Hedef sistemle iletişime geçilmez
● Sniffing’e dair iz bulunmaz
– Aktif Sniffing
● Switch ortamlarında
● Hedef sistemle iletişime geçilir.
● Arkasında iz bırakır.
● Yöntemler
– ARP spoofing
126. Promiscious Mode Kavramı
● Normalde bir ağ arabirimi sadece hedef adresi kendisini gösteren paketlerle
ilgilenir. Ancak ağ arabiriminin modu promisc yapılırsa, kendisine gelen her
paketi kime yollandığına bakmadan kabul eder.
● Promisc moddan çıkmak için
– ifconfig eth0 -promisc
127. Sniffer Yerleşimi
● HUB/TAP kullanılan ortamlarda trafik tüm portlara gideceği için ek bir işleme
gerek kalmadan HUB üzerindeki herhangi bir porta sniffer yüklü bilgisayarı
bağlayarak ağ trafiğini dinlemeye başlayabilirsiniz.
128. Sniffer Yerleşimi
● Switch kullanılan ortamlarda trafik sadece iletişim halinde olan iki host arasında
anahtarlanır ve diğer portlar bu trafiği göremez. Bundan dolayı SPAN (Switch
Port Analyser) olarak adlandırılan ve izlenmek istenen portlara gelen trafiğin bir
kopyasının gönderildiği bir port tanımlamak gerekir. Bu porta istenirse tüm
portların trafiği aktarılabilir.
129. Şifresiz Protokoller
● Verilerin iletişim kanalı üzerinden açık halde (clear text) aktığı protokollerdir.
● Verinin açık halde iletilmesi demek, ağı dinleyen herkes verinin içeriğini görebilir
ve değiştirebilir demektir.
● Bundan dolayı bu protokoller güvenlik açısından tehlikelidir.
● Güvenlik gereksinimi olan durumlarda kesinlikle şifresiz protokoller
kullanılmamalıdır.
● Telnet, FTP, SMTP gibi protokoller şifresiz iletişim kurdukları için kullanım
konusunda dikkatli olunmalıdır.
● Örneğin: Telnet yerine daha güvenli iletişim sağlayan SSH protokolü
kullanılabilir.
131. Şifreli ve Şifresiz Durumlar
HTTPS HTTP
HTTP ve HTTPS bağlantıları arasındaki farkı incelemek için ilk paket ve son paket
arasındaki geçen zamanı ve iletişimin bitmesi için arada gidip gelen paket sayısını
incelemek yeterli olacaktır.
132. Tcpdump
● Tcpdump paket yakalama ve analiz aracıdır.
● Tcpdump pcap paket yakalama kütüphanesini (libpcap) kullanır.
● Pcap destekli farklı bir araçla kaydedilmiş paketleride okuyabilir.
● Yoğun trafiğe sahip ağlarda sorunsuz paket yakalama ve pcap formatında
kaydetme yeteneği ile farklı sniffer araçlarının okuyabilmesini sağlama becerisi
tcpdump’ı vazgeçilmez araçlardan biri yapmıştır.
● Tcpdump komut satırında çalışır ve tüm özelliklerini parametre olarak alır.
● Tüm sniffer araçları çalıştırıldığında otomatik olarak ağ arabirimini promiscious
moda alır ve durdurulduğunda da ağ arabirimini normal moda döndürür.
● Tcpdump çalıştırabilmek için root haklarına sahip olmak lazım.
133. Tcpdump Kullanımı
● Tcpdump en basit kullanımı parametresiz kullanımdır. Parametresiz
çalıştırıldığında sistemde bulduğu ilk aktif ağ arabirimini dinlemeye geçer.
● Paket Formatı:
– Zaman damgası
– Kaynak ip adresi
– Kaynak port
– Yön belirteci
– Hedef ip adresi
– Hedef port
– TCP paketi ise ==> TCP Bayrağı
134. Tcpdump Kullanımı
● Eğer ilk arabirimi değilde istediğimiz bir ağ arabirimini dinlemek istiyorsak
– Ara birim seçimi ==> -i
– root@kalia:~# tcpdump -i eth1
● Sistemimizdeki eth1 ağ arabirimini dinlemeye aldık.
● Sistemde bulunan ve tcpdump ile dinlemeye alınabilecek arabirimlerin listesini
görüntülemek için
– root@kalia:~# tcpdump -D
● Tcpdump ile yakalanan paketlerin dns isimlerinin çözülmesi istenmiyorsa
– root@kalia:~# tcpdump -n
– -n parametresi kullanılmazsa, yoğun ağ trafiği olan yerlerde ip adresi – isim
çözmek için dns sorgusu göndermeye çalışacağı için ciddi bir yavaşlık olabilir.
135. Tcpdump Kullanımı
● Tcpdump çıktısında zaman damgası (timestamp) görünmesi istenmiyorsa
– root@kalia:~# tcpdump -t
● Yakalanan paketleri ekranda değilde sonradan incelemek üzere bir dosyaya
kaydetmek istiyorsanız
– root@kalia:~# tcpdump -i eth0 -nt -w kaydet.pcap
● Kaydedilmiş paketleri okumak istediğinizde
– root@kalia:~# tcpdump -nt -r kaydet.pcap
● -w parametresi ile herhangi bir dosyaya paketleri kaydederken filtreleme
yapılabilir. Sadece şu paketleri kaydet, isim çözme ve zaman damgası gösterme
● -r parametresi ile paketleri okurken filtre belirtilebilir. Hatta bu filtrenin -w ile
belirtilen filtre ile aynı olma zorunluluğu yoktur.
136. Tcpdump Kullanımı
● Yakalanacak paket sayısını belirlemek isterseniz -c parametresi ile ne kadar
paket yakaladıktan sonra duracağını belirtebiliriz.
– root@kalia:~# tcpdump -i eth0 -nt -c 5
● -v parametresi ile daha detaylı loglama yapılması sağlanabilir.
– root@kalia:~# tcpdump -i eth0 -nt -c 5 -v
● Sadece Tcpdump’ın çalıştığı makineye ait bir paket analizi yapmak istediğimiz
zaman -p parametresini kullanabilirsiniz.
– root@kalia:~# tcpdump -i eth0 -p
– Böylece promisc moddan kaçınmış bulunuyoruz.
– root@kalia:~# dmesg | tail -1
● Promisc modda olup olmadığını kontrol edebilirsiniz.
137. Tcpdump Kullanımı
● Yerel ağ trafik analizlerinde MAC adreslerini yakalamak için
– root@kalia:~# tcpdump -nt -e
● Sadece belirli bir host’a ait paketlerin izlenmesi isteniyorsa
– root@kalia:~# tcpdump -i eth0 host 192.168.54.142
– Bu komut kaynak ya da hedef ip adresi 192.168.54.142 olan host’a ait
paketlerin yakalanmasını sağlar.
– root@kalia:~# tcpdump -i eth0 dst host 192.168.54.142
– Dst host ==> hedef host belirtimi
– root@kalia:~# tcpdump -i eth0 src host 192.168.54.142
– Src host ==> kaynak host belirtimi
138. Tcpdump Kullanımı
● İp adresi yerine istenilen bir host ismide belirtilebilir.
– root@kalia:~# tcpdump -i eth0 host milsafe.com
● Kaynak ip adresi 192.168.54.142 hedef ip adresi 192.168.54.137 olan paketleri
izlemek istersek
– root@kalia:~# tcpdump -i eth0 src host 192.168.54.142 and dst host
192.168.54.137
● Belirli bir porta ait paketlerin izlenmesi isteniyorsa
– root@kalia:~# tcpdump -i eth0 port 23
– Kaynak veya hedef portu 23 olan paketler
– root@kalia:~# tcpdump -i eth0 dst port 23
– root@kalia:~# tcpdump -i eth0 src port 23
139. Saldırı Tespit Sistemi Olarak Tcpdump
● Tcpdump basit bir paket yakalama aracı olmasına rağmen, gelişmiş filtreleme
özelliklerini kullanarak ortamdaki anormal paketleri bir IDS gibi belirleyebilir.
● TTL değeri 2 den az olan paketleri yakalama (traceroute)
– TTL değeri internette paketlerin başıboş dolaşmamaları için ip başlık alanına
eklenen bir bilgidir ve her yönlendirici cihazdan geçerken bu değer bir düşer.
– TTL değeri ağlar arası sorun gidermede de kullanılır.
– Kötü niyetli birisi traceroute kullanarak sizin ağınızın haritasını çıkarabilir.
– Tcpdump ile traceroute paketlerini yakalama
140. Saldırı Tespit Sistemi Olarak Tcpdump
● IDS kullanmadan Nmap tarafından yapılan port taramalarını yakalama
● UDP portlarını izleme
141. Saldırı Tespit Sistemi Olarak Tcpdump
● IDS kullanmadan Nmap tarafından yapılan port taramalarını yakalama
● XMAS tarama türünde FIN, PUSH, URGENT bayrakları set edilmiş TCP paketi
gönderilerek hedef sistemin portlarının durumu belirlenmeye çalışılır.
142. Saldırı Tespit Sistemi Olarak Tcpdump
● Port tarama araçlarının kendilerine özgü imzaları vardır. NIDS gibi sistemler
tarama yapan araçları bu imzalarından tanıyarak alarm üretirler.
● Hping port taramalarını belirleme
● Hping tarama yaparken kaynak port numaralarını birer arttırdığını görüyoruz.
143. Saldırı Tespit Sistemi Olarak Tcpdump
● Port tarama araçlarının kendilerine özgü imzaları vardır. NIDS gibi sistemler
tarama yapan araçları bu imzalarından tanıyarak alarm üretirler.
● Nmap port taramalarını belirleme
● Nmap tarama yaparken kaynak port numaralarını sabit tuttuğunu görüyoruz.
144. Wireshark
● Açık kaynak kodlu bir trafik analiz programıdır.
● Windows ve Linux işletim sistemleri üzerinde ücretsiz olarak kullanılabilir.
● Yakalanan paketleri kaydedebilme, kaydedilen paketleri analiz edebilme
● Tcpdump gibi çeşitli paket analiz programları ile yakalanmış ve kaydedilmiş
paketleri analiz edebilme
● Filtreleme esnasında istenilen protokolerin istenilen renkte gösterilebilmesi
● Wireshark temelde iki şekilde çalışır.
– Akan trafikte anlık olarak verileri yakalayarak gösterim yapabilir.
– Daha önce kaydedilmiş pcap formatındaki verilerden gösterim yapabilir.
145. Wireshark
● İlk olarak Capture bölümünden
dinleme yapılacak arabirim
seçilir.
● Using this filter bölümüne tüm
trafiği değil de sadece bizim
belirlediğimiz trafik türlerini
yakalamak için kullanılır.
● Amaç FTP trafiğini izlemekse diğer
trafikleri yakalamak bize zaman
kaybettirir.
148. Wireshark
● Paket birleştirme
● Bir TCP bağlantısı onlarca ayrı
paketten oluşur. Örneğin: Bir web
sayfasına yapılan isteğe dönen cevap
sayfanın boyutuna bağlı olarak
onlarca TCP paketi ile gelebilir.
● Herhangi bir TCP paketi üzerine gelip
sağ tıkladıktan sonra “Follow TCP
Stream” özelliği seçilirse o bağlantının
ait olduğu oturumun detayları ek bir
pencerede açılacaktır.
149. Wireshark
● Paket birleştirme
● Bir TCP bağlantısı onlarca ayrı
paketten oluşur. Örneğin: Bir web
sayfasına yapılan isteğe dönen cevap
sayfanın boyutuna bağlı olarak
onlarca TCP paketi ile gelebilir.
● Herhangi bir TCP paketi üzerine gelip
sağ tıkladıktan sonra “Follow TCP
Stream” özelliği seçilirse o bağlantının
ait olduğu oturumun detayları ek bir
pencerede açılacaktır.
150. Wireshark Filtreler
● Capture Filter
– Wireshark çalıştırılırken hangi türde paketleri yakalaması gerektiğini belirten
filtredir.
– Tcpdump ile komut satırından yazdığımız filtrelerle aynıdır.
● Display Filter
– Yakalanan paketler üzerinde analiz yapılırken kullanılan filtredir.
– Expression sekmesi tıklanırsa filtre yazmak için bir pencere açılacaktır.
151. Dsniffing – Password Sniffer
● Akan trafikten hassas bilgileri
çıkarabilir
● Kaydedilmiş trafiği okuyarak hassas
bilgileri ayıklayabilir.
● Dsniff FTP ye bağlantı bilgilerimi karışık
trafik loglarından analiz yaparak
kullanıcı adı ve parola bilgisini ekrana
verdi.
152. Yerel Ağlarda Sniffer Tespiti
● Ağda sniffer olarak çalışan makinelerin bulunması demek, ağda promiscious
modda çalışan ethernet kartlarına sahip sistemlerin bulunması demektir.
● Ethernet kartlarının çalışması
– Unicast ==> Kendi adresine gelen paketler
– Broadcast ==> Broadcast adresine gelen paketler
– Multicast ==> multicast grubuna ait paketler
– Promiscious ==> Gelen paketin ne olduğuna bakmadan kabul edildiği durum
● Şüphenilen makineye kendisinin sorgulandığı bozuk broadcast paketler gönderilir.
Normalde host promiscious modda değilse bu paketleri önemsemeyecektir. Ancak
promiscious modda ise paketin ne olduğuna bakmadan kabul edecektir ve paketin
içerisinde de kendisinin sorgulandığını görünce, cevap vermek isteyecektir.
Böylece makine üzerinde sniffer çalışıp çalışmadığını anlamış olacağız.
153. Yerel Ağlarda Sniffer Tespiti
● Scapy ile şüphelendiğimiz 192.168.54.141 makinesi promiscious modda mı
öğrenmeye çalışıyoruz.
● Broadcastten bozma bir adrese 192.168.54.141 adresinin kim olduğunu
soruyoruz
154. Yerel Ağlarda Sniffer Tespiti
● Cain&Abel ile
promisc mode yerel
ağlarda tespit
edilebilir.
155. Yerel Ağlarda Sniffer Tespiti
● Cain&Abel ile
promisc mode yerel
ağlarda tespit
edilebilir.
157. ARP Spoofing / Cache Poisoning
● Şekilde Bilgisayar A, Bilgisayar B ile iletişime geçmek istediğinde ağ anahtarı her
ikisinin mac adresi ve port bilgilerini bir tabloda tutarak bu iki bilgisayar
arsındaki iletişimi diğerlerinin görmesini engeller.
● Ağ anahtarı kullanılan yerlerde ağ trafiğini dinlemenin çeşitli yolları vardır.
Bunlardan en basit ve en etkili yöntem olan arp spoofing değineceğiz.
● ARP spoofing yerel ağlarda gerçekleştirilebilir. Bunun sebebi ARP protokolünün
Layer 2 katmanında çalışmasıdır.
158. ARP Spoofing / Cache Poisoning
● Hedef sisteme sahte arp paketleri göndererek kendisini ağ geçidi (gateway) gibi
göstermek ve böylece kurbanın ağ trafiğini üzerinden geçirmek.
● Burada yapılan işlem ARP belleğinin zehirlenmesidir.
● ARP Spoofing için kullanılan temel araçlar:
– Windows ortamında
● Cain & Abel
– Linux ortamında
● Arpspoof
● Ettercap
● ARP Spoofing için kullanılabilecek bir çok araç bulunmaktadır. Hangisinin
kullanıldığı önemli değildir. Önemli olan işlemin yapılmasıdır.
159. ARP Spoofing / Cache Poisoning
● ip_forward aktif duruma getirilerek trafiğin yönlendirilmesi sağlanır.
● Arpspoof ile de kurban sistemin trafiği üzerimizden geçirilir.
● Arpspoof komutu 192.168.54.142 ip adresli kurban makinede tutulan ağ geçidi
192.168.54.2 adresine ait MAC adresinin 192.168.54.128 ip adresine sahip
makinenin MAC adresi ile değiştirilmesi sağlanır.
● Kurban ip adresi: 192.168.54.142
● Ağ geçidi ip adresi: 192.168.54.2
● Saldırgan ip adresi: 192.168.54.128
160. ARP Spoofing / Cache Poisoning
● Kurban sistemde arpspoof işleminin yapılıp yapılmadığı arp -a komutu ile
gözlemlenebilir.
● Böylece kurban makinesi internete çıkmak istediğinde yada herhangi bir
sunucuya bağlanmak istediğinde bütün ağ trafiği saldırgan üzerinden geçeceği
için, kurbanın trafiği izlenebilir durumdadır.
161. Cain & Abel ile ARP Spoofing
● Cain & Abel çok amaçlı
bir güvenlik aracıdır.
● İlk olarak Configure
menüsünden kullanmak
istenilen arabirim seçilir.
162. Cain & Abel ile ARP Spoofing
● İkinci adımda sniffer
tabına geçilir.
● Start/stop sinffer
sekmesi tıklanır.
● Sağı tıklayıp
scan MAC Adresses
diyoruz.
● Çıkan ekranda tarama
işlemini başlatabiliriz.
163. Cain & Abel ile ARP Spoofing
● Üçün adımda altta
görülen APR sekmesine
geçiyoruz.
● + sekmesine tıklayıp
hedef makine ile
gateway belirtilir.
● Sol tarafta seçili host
ile sağ taraftaki host
arasına girilir.
164. Cain & Abel ile ARP Spoofing
● Start/stop APR sekmesi
tıklanır ve sniffing
başlatılır.
165. Cain & Abel ile ARP Spoofing
● Altta görülen Passwords
sekmesine geçilir.
● Kurbanın parolalı
iletişimlerinin parola
bilgilerini görüyoruz.
● Sol ekranda hangi
protokollere ait parola
bilgilerinin gösterildiği
görülür.
166. DNS Spoof
● Kurbanın yapacağı dns sorgularını istediğimiz bir ip adresine yönlendirebiliriz.
● Kurban bilgisayarda milsafe.com sayfasına bağlandığımız sayfanın geldiğini
görüyoruz.
● Dns spoof işleminin ilk adımı: ARP spoof ile kurbanın trafiği üzerimizden
geçmesini sağlamaktır.
– root@kalia:~# echo 1 > /proc/sys/net/ipv4/ip_forward
– root@kalia:~# arpspoof -i eth0 -t 192.168.54.142 192.168.54.2
167. DNS Spoof
● Adım1: hedef sistemin trafiği arpspoof ile üzerimizden geçirilir.
● Kurban sistemde arpspoof işleminin başarılı olup olmadığına arp -a komutu ile
bakılabilir.
168. DNS Spoof
● Adım2: istenilen domainlere ait kayıtlar domain.txt dosyasına yazılır.
● Adım3: dnsspoof aracı çalıştırılır.
● Artık kurbanın www.milsafe.com sayfasına veya google.com domainlerine
gitmesini bekliyoruz.
169. DNS Spoof
● Kurban www.milsafe.com adresine gitmek istdiğinde aşağıdaki şekilde de
görüldüğü üzere bizim yönlendirdiğimiz web sayfasına gidecektir.
● İlk başta yönlendirme gerçekleşmezse DNS cache’inden dolayı olabilir. DNS
cache temizlendikten sonra denediğinizde başarılı olacaktır.
170. Cain & Abel ile DNS Spoof
● APR sekmesinde bulunan APR-DNS
geçiyoruz.
● Sağı tıklayıp Add to list dediğimizde
istediğimiz domaine ait kayıtları
girebiliriz.
171. Cain & Abel ile DNS Spoof
● Kurban www.google.com adresine ping attığında gittiği ip adresini görüyoruz.
● Kurban www.milsafe sayfasına gitmek istediğinde
172. HTTP Trafiğinde Araya Girme
● Trafik dinlemenin bir adım ötesi araya girilen ortamda trafiğe müdahale
etmektir.
● Bir kere trafiği üzerimizden geçirdikten sonra istediğimiz şekilde oynama
yapabiliriz.
● HTTP trafiği üzerinde istediğimiz oynamaları canlı olarak yapmak için Paros web
uygulama güvenliği aracını kullanacağız.
● Paros proxy modda çalışarak sunucudan gelen-giden trafiği gözlemleyebilir ve
müdahale edebilmemize olanak sağlar.
● İlk olarak kurban sisteminin trafiği üzerimizden geçirilir.
– root@kalia:~# echo 1 > /proc/sys/net/ipv4/ip_forward
– root@kalia:~# arpspoof -i eth0 -t 192.168.54.142 192.168.54.2
173. HTTP Trafiğinde Araya Girme
● İkinci adım: Paros ile proxy modda istediğimiz trafiğe müdahale edebilmek için,
TCP 80 portuna giden istekleri transparan olarak yerel sistemin 8080 portuna
yönlendiriyoruz.
174. HTTP Trafiğinde Araya Girme
● Üçüncü adım: Paros ile
proxy ayarlarını yapıyoruz.
– Tools ==> Options
sekmesinden
175. HTTP Trafiğinde Araya Girme
● Kurban www.milsafe.com web sayfasına gitmek istediğinde cevap beklieniyor.
● ???
176. HTTP Trafiğinde Araya Girme
● İstek paros tarafından
yakalandı.
● HTTP isteği üzerinden
istediğimiz değişikliği
yapabilir.
● Milsafe yerine
bgasecurity yazıp,
Continue diyerek isteği
gönderdiğimizde
● Kurbanın ekranında
www.bgasecurity.com
web sayfası açılacaktır.
177. HTTP Trafiğinde Araya Girme
● Paros Sites sekmesinde
milsafe.com adresini
göremiyoruz.
● Kurban tarafında bga nın
sayfasının açıldığını
görüyoruz.
● Kurban bu şekilde zararlı
içerikli bir sayfaya
yönlendirebilir
178. HTTPS Trafiğinde Araya Girme
● SSL (HTTPS) güvenlik amacıyla verileri şifrelemek için kullanılır.
● SSL kullanılan bazı sistemlerde HTTP ve HTTPS birlikte kullanılır. Yani sayfa
normalde HTTP üzerinden çalışır. Ancak sayfa oturum bilgilerinin girileceği
alanlarda HTTPS’e çevrilir. Bu durumda yeni oluşacak HTTPS alanının güvenliği
HTTP ye bağlı oluyor.
● Neden sadece HTTPS kullanılmıyor?
● Sslstrip ile https trafğinde nasıl araya gireceğiz?
179. HTTPS Trafiğinde Araya Girme
● İlk olarak kurban sisteminin trafiği üzerimizden geçirilir.
– root@kalia:~# echo 1 > /proc/sys/net/ipv4/ip_forward
– root@kalia:~# arpspoof -i eth0 -t 192.168.54.142 192.168.54.2
● İkinci adım: Kurbandan TCP 80 portuna giden istekleri yerel sistemde sslstrip’in
dinleyeceği 8000 portuna yönlendiriyoruz.
180. HTTPS Trafiğinde Araya Girme
● Üçüncü adım: Saldırgan sslstrip uygulamasını çalıştırarak dinlemeye geçer ve
gelen istekleri-cevapları “kaydet” isimli dosyaya toplar.
● Kurban hesabına bağlanmak istediğinde
181. HTTPS Trafiğinde Araya Girme
● Örnek Senaryo: Masum kullanıcı arkadaşlarıyla geldiği cafe de ücretsiz bir kablosuz
ağ bulmuş olmanın sevinciyle hemen bilgisayarı ile bağlanıp maillerine bakmak
ister.
– Yan tarafta kahvesini yudumlayarak kurbanını bekleyen saldırgan, el
çabukluğuyla kurban seçtiği kişinin trafiğini üzerinden geçirir. (arpspoof)
– Kurban olarak seçilen arkadaş durumdan habersiz mail uygulamasına
bağlanmaktıyı başlattığında araya giren saldırgan HTTPS ile başlayan adresi
HTTP olarak değiştirir ve kurbanına gönderir.
– Hiçbir şeyden haberi olmayan kurban gelen sayfada kullanıcı adı / parola
bilgilerini girer.
– Kurbandan gelen oturum bağlantı bilgisi HTTP üzerinden olduğu için saldırgan
sslstrip ile bu bilgileri ele geçirir. Yine bu bilgiler ile mail sunucya HTTPS ile
bağlantı açar ve HTTPS dönen cevabı yine HTTP ile değiştirerek kurbana
gönderir.
182. HTTPS Trafiğinde Araya Girme
● Böylece kurban farketmeden HTTPS yerine HTTP kullanır ve tüm bilgilerini
kaptırır.
● Bu tür senaryo, halka açık kablosuz ağlarda, misafirlikte, şirketlerin yerel
ağlarında vb. gibi bir çok yerde yaşanabilir.
● Nasıl Korunulur?
– Kurban olmamak için: HTTPS olarak gidilmesi gereken sitelere giderken
isteklerin HTTPS olarak gittiğine dikkat edilmeli
– Firefox kullanıyorsanız belirlediğiniz sitelere HTTPS gidilmesi gerektiğini
belirten ve HTTPS gitmenize yadımcı olan çeşitli eklentiler bulunmaktadır.
183. MAC Flooding
● Ağ anahtarı (switch) mantığını bozup sistemin bir hub gibi çalışmaya zorlamaktır.
● Ağ anahtarı Port-Mac bilgilerini CAM tablosunda tutar.
● Bu CAM tablosu kapasitesini aşacak şekilde dolarsa ağ anahtarı artık işini
yapamaz hala gelir ve basit bir hub gibi davranmaya başlar.
● Bu saldırı macof aracı ile yapılabilir ve oldukça tehlikelidir.
185. ARP Saldırılarından Korunma
● Arpalert yazılımları
– İp-mac ikililerini topla ve herhangi bir değişiklik olduğundan uyarı vermesini
sağla
● Statik ARP kaydının girilmesi
● Kullanılan Ağ anahtarı üzerinden koruma özelliklerinin açılması
– Port security
187. Güvenlik Testlerinde Keşif
● İlk olarak açık sistemlerin belirlenmesi, ardından bu sistemlere ait aktif
servislerin detayları ile bulunması ve sonrasında zayıflık tarama araçları ile
detaylı bir taramadan geçirilmesi gerekmektedir.
● Otomatize araçlarla zafiyet tarama yapıldığında false positive oluşma durumları
vardır. Sağlıklık sonuçlar alabilmek için farklı iki aracın kullanılması ve
sonuçlarının bir bir değerlendirilip yorumlanması iyi yöntemlerden biridir.
Açık Hostların Keşfi
Açık Portların Keşfi
Açık Servislerin Keşfi
Zafiyet
Tarama
188. Nmap
● Geniş bir tarama yelpazesine sahip olması ve sürekli aktif gelişim sürecinde
olmasından dolayı en önemli port tarama aracı ünvanını hakediyor.
● Nmap ile sağlıklı tarama yapabilmek için;
– Öncelikle iyi bir TCP/IP bilgisine
– Bol bol pratik yapmaya
– Komut satırını kullanmaya
ihtiyaç var.
189. Nmap Tarama Adımları
● Taramalarda verilen host ismi ise IP, IP
ise host isim karşılığını bulmaya çalışır.
● DNS sorgusuna gerek yoksa -n
parametresi ile iptal edilebilir.
190. Nmap Tarama Adımları
● Hedefi taramadan önce ayakta mı
kontrolünü yapar.
– ICMP echo
– SYN 443 porta
– ACK 80 porta
● Hedef sistem ayakta mı kontrolü
yapmadan port tarama yapmak için -Pn
parametresi kullanılır.
191. Nmap Tarama Adımları Sonrası Kullanımı
● Nmap temel kullanımda
– DNS sorgusu yapmasın
– Host keşfi yapmasın
– -v parametresi ile de ayrıntılı
gösterim sağlıyoruz.
192. Nmap Hedef Belirleme
● Öncelikli olarak taranacak hedef sistem veya sistemlerin belirlenmesi
gerekmektedir.
– Hedef tek bir IP adresi (domain ismi) olabilir.
– Hedef IP bloğu olabilir.
● nmap -Pn -n -v 192.168.54.0/24
– Hedef istenilen bir IP aralığı olabilir.
● nmap -Pn -n -v 192.168.54.20-25
– Hedef belirli bir dosyaya yazılmış ip adresleri olabilir.
● -iL <dosya_ismi>
193. Nmap Kullanıcısının Hakları
● Nmap’i tüm özellikleri ile birlikte kullanabilmek için tam yetkili sistem hesabı
gerekmektedir.
● Yetersiz haklara sahip bir kullanıcı ile üst düzey hak isteyen özellikleri
kullanılmaya çalışılırsa aşağıdaki gibi hata ile karşılaşılır.
194. Nmap Tarama Yöntemleri
● Nmap birden fazla tarama yöntemini destekler.
● TCP SYN Scan (-sS)
– Hedefe SYN bayraklı TCP paketi gönderilir.
– Hedef SYN ACK dönerse port açık demektir.
– Hedefe RST gönderilerek bağlantı sonlandırılır.
198. Nmap Tarama Yöntemleri
● TCP SYN Scan (-sS) --- Cevap Gelmeme Durumu
● Bu durumda Hedef sisteminin önünde bir güvenlik duvardır vardır.
● Güvenlik duvarı kapalı porta gelen istekleri DROP / DENY edecek şekilde
ayarlandığı için cevap gelmemiştir.
● Filtered Durumu
● Diğer bir deyişle güvenlik duvarı kapalı port için RST cevabı göndermez.
199. Nmap Tarama Yöntemleri
● TCP Connect Scan (-sT)
● Bu taramada TCP oturumu kurulur.
● Dezavantajı çoğu güvenlik sistemi tarafından loglanması
200. Nmap Tarama Yöntemleri
● TCP FIN Scan (-sF)
● Hedefe FIN bayraklı TCP paketi gönderilir.
● Açık portlar cevap dönmez.
● Kapalı portlar RST döner.
201. Nmap Tarama Yöntemleri
● TCP Null Scan (-sN)
● Hedefe herhangi bir bayrak set edilmemiş TCP paketi gönderilir.
● Açık portlar cevap dönmez.
● Kapalı portlar RST döner.
202. Nmap Tarama Yöntemleri
● TCP XMAS Scan (-sX)
● Hedefe FIN, URG ve PUSH bayrakları set edilmiş TCP paketi gönderilir.
● Açık portlar cevap dönmez.
● Kapalı portlar RST döner.
203. Nmap Tarama Yöntemleri
● UDP Tarama (-sU) --- Portun Kapalı Olduğu Durum
● UDP de bayrak kavramı yoktur. Bayrak kavramı TCP ye özeldir.
● Kapalı portlar için ICMP: Port Unreachable dönmesi beklenir.
204. Nmap Tarama Yöntemleri
● UDP Tarama (-sU) --- Portun Açık veya Filtered Olduğu Durum
● UDP de bayrak kavramı yoktur. Bayrak kavramı TCP ye özeldir.
● Açık portlar cevap dönmez. Ya da kullanılan protokole uygun bir cevap döner.
● Tarama yapılan host göndereceği ICMP mesajı filtrelenmiş ise bazı tarama
programları o UDP portunu açık olarak gösterecektir.
● Nmap de benzeri bir yöntem izlediği için geriye dönmeyen ICMP mesajlarından o
portun açık yada filtrelenmiş olduğunu söyler.
205. Nmap Versiyon Belirleme (-sV)
● Hedef üzerinde açık bir port belirlendiğinde, port üzerinde hangi servisin çalıştığı
ve versiyonu öğrenilebilir.
206. Nmap İşletim Sistemi Belirleme (-O)
● Hedef sisteme gönderdiği paketlere dönen cevapları bir veritabanı ile
karşılaştırırarak yorumlar.
● Bundan dolayı bazen işletim sistemi tarama sonuçlarında hedefi tam
belirleyemezse tahminde bulunur.
207. Nmap Hedef Port Belirleme
● TCP 65535 port olduğunu biliyoruz.
● UDP 65535 port olduğunu biliyoruz.
● Taramalara tüm portları dahil edecek olursak bir o kadar tarama süresi
uzayacaktır.
● Taramalara tüm portları dahil etmezsekte üzerinde çalışan önemli bir servis olan
ve bizim taramadığımız bir port olabilir.
● Nmap internette en sık kullanılan top 10, 100, 1000 gibi port tarama
parametresi belirlemiştir.
● Taramalarda bu parametreleri kullanarak en sık kullanılan portlara göre tarama
yapılabilir.
– root@kalia:~# nmap -n -Pn 192.168.54.142 --top-ports 10
208. Nmap Hedef Port Belirleme
● Top 10 portu taradığımızda aşağıdaki şekilde görüldüğü üzere, hangi portları
taradığını görebiliyoruz.
209. Nmap Tarama Sonuçlarının Sebepleri
● Tarama yaparken bir porta ait open|closed|filtered sonuçları alınır.
● Bu sonuçların neden olduğu konusunda detay bilgi için:
– --reason parametresi kullanılabilir.
UDP Tarama
TCP Tarama
210. Nmap Tarama Süreçlerinin Takibi
● Tarama yaparken gönderilen ve alınan tüm paketleri görmek isterseniz:
– --packet_trace parametresi kullanılabilir.
– Arada başka bir cihaz yüzünden taramalarınız sağlıklı sonuçlar vermiyorsa
bununla ilgili durumlarıda görebilirsiniz.
Adım-1: hedef ip adresinin MAC
adresini öğrenmek için ARP isteği
yapılıyor.
Adım-2: -n parametresi
kullanılmadığı için hedef ip
adresinin DNS sorgulamasını
yapıyor.
Adım-3: TCP SYN bayraklı paket
gönderilip, cevap alınıyor ve
tarama tamamlanıyor.
211. Nmap ile Zafiyet Tarama
● NSE (Nmap Script Engine) scriptlerle nmap’e zayıflık tarama özelliği katan
bileşendir.
● Nmap scripts dizininde bulunan scriptler kullanılarak bir çok zafiyet tarama
işlemi yapılabilir.
● Aşağıdaki şekilde görüldüğü üzere şuan sistem üzerinde 533 adet script
bulunmaktadır. Nmap arada kendini güncelleyerek script sayısı artış
gösterebilmektedir.
● Nmap script database ini güncellemek için
212. Nmap ile Zafiyet Tarama
● Nmap default scriptler kullanarak zafiyet tarama yapmak isterseniz;
– -sC parametresi kullanılabilir.
213. Nmap ile Zafiyet Tarama
● Nmap scriptleri arasında bulunan bir script ile hedef üzerinde zafiyet tarama
yapmak isterseniz;
– --script <script_adı> parametresi kullanılabilir.
– Anonim FTP servisi açık olan sistemlerin bulunması
214. Nmap IDS/IPS Atlatma
● Nmap ile tarama yaparken hedef sistem önünde bulunan IDS/IPS sistemler
atlatılarak tarama yapılabilir.
– Proxy üzerinden
– Parçalanmış paketler kullanarak
– Sahte ip adresler kullanarak
tarama yapan sistemin keşfedilmesini zorlaştırma yöntemleri
216. Hping ile Port Tarama
● TCP SYN Paket incelemesi
– Hping hedef sisteme SYN bayraklı paket gönderir.
– Dönen cevap SA (SYN ACK) ise port açıktır demektir.
● --scan parametresi ile anlaşılır çıktı alınabilir.
217. Hping ile Port Tarama
● TCP SYN Paket incelemesi
– Hping hedef sisteme SYN bayraklı paket gönderir.
– Dönen cevap RA (RST ACK) ise port kapalı demektir.
218. Hping ile Port Tarama
● TCP FIN Paket incelemesi
– Hping hedef sisteme FIN bayraklı paket gönderir.
– Dönen cevap RA (RST ACK) ise port kapalı demektir.
– Herhangi bir cevap dönmezse port açıktır veya güvenlik duvarı ile korunuyor.
– Aşağıdaki şekilde görüldüğü üzere işletim sisteminin güvenlik duvarını
açınca, hedef cevap dönmüyor.
219. Hping ile Port Tarama
● TCP ACK Paket incelemesi
– Hping hedef sisteme ACK bayraklı paket gönderir.
– Dönen cevap RA (RST ACK) ise port kapalı demektir.
– Herhangi bir cevap dönmezse port açıktır veya güvenlik duvarı ile korunuyor.
– Aşağıdaki şekilde görüldüğü üzere işletim sisteminin güvenlik duvarını
açınca, hedef cevap dönmüyor.
220. Saldırı Tespit Sistemi ile Taramaları İzleme
● Saldırı Tespit Sistemi (IDS) düzgün yapılandırılmışsa, bu saldırı tipini tanıyacaktır.
● Hedef top port 100 portu taradığımızda
221. Saldırı Tespit Sistemi ile Taramaları İzleme
● Saldırı Tespit Sistemi (IDS) düzgün yapılandırılmışsa, bu saldırı tipini tanıyacaktır.
● Hedef sistemin SSH portuna TCP SYN taraması yaptığımızda
222. SynCookie / SynProxy
● Synflood DOS/DDOS saldırılar için alınan klasik önlemlerdendir.
● Spoof edilmiş SYN paketlerinden korunmak için
● Bu koruma sistemi DOS engelleme haricinde, TCP üzerinden yapılan port
taramalarını zorlaştırmaktadır.
● Saldırgan TCP port tarama yaptığında bütün portları açık olarak görecektir.
● Bu şekilde korunmuş sistemlere yönelik başarılı bir TCP port tarama
gerçekleştirmek için 3’lü el sıkışmayı tamamlayan ve sonrasında ek paketler
gönderen tarama türleri kullanılmalı
– Versiyon belirleme parametresinin kullanılması uygun olacaktır.
– Tarama süresi uzamış olsa bile açık portları sağlıklı bir şekilde keşfetmek için
versiyon belirleme taraması yapmak gerekir.
224. Nessus
● Otoamatik zafiyet tarama aracıdır.
● 1998 yılında Renaud Deraison tarafından açık kaynak kodlu, kolay kullanımlı ve
güncel bir zayıflık inceleme aracı olarak başlatılmıştır.
● Kişisel kullanımı ücretsizdir. Ticari amaçlı kullanacaksanız mutlaka lisans almanız
gerekir.
● Güvenlik dünyasında hatırı sayılır bir yeri bulunmaktadır.
● Açık kaynak kodlu zafiyet tarama aracı olarak OpenVAS kullanılabilir
● Nessus indirmek için
– https://www.tenable.com/products/nessus/select-your-operating-system
227. Nessus Kullanım
● https://ip_adres:8834 adresi ile ilk giriş yapıldığında kullanıcı adı ve parola
oluşturulup, aktivasyon işlemleri tamamlandıktan sonra artık nessus’a bağlantı
yapılabilir.
● Güncel olmayan pluginlerle yapılacak taramalar eksik sonuçlar vereceği için, her
zaman tarama yapmadan önce güncel olduğundan emin olunmalıdır.
229. Nessus Yeni Tarama Politikası Oluşturma
● Bir önceki ekranda görülen
tarama politikalarından
istenilen politika
seçildikten sonra
● Hedef sistem belirtilir.
● Sol sekmede bulunan ayarlar
istenildiği gibi ayarlanır.
230. Nessus Yeni Tarama Politikası Oluşturma
● Yerel sistem taraması
yapılmak isteniyorsa
hesap belirtilir.
231. Nessus Yeni Tarama Politikası Oluşturma
● Plugin seçimi yapılır.
● Plugin kavramı test edilecek güvenlik açıklıklardır.
● Dikkat edilmesi gereken nokta: Pluginler bağımlı olabilir.
232. Nessus Yeni Tarama Politikası Oluşturma
● Tüm ayarlar tamamlandıktan sonra Save ile politika kaydedilir.
● Aşağıdaki şekilde görüldüğü üzere tarama politikası oluşturuldu.
● Başlat simgesi tıklayınca zafiyet tarama işlemleri başlayacaktır.
235. Nessus Raporlama
● Bir güvenlik denetiminin en önemli aşamalarından biri raporlamadır.
● Yapılan çalışmanın sonuca ulaşması ortaya çıkan raporun anlaşılır, güvenilir ve
detaylı olması ile ilgilidir.
● Nessus zafiyet tarama sonucu rapor üretir ve dışarı aktarılabilir.
● False positive durumlar önemlidir.
236. Nessus Raporlama
● Nessus taramalarda her hangi bir sorun olduğunda veya taramanın yanlış/eksik
sonuçlar ürettiği dünülüyorsa logları incelenebilir.
● Zafiyet taramaya başlamadan önce Advanced ayarlardan tarama logları aktif
edilebilir.
237. Nikto
● Nikto bir web uygulama güvenlik tarayıcısıdır.
● Açık kaynak kodlu bir yazılımdır.
● Statik bir güvenlik tarayıcısıdır ve taradığı açıklıkları bir veritabanından okur.
● Komut satırından çalışır.
– Nikto -h ile parametreleri görüntüleyebilirsiniz.
● Günümüzde çok kullanılmayan bir araçtır.
238. Nikto
● Nikto kullanımı şekilde görüldüğü üzere / dizini altında test.txt adında bir dosya
olduğunu söylüyor ve işe yarar bilgiler olabilir.
239. Zafiyet Tarama Araçları Neden Yetersizdir?
● Otomatize araçlar kullanılarak sistemin zafiyetlerinin değerlendirilmesi ve
raporlanmasının yetersizliği gözönünde bulundurulmalıdır.
● Kullandığınız otomatize araç güncel değilse veya en son çıkan zafiyetlerle ilgili
gerekli eklemeler yapılmadıysa sonuç yetersiz kalacaktır.
● Bulduğu zafiyetlerde False positive durumlar oluşabilir. Çıkan sonuçların
yorumlanması gerekmektedir.
● Sistemlerdeki zafiyetlerin herbirini ayrı ayrı gösterir.
– Adım adım sızma gerçekleştiren saldırganın durumu belirlenemez.
● Profesyonel hacker’lar otomatize araçlar kullanmaz :)
241. Metasploit
● Güvenlik testleri gerçekleştirmek için geliştirilmiş, açık kaynak kodlu bir araçtır.
● Metasploit Pro olarak ticari sürümü bulunmaktadır.
● Linux ve Windows ortamlarına kurulabilir.
242. Metasploit
● Önemli Tanımlar:
● Exploit: Bir güvenlik
zafiyetinin istismar edilmesi
● Payload: exploit sonrası hedef
üzerinde istenilen işlemleri
gerçekleştirecek içerik.
● Encoder: istenilen payloadın
içeriğini değiştirerek
yakalanmasını zorlaştırmak
● Nop: Bellek yeri öğrenme
amaçlı bellek dolduran bitler
● Auxiliary: Yardımcı modüller
243. Exploit
●
En güncel ve güvenilir exploit araştırma sitesi
– Exploit-db.com
● Kali üzerinde /usr/share/exploitdb/ altında exploit-db.com exploitleri mevcuttur.
– root@kalia:~# searchsploit windows
– Searchsploit komutu ile arama yapılabilir.
● Bazı exploitler exploit-db de olmayabilir. Bu tür durumlarda diğer internet üzerinden arama
yapılabilir.
– İnternette bulduğunuz her exploit güvenilir mi?
● Ava giderken avlanma
● Exploit geliştirme ve exploit çalıştırma farklı işlemlerdir.
– Exploit geliştirme farklı bir uzmanlık gerektirmektedir.
● Bazen exploit denemelerinde hedef sistem çökebilir. Bundan dolayı önce test ortamında
denenmeli
246. Metasploit
● Metasploit esnek bir komut arabirimi vardır. Herhangi bir komutu girip ardından
tab tuşuna basılırsa komut sonrasında gelecek seçenekleri gösterir.
● Show exploits ile metasploit ile birlikte gelen exploitler görüntülenebilir.
● Herhangi bir exploit, auxiliary, payload hakkında detaylı bilgi almak için:
– msf > info auxiliary/scanner/smb/smb_ms17_010
248. Metasploit
● Her bir exploit için
bir çok payload
bulunabilir.
● Yandaki şekilde
görüldüğü üzere
payload geri
bağlantı yöntemi ile
oturum açmaya
yarıyor.
● Kullanılacak
payload’un işlevi
tam olarak
bilinmelidir.
249. Siber Saldırı
Hedef Belirleme
Uzaktan Komut
Çalıştırma
Parola Deneme
Saldırısı
Kullanıcı Taraflı
Saldırı
Hedef Zafiyet
İstismarı
Hedef Sisteme Sızıldı
Hak
Yükseltme
Diğer Sistem
lere Sızma
Sistemden
Veri Çalma
Sistemi
Şifreleme
Sisteme
Kalıcı Olma
Logları / İzleri Temizleme
251. Metasploit Kullanımı
● İlk olarak kullanmak istediğimiz modülü seçiyoruz.
● msf > use auxiliary/scanner/smb/smb_ms17_010
● Show options ile kullanılabilecek seçenekleri görüntülüyoruz.
● Bu seçeneklerden gerekli olanların set komutu ile girilmesini sağlıyoruz.
252. Metasploit Kullanımı
● Hedef ip adresini giriyoruz.
● Hedef port 445 olarak belirtilmiş
● Exploit veya run komutunu çalıştırdığımızda, aşağıda şekilde de görüldüğü
üzere zafiyetin hedef üzerinde var olduğunu görüyoruz.
258. Exploit Çalıştırmanın Zararları
● Çalıştırmak istediğiniz exploit ile hedef sistemde uyumsuzluk veya uygunsuzluk
olduğu zamanlarda, exploiti çalıştırdığınızda sistemin çökmesine sebep
olabilirsiniz.
● Bundan dolayı exploit denemelerini önce test sistemlerde yapılmalıdır.
● Canlı sistemler üzerinden eğer sistem kritik öneme sahipse exploit denemesi
yapılmamalıdır.
● Aşağıda şekilde görüldüğü üzere hedef sistem üzerinde yetkisiz bir kullanıcaya
sahibiz ve root olmak için hedef üzerinde exploit denemesi yapacağız.
259. Exploit Çalıştırmanın Zararları
● Local exploiti çalıştırdığımızda hedef ile olan bağlantığımın gittiğini görüyoruz.
● Root olmayı beklerken sistem crash oldu...
● Hedef sistemi bildiğimiz için, hedef sistem bakmaya yanına gidiyoruz. Sistemin
donduğunu ve hiçbir şekilde yanıt vermediğini görüyoruz.
260. Kaynak
● Huzeyfe Önal
– Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları – 1
● BGA Security
– https://www.slideshare.net/bgasecurity