Nmap aracı nedir? Ne için kullanılır? NSE nedir? TryHackMe Çözümleri
Nmap (Network Mapper), güvenlik testleri ve ağ envanteri oluşturmak için kullanılan ücretsiz ve açık kaynaklı bir ağ tarayıcıdır.
Nmap, ağdaki hedef sistemlerin IP adreslerini, açık portları ve çalışan hizmetleri keşfetmek için kullanılır. Bir ağda hangi hizmetlerin çalıştığını ve hangi portların açık olduğunu tespit etmek, ağ güvenliğini değerlendirmek ve olası güvenlik açıklarını tespit etmek için yaygın olarak kullanılmaktadır.
Nmap’in temel amacı, ağdaki bilgisayarları ve hizmetleri tarayarak ağ topolojisi ve güvenlik durumu hakkında bilgi toplamaktır.
Özellikleri:
- Ağ Tarama: Nmap, ağda bulunan cihazları ve IP adreslerini taramak için kullanılır. TCP, UDP ve diğer protokollerle çalışarak aktif cihazları tespit eder.
- Hedef Belirleme: Nmap, hedef olarak taramak istediğiniz cihazları ve alt ağları belirlemenize izin verir. IP adreslerini veya IP aralıklarını hedef olarak belirleyebilirsiniz.
- Açık Port Tespiti: Nmap, tarama yapılan cihazların açık portlarını belirler. Bu, cihazların hangi servislerin çalıştığını ve bu servislerin hangi portlarda olduğunu gösterir.
- Servis ve Sistem Sürümü Tespiti: Nmap, açık portlarındaki servis ve sistem sürümlerini belirleyebilir. Bu, potansiyel güvenlik açıklarını tespit etmek ve cihazlarınızın güvenliğini artırmak için önemli bir bilgidir.
- Ağ Topolojisi Haritası: Nmap, ağdaki cihazların ve ağ topolojisinin haritasını oluşturabilir. Bu, ağınızın fiziksel ve mantıksal yapısını anlamanıza yardımcı olur.
- Scripting Özelliği: Nmap, NSE (Nmap Scripting Engine) adı verilen bir özelliğe sahiptir. Bu, kullanıcıların Nmap ile çeşitli özel tarama senaryoları ve otomasyonlar oluşturmasına olanak tanır.
- OS Tespiti: Nmap, cihazlarda çalışan işletim sistemlerini tespit edebilir. Bu, ağınızdaki cihazların türünü ve güvenlik durumunu anlamak için önemlidir.
- Performans ve Hız: Nmap, hızlı ve etkili bir şekilde ağ taraması yapabilme yeteneğine sahiptir. Yüksek performanslı taramalar için optimize edilmiştir.
- Uzaktan Komut Gönderme: Nmap, bazı cihazlara uzaktan komut gönderme yeteneğine sahiptir. Örneğin, hedef sistemde belirli bir portun açılıp kapatılması gibi komutlar gönderebilir.
Belirli bir IP adresini taramak için:
Tüm ağı taramak için: nmap 192.168.1.0/24
İşletim sistemi ve daha detaylı bilgi almak için:
Güvenlik duvarı hakkında bilgi toplamak için:
Belirli portları taramak için:
Tespit edilen açık portların, hizmet türü ve servis bilgisini gösterme:
Yine işletim sistemi hakkında:
NOT:
Tüm portları taramak için: nmap -p “*” 192.168.1.1
TCP portlarını taramak için: nmap -sT 192.168.1.1
UDP portlarını taramak için: nmap -sU 192.168.1.1
NSE (Nmap Scripting Engine), Nmap aracının parçası olarak gelen ve Nmap tarama süreçlerini özelleştirmek ve genişletmek için kullanılan bir komut dizisi koleksiyonudur. NSE, ağ tarama sonuçlarına dayalı olarak otomatik olarak çalıştırılan betikler ve komut dosyaları içerir. Bu betikler, hedef sistemler hakkında daha fazla bilgi toplamak, güvenlik açıklarını tespit etmek, hizmetlerin açıklarını kontrol etmek veya diğer tarama işlemlerini gerçekleştirmek için kullanılabilir.
NSE’nin temel amacı, Nmap kullanıcılarının spesifik ihtiyaçlarına yönelik esnek ve genişletilebilir bir çerçeve sağlamaktır. Bu sayede kullanıcılar, Nmap’in yeteneklerini özelleştirerek ve tarama sonuçları üzerinde daha fazla analiz yaparak ağ güvenliği ve performansını geliştirebilir.
Örnek olarak default olan bu betik, hızlı bir tarama yapar:
Hedef sistemdeki zafiyetli yazılımları tespit etmek için “vuln” kategorisindeki scriptleri kullanabiliriz, malware scriptleri ile de tarama yapabiliriz:
Not: Hedef sistemlerde şifre brute force saldırılarını gerçekleştirmek için: nmap — script=brute <hedef_IP_adresi>
Belirli bir domaini taramak için ise “whois-domain.nse” script’i kullanabiliriz:
TryHackMe Çözümleri:
Link: https://tryhackme.com/room/furthernmap
NOT:
When port scanning with Nmap, there are three basic scan types. These are:
- TCP Connect Scans (-sT)
- SYN “Half-open” Scans (-sS)
- UDP Scans (-sU)
Additionally there are several less common port scan types, some of which we will also cover (albeit in less detail). These are:
- TCP Null Scans (-sN)
- TCP FIN Scans (-sF)
- TCP Xmas Scans (-sX)
Most of these (with the exception of UDP scans) are used for very similar purposes, however, the way that they work differs between each scan. This means that, whilst one of the first three scans are likely to be your go-to in most situations, it’s worth bearing in mind that other scan types exist.
Kaynak <https://tryhackme.com/room/furthernmap>
Not:
RFC 793 standardı nedir?
TCP [RFC 793] İnternet üzerinde iki host arasında güvenilir ve sıralı veri iletimini sağlayan en yaygın protokoldür .
Internet Control Message Protocol (ICMP) nedir?
ICMP, hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. ICMP RFC 792'de tanımlanmış ve RFC 950'de revize edilmiştir. Hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür.
“open|filtered” (açık|filtrelenmiş), Nmap taramalarında bir portun durumunu belirtmek için kullanılan bir terimdir. Nmap, TCP SYN veya TCP Connect taraması sırasında, hedef sistemdeki bir portun durumunu tespit etmeye çalışırken, bazı durumlarda kesin bir sonuç elde edemez. Bu nedenle, Nmap, “open|filtered” olarak adlandırılan bir durumla karşılaşabilir.
“open|filtered” durumu, portun ya açık (open) olduğu ya da filtrelenmiş (filtered) olduğu anlamına gelir. Yani, hedef sistemdeki bu portun gerçekten açık olup olmadığını belirlemek için yeterli bilgiye sahip değildir. Bu durum, çeşitli güvenlik duvarları, IDS (Intrusion Detection System) veya diğer ağ cihazları tarafından taramanın engellenmesi veya filtrelenmesi sonucunda ortaya çıkabilir.
Nmap, “open|filtered” sonucunu belirlemek için, hedef sistemden herhangi bir yanıt almadan bir TCP SYN veya TCP Connect paketi gönderir ve bekler. Eğer port açıksa, hedef sistem SYN-ACK yanıtı döndürür ve portun “açık” olduğu kesinleşir. Ancak, hedef sistem RST (reset) yanıtı döndürürse, portun “kapalı” olduğu kesinleşir. Ancak herhangi bir yanıt alınmazsa, portun durumu belirsiz kalır ve Nmap “open|filtered” sonucunu raporlar.
“open|filtered” durumu, portun filtrelenmiş olabileceğini ve belki de hedef sistemde açık bir servis olduğunu düşündürebilir. Bu nedenle, bu tür sonuçlara dayanarak kesin bir sonuç çıkarmak güvenilir değildir ve daha fazla inceleme gerektirebilir.
NULL, FIN ve Xmas, Nmap’in TCP tarama seçenekleridir ve TCP bağlantıları oluşturmadan belirli portları taramak için kullanılırlar. Bu tarama seçenekleri, belirli durumları kontrol etmek veya portlarda gizli servisleri tespit etmek için kullanılan farklı tarama yöntemleridir.
NULL Scan:
Bu tarama seçeneği, Nmap’in TCP bayraklarını kullanmadan (NULL) hedef sistemdeki portları taramasına izin verir. NULL taramasında, TCP bağlantısında kullanılan hiçbir bayrak kullanılmaz ve hedef sistemden herhangi bir yanıt gelip gelmediği kontrol edilir. Eğer bir port açıksa ve filtrelenmiyorsa (firewall tarafından engellenmiyorsa), hedef sistem hiçbir yanıt vermeyecektir. Bu durumda, Nmap “open” olarak işaretler. Ancak, port filtreleniyorsa (firewall tarafından engelleniyorsa), hedef sistem RST (reset) yanıtı gönderecektir ve Nmap “filtered” olarak işaretler.
FIN Scan:
FIN taraması, TCP bağlantısını tamamlamadan FIN bayrağı ile bağlantıları kapatmak için kullanılır. Bağlantının tamamlanmaması, bazı sistemlerde (esasen açık portlar hariç) bağlantı kapatma işleminin olduğunu gösterir. Eğer hedef sistem bir RST paketi gönderirse, port “kapalı” olarak işaretlenir ve eğer bir yanıt almazsa “açık” olarak işaretlenir.
Xmas Scan:
Xmas taraması, PSH, URG ve FIN bayraklarını kullanarak TCP bağlantılarını oluşturmadan hedef sistemdeki portları taramak için kullanılır. Bu bayraklar, portun durumu hakkında bilgi sağlamaz ve bazı sistemlerde anormal durumları tetikleyebilir. Eğer hedef sistem bir RST paketi gönderirse, port “kapalı” olarak işaretlenir ve eğer bir yanıt almazsa “açık” olarak işaretlenir.
Bu tarama seçenekleri, bazı güvenlik duvarları ve filtreleme cihazları tarafından tespit edilmekten kaçınma ve gizli servisleri tespit etme amacıyla kullanılabilir. Ancak, modern ağlarda ve güvenlik cihazlarında bu tarama seçenekleri engellenebilir veya izlenebilir olabilir.
Nmap Scripting Engine (NSE), Nmap’in güçlü ve esnek özelliklerinden biridir. NSE, Nmap tarama işlemi sırasında otomatik olarak çalıştırılabilen ve hedef sistemler hakkında daha fazla bilgi toplayan, servis tespiti, zafiyet taraması ve diğer özel görevleri yerine getiren önceden yazılmış komut dosyalarını (script’leri) çalıştırmak için kullanılır.
NSE, Nmap’in sadece açık portları tespit etmekle sınırlı kalmayıp, ağa ilişkin daha kapsamlı bilgiler edinmesini sağlayan birçok faydalı script ve komut dosyasını içerir. Bu script’ler, güvenlik testleri, ağ izleme, keşif ve hedef sistemlerin daha iyi anlaşılması gibi birçok amaç için kullanılabilir.
NSE’nin ana özellikleri şunlardır:
- Servis Tespiti: NSE, hedef sistemde çalışan servislerin tespiti için özel script’ler kullanır. Bu sayede, açık portların sadece hangi servisler tarafından işgal edildiğini değil, aynı zamanda bu servislerin sürümlerini de belirleyebilir.
- Zafiyet Taraması: NSE, hedef sistemlerdeki potansiyel güvenlik açıklarını tespit etmek için çeşitli script’ler içerir. Bu script’ler, hedef sistemlerdeki zayıflıklara karşı tarama yaparak güvenlik açıklarını belirleyebilir.
- İleri Keşif: NSE, hedef sistemler hakkında daha fazla bilgi edinmek için script’leri çalıştırarak, işletim sistemi tespiti, ağ cihazlarının keşfi ve yapılandırma bilgilerinin toplanması gibi işlemleri gerçekleştirebilir.
- Ağ İzleme ve Keşif: NSE, ağdaki cihazları ve bağlantıları izlemek ve ağ topolojisini belirlemek için kullanılabilir.
- NSE, Nmap komut satırında -sC veya — script=default seçeneği kullanılarak varsayılan script’lerin çalıştırılmasını sağlar. Ayrıca, belirli bir script’i çalıştırmak için -script veya — script=<script_adı> seçeneği kullanılabilir.
- NSE, Nmap’in esnekliğini artırarak, ağ keşfi ve güvenlik analizlerinde daha kapsamlı ve derinlemesine bir yaklaşım sunar. Ancak, script’lerin kullanılmasında dikkatli olunmalıdır, çünkü bazı script’ler ağa zarar verebilir veya ağda bir iz bırakabilir. Etik kurallara uygun ve yasal izinlerle kullanılmalıdır.
smb-os-discovery.nse ve smb-brute Nmap Scripting Engine (NSE) tarafından sağlanan iki farklı SMB (Server Message Block) protokolüne yönelik script’tir. SMB, Windows tabanlı sistemler arasında dosya ve yazıcı paylaşımı, dosya erişimi ve diğer ağ işlevleri için kullanılan bir iletişim protokolüdür. İşte bu iki script’in ne işe yaradığı:
smb-os-discovery.nse:
Bu script, SMB protokolünü kullanan hedef sistemlerin işletim sistemlerini belirlemek için kullanılır. SMB protokolü, Windows ve diğer işletim sistemleri tarafından kullanıldığından, hedef sistemlerin işletim sistemini tespit etmek güvenlik analizlerinde ve ağ keşif süreçlerinde önemlidir. smb-os-discovery.nse script’i, hedef sistemlerle SMB protokolünü kullanarak etkileşim kurar ve elde ettiği bilgilere dayanarak hedef sistemlerin işletim sistemlerini tahmin etmeye çalışır.
smb-brute:
Bu script, SMB protokolü üzerinden erişilebilir paylaşımların güvenlik açıklarını kontrol etmek için kullanılır. smb-brute script’i, kullanıcı adı ve şifre kombinasyonları kullanarak hedef sistemlere bir şifre kırma saldırısı (brute force) yapar. Hedef sistemdeki paylaşımlara erişmek için standart veya varsayılan kullanıcı adı ve şifreleri dener. Bu şekilde, hedef sistemde zayıf şifrelerin veya varsayılan kullanıcı hesaplarının olup olmadığı belirlenebilir. smb-brute script’i, potansiyel olarak zayıf şifrelerin bulunmasına ve güvenlik zafiyetlerinin tespitine yardımcı olabilir.