Download - Nmap ve Nessus

Transcript
Page 1: Nmap ve Nessus

Siber Güvenlik UzmanıAhmet Durmuş

Öğrenim Bilkent Üniversitesi - Lisans - Bilgisayar Teknolojisi ve Bilişim Sistemleri

Çankaya Üniversitesi - Y.Lisans - Bilgisayar Mühendisliği Tez konusu: ‘Türkiye’de Ağ ve Bilgi Güvenliği Farkındalığı’

Endüstri sertifikalarıMCTSHCDA

CCNP-Security CEH + ECSA = LPT

TecrübeAnkara: Sentim + TBMM

Washington DC: T2-Computing @ Al-Jazeera TV

Page 2: Nmap ve Nessus

2. FAZAktif keşif - nmap ile TCP/UDP taramaları - Nessus ile Zafiyet tarama

Page 3: Nmap ve Nessus

Ağ tarama basamakları1. Ağdaki makinelerin keşfi 2. Ağ topolojisi belirleme3. Açık portları bulma4. İşletim Sistemi tespiti5. Versiyon tarama6. Zafiyet tarama

Page 4: Nmap ve Nessus

Aktif ve pasif keşif• Pasif keşif• Ağ Dinleme

• Tcpdump, wireshark, arp tablosu

• Aktif keşif• Aktif paket gönderme

• Nmap, Hping, Scapy, Ping, tracert vb.• Zafiyet araçları (Nessus, OpenVAS, Nexpose vb)

Page 5: Nmap ve Nessus

TracerouteAğ haritası çıkarmamıza yardım eder. ICMP protokolünün başlık (header) kısmındaki TTL (Time-to-Live) alanını kullanarak yapılır

Page 6: Nmap ve Nessus

TCP 3’lü el sıkışma mekanizması ve bayraklar (flags)• Nakil Katmanında çalışır• Sıra numarası ile akış kontrolü sağlanır (Sequence

Number)• Onay numarası ile paketin alınma onayı verilir.

(Acknowledge)• SYN > SYN+ACK > ACK • Bağlantının kapatılması: RST ya da FIN+ACK

Page 7: Nmap ve Nessus

Tcp 3-way handshake

Page 8: Nmap ve Nessus

TCP Bayrakları• SYN - 0x02• ACK - 0x16• RST - 0x04• FIN - 0x01• PSH - 0x08• URG - 0x32• CWR - Congestion Window Reduced • ECE – Explicit Congestion Notification

Page 9: Nmap ve Nessus

Nmap aracı (1997)• Açık kaynak kodlu, iyi dökümantasyon, platform-

bağımsız• Ağdaki makinaların keşfi, ne kadardır çalışır olduğu, ağ

envanteri • Servisler > uygulama isimleri ve versiyonları• İşletim sistemleri• Grafiksel kullanım: Zenmap• 19 filmde/dizide meşhur • Nmap 7

Page 10: Nmap ve Nessus

Neden istemci ve sunucu keşfi yaparız?

Page 11: Nmap ve Nessus

Sebepler• İlk önce açık olan bilgisayarları bulmamız gerek ki

portları tarayabilelim• Eğer keşif aşamasını atlarsak nmap 65,536 portu da

tarar

Page 12: Nmap ve Nessus

İstemci Keşfi1. NetbiosScan (nbtscan)2. Liste taraması (sL)3. Varsayılan tarama (ARP + rDNS +1500 port)4. Port taramayı kapat (sn)5. ICMP Ping tipleri (PE, PP, PM)6. TCP Ping tipleri (PS, PA)

Page 13: Nmap ve Nessus

Ağdaki bilgisayar isimlerinin bulunması• NetBIOS Name (NBNS) paketleri kullanılır

• Nbtscan -r <ağ adresi><alt ağ maskesi>

Page 14: Nmap ve Nessus

PEKİ NEDEN DİĞER PING TİPLERİNİ KULLANALIM?

Page 15: Nmap ve Nessus

Sebepler• Zafiyet ve port taraması yapacağımız host sayısını

arttırabilmek• Pentest anlaşmasındaki taranacak IP adedini

tutturabilmek• Güvenlik duvarının engellediği ping tiplerini aşabilmek

Page 16: Nmap ve Nessus

Liste taraması (-sL)• Nmap -sL -v A.B.C.D • rDns çözümlemesi • Port ya da ping tarama değildir

• Doğru ağı tarayıp taramadığın belli olur - tutarlılık kontrolü

• Hedefe paket göndermez

• rDNS paketi (varsayılan) • -n ile kapatılması gerekir

Page 17: Nmap ve Nessus

Birkaç deneme• nmap <abcd>• nmap <abcd> --exclude-ports 9100• nmap <abcd> --reason• nmap <abcd> --reason --open• nmap -F <abcd> --reason --open• nmap -F <abcd> --reason --open --packet-trace• nmap -sn -n <abcd> SADECE ARP ile

HOST KEŞFİ

Page 18: Nmap ve Nessus

ICMPEcho/Ping tarama/Host Discovery (-sn / -sP)• nmap –sn -n --disable-arp-ping A.B.C.D/24

• ICMP echo request• SYN > TCP 443 • ACK > TCP 80• ICMP Timestamp request

• Sadece «up» (ulaşılabilir) cihazların IP’leri (List Taramanın tersine)

• Yerel ağda: ARP broadcast paketleri• Wireshark çıktısı

• Farklı ağda: ICMP paketleri

• Traceroute ve NSE betikleri de çalıştırılabilir

Page 19: Nmap ve Nessus

PE, PP ve PM parametreleri (ICMP ping tipleri)• PE : ICMP Echo request (type 8)• PP : ICMP Timestamp (type 13)• PM : Address Mask (type 17)

• Genelde ICMP ping tipleri engellenir

• Ya unutulursa?

• Nmap -n -sn --disable-arp-ping -PE -PP -PM <a.b.c.d>

Page 20: Nmap ve Nessus

Birkaç deneme• nmap -sn -n --disable-arp-ping <abcd> • nmap -sn -n --disable-arp-ping -PE -PP <abcd>• nmap -sn -n --disable-arp-ping -PE -PP -PM <abcd>

Page 21: Nmap ve Nessus

PS, PA, PU, PY ve PO parametreleri(TCP/UDP Ping taramaları ve diğer)• PS : TCP SYN ping

• Varsayılan hedef port 80 SYN gönderir• Stateful güvenlik duvarları için

• PA : TCP ACK ping• Varsayılan hedef port 80 ACK gönderir• Yetkisizse hedef port 80 SYN gönderir• Stateless güvenlik duvarları için

• PU : UDP ping• Varsayılan 40125 + kullanılma olasılığı düşük portlar 20 bin küsür kullanabiliriz• ICMP Unreachable cevabı port kapalı yani makina açık• TCP filtreli fakat UDP filtresiz cihazlar için kullanabiliriz

• PY: SCTP INIT ping• Varsayılan 80 portuna gönderir• Port kapalı ise ABORT chunk gönderilir• Port açık ise INIT-ACK chunk gönderilir

• PO: IP Protokol ping• Varsayılan ICMP (protokol 1), IGMP (protokol 2) ve IP-in-IP (protokol 4)• TCP (protokol 6) , UDP (protokol 17) ve SCTP (protokol 132)• ICMP unreachable ya da protokolün cevabı istemcinin açık olduğunu gösterir

Page 22: Nmap ve Nessus

Birkaç deneme• nmap -sn -n --disable-arp-ping -

PS25,80,135,137,139,443,445 -PA21-23,69,3389,110,123 <ABCD> --source-port 53

• nmap -sn -n --disable-arp-ping -PU9,53,67,68,113,161,162,514,750,944 <abcd>

• Nmap -sn -n --disable-arp-ping -PY -PO6 <abcd>

Page 23: Nmap ve Nessus

KOMBO : Temel ve güçlü istemci keşfi• nmap -sn -n --disable-arp-ping -T4 -PE -PP -PM -PS25,80,135,137,139,443,445 -PA21-23,69,3389,110,123 -PU53,67,68,161,162 -source-port 53 -iL iplist.txt

Page 24: Nmap ve Nessus

Port tarama tipleri1. TCP SYN (-sS)2. TCP Connect (-sT)3. TCP ACK (-sA)4. UDP (-sU)5. SCTP INIT (-sY) 6. SCTP COOKIE ECHO (-sZ)7. TCP Null, FIN, Xmas (-sN; -sF; -sX)8. TCP Window (-sW)9. TCP Maimon (-sM)10.Idle (-sI)11.IP Protokol (-sO)

Page 25: Nmap ve Nessus

Nmap port durum etiketleri• Open • Closed• Filtered • Unfiltered • Open | filtered• Closed | filtered

Page 26: Nmap ve Nessus

TCP Tarama/Tcp Connect/FullOpen (-sT)• SYN+ACK paketine ACK paketiyle cevap verilir. 3’lü el

sıkışma tamamlanır

• Sesli, yavaş ve yakalanma oranı yüksek

• Root hakları olmayan (SYN gönderemediğimiz) kullanıcılar kullanabilir

• nmap -sT -n -Pn --disable-arp-ping <A.B.C.D>

Page 27: Nmap ve Nessus

TCP SYN Tarama/Half-open/Stealthy (-sS)

• SYN paketine karşılık SYN ya da SYN+ACK paketi geri dönüyorsa port açıktır (listen) ve hemen RST ile bağlantı sonlandırılır.

• Sessiz ve yakalanma oranı düşük• Dışarıya açık servislere bağlantı isteği gönderildiğinden

• Portun durumunu kolay tespit etme• RST+ACK gelirse: port kapalı • Hiç cevap gelmezse ya da ICMP Port Unreachable tip 3 code 0.1.2.3.9.10.13

dönerse: port filtered ve paket düşürülür

• nmap -sS -n -Pn --disable-arp-ping <A.B.C.D>

Page 28: Nmap ve Nessus

Udp Tarama (-sU)• ICMP Port Unreachable (type 3 code 3) port kapalı / gd

engellememiş• ICMP Type 3 Code 1,2,9,10,13 filtered• Hiçbir cevap yoksa open | filtered

• Yeniden transferler ve nmap timeout• Hemen ardından versiyon tarama ile kesinleştirebilirsiniz

• Spesifik bir UDP verisi geldiyse open

• Dezavantajları• Yavaş olması, paket düşürmeler, ICMP paket limitlemeleri

• UDP hızlandırma• Daha çok istemci paralel olarak taranmalı • En bilinen portlar önce taranmalı• --host-timeout opsiyonu

• UDP atlanmamalı! • DNS, SNMP, DHCP (53, 161/162, 67/68)

Page 29: Nmap ve Nessus

TCP ACK (-sA)• Portun açık ya da kapalı olmasını değerlendirmez • Güvenlik duvarı kurallarını belirlemeye çalışır• Stateful ya da stateless• GD engellememişse port open veya closed RST paketi gelir• GD engellemişse cevap yok/ICMP tip 3 code 0,1,2,3,9,10,13

Page 30: Nmap ve Nessus

TCP Window (-sW)• ACK e benzer fakat open veya closed portları

birbirinden ayırmada sistemlerin implementasyonundaki bir özeliğe bakan metodu vardır.• Dönen RST paketinin Window alanının içine bakar

• Pozitif bir değerse port open • Sıfırsa port closed

• Yanıltabilir• Bunu desteklemeyen sistemler bütün portları kapalı

gösterebilir (ya da bütün portları kapalı da olabilir)• 1000 adet kapalı 2-3 adet filtrelenmiş > duyarlı

Page 31: Nmap ve Nessus

TCP Null, FIN ve Xmass• Null tarama (-sN)

• TCP flag header 0• FIN tarama (-sF)

• TCP FIN bit set • Xmass tarama (-sX)

• FIN, PSH, URG bit set• SYN taramadan bile sessiz• RST dönerse kapalı• Cevap yoksa open | filtered• ICMP Unreachable tip 3 0,1,2,3,9,10 ve 13 filtered

Page 32: Nmap ve Nessus

TCP Maimon Tarama (-sM)• Uriel Maimon

• Null, FIN, Xmass tarama ile benzer

• BSD tabanlı sistemlerde FIN+ACK paket bit setiyle gönderildiğinde port açıksa herhangi bir cevabın dönmediği paketin düşürüldüğü tespit edilmiş

Page 33: Nmap ve Nessus

İşletim Sistemi taraması (-O)• Servisler hangi işletim sistemi üzerinde çalışıyor?• Farklı işletim sistemi ve yama farklı zafiyet• OS belirlemede nmap• Initial Sequence Number, • Initial Windows Size, • IP ID Sampling, • TCP options support, ordering

Page 34: Nmap ve Nessus

Versiyon tarama (-sV)• Uygun exploit kodunu bulmak için • Port numaraları farklı yapılandırılmış olabilir• Open | filtered portları filtrelenmişlerden ayırmada

kullanılabilir

Page 35: Nmap ve Nessus

Betik (Script) Tarama (-sC)• Nmap Script Engine Lua dili ile yazılmıştır

• -script=scriptadı.nse

• Locate *.nse | more

• Script kategorileri: auth, broadcast, default. discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, and vuln• Not, and, or operatörleri

• Nmap --script=smb-check-vulns.nse -p 445 -script-args=unsafe=1 192.168.44.13x

Page 36: Nmap ve Nessus

Çeşitli opsiyonlar• -A (aggresive option)• -O, -sC, -sV, --traceroute oluşur• -Sc default kategoride script tarama opsiyonu intrusive içerir

izin alınmalı• -O ve için traceroute için root hakları olmalı

• -6 (IPv6 desteği)• Kaynak ve hedefte IPv6 yapılandırılmış olmalı• Kullanım IPv4 ile aynı gramerde• Ping, port, script tarama, versiyon tespiti

Page 37: Nmap ve Nessus

Timing opsiyonu (-T)• T0 > PARANOID• T1 > SNEAKY• T2 > POLITE• T3 > NORMAL• T4 > AGGRESIVE• T5 > INSANE

Page 38: Nmap ve Nessus

3. FAZZaafiyet Tarama - Tüm opsiyonları ile Nessus aracı

Page 39: Nmap ve Nessus

Beni dinlediğiniz için teşekkür ederim!


Top Related