Siber Güvenlik

PENTEST NMAP İLE BAŞLAR...

Nmap, sızma testlerinde ve zaafiyet bulmak için yapılan taramalarda yaygın olarak kullanılan bir yazılımdır.

Eray Çakın |

11.01.2023

NE İŞ YAPAR BU NMAP?

 

Nmap, sızma testlerinde ve zaafiyet bulmak için yapılan taramalarda yaygın olarak kullanılan bir yazılımdır. Yerel ağın, uzaktaki bir bilgisayarın veya bir web sitesininin ağ bilgilerini denetlemek ve keşfetmek için kullanılabilir. Bu aracın en iyi özelliklerinden bazıları açık kaynaklı, ücretsiz, çok platformlu olması ve her yıl sürekli yeni güncellemeler almasıdır. 

 

Şu anda mevcut olan diğer tüm tarama uygulamalarına kıyasla en az hataya sahip ağ tarayıcılarından biridir. Tarama ve haritalama yaparken size geniş komut olanakları sağlar ve bu yazılımı en başından anlayabilmek için internette sayısız döküman bulunmaktadır.

 

Nmap şunları yapmak için kullanılabilir:

 

  • Tam bir bilgisayar ağ haritası oluşturur.
  • Ana bilgisayarların uzak IP adreslerini bulur.
  • Taradığınız ağdaki bilgisayarların işletim sistemlerini ve yazılım ayrıntılarını görüntüler.
  • Yerel veya uzaktaki ağlarda açık portları algılayabilir.
  • Kendi bilgisayarınızı veya ağınızı taratarak güvenlik açıklarınızı görmenizi ve onları fark edip düzeltmenize olanak sağlar.

 

En İyi 15 Nmap Komutu Örneği

 

Genel kullanımı;

 

nmap < ip adresi veya site adresi >

 

1. IP veya ana bilgisayara karşı temel nmap taraması

 

Basit ve genel tarama örneği.

 

nmap 1.1.1.1

 

2. Yerel veya uzak sunucuda belirli portları veya tüm port aralıklarını tarayın

 

Nmap, tüm olası bağlantı noktalarını tarayabilir, ancak daha hızlı sonuçlar elde etmek için belirli bağlantı noktalarını da tarayabilirsiniz.

 

nmap -p 80,443 localhost

 

Yukarıdaki örnekte kendi bilgisayarımızın 80 (http) ve 443 (https) portlarını taradık.

 

3. Birden çok IP adresi tarama

 

Birden fazla IP adresini taramak için aşağıdaki komutu kendinize göre değiştirip deneyebilirsiniz.

 

nmap 1.1.1.1 8.8.8.8

 

Ayrıca ardışık IP adreslerini de tarayabilirsiniz.

 

nmap 1.1.1.1,2,3,4

 

Bu komut 1.1.1.1, 1.1.1.2, 1.1.1.3 ve 1.1.1.4 IP adreslerini tarayacaktır.

 

4. IP aralıklarını tarama

 

Nmap'ı tüm CIDR (Sınırsız Alanlar Arası Yönlendirme) IP aralıklarını taramak için de kullanabilirsiniz. Örneğin,

 

nmap 8.8.8.0/28

 

Bu komut 8.8.8.1 ile 8.8.8.14 arasındaki 14 ardışık IP adresini tarar .

 

C sınıfı IP aralığının tamamını taramak için özel karakterler kullanabilirsiniz;

 

nmap 8.8.8.*

 

Bu komut 8.8.8.1 ile  8.8.8.256 aralığında bulunan 256 IP adresini tarar.

 

Bazı IP'leri IP aralığı taramasının dışında tutmanız gerekirse, aşağıda gördüğünüz gibi “--exclude” seçeneğini kullanabilirsiniz.

 

nmap 8.8.8.* --exclude 8.8.8.1

 

Bu komut 8.8.8.1 harici C sınıfı için 256 ya kadr olan tüm IP leri tarayacaktır.

 

5. En popüler bağlantı noktalarını tarama

 

“–top-ports” parametresini belirli bir sayı ile birlikte kullanmak, girilen sayı kadar en popüler portları taramayı sağlar.

 

nmap --top-ports 20 localhost

 

“20” değerini istediğiniz sayı ile değiştirebilirsiniz.

 

Çıktı örneği aşağıdaki gibidir.

 

Pentest NMAP ile Başlar

 

6. Metin Dosyası (.txt) içerisinden IP tarama

 

Bazen bir metin belgesinde kayıtlı IP'leri taratmanız gerekebilir. Böyle bir durumda Nmap'in -iL parametresini kullanarak dosya içerisindeki IP adreslerini okuyup tarama yapabilirsiniz.

 

Diyelim ki içinde aşağıdaki satırları içeren bir list.txt dosyası oluşturdunuz;

 

list.txt

google.com
cloudflare.com
microsoft.com

 

“-iL” parametresi dosyadan veriyi okumanızı ve tüm bu IP adreslerinin sizin için taranmasını sağlar.

 

nmap -iL list.txt

 

7. Nmap tarama sonuçlarınızı bir dosyaya kaydetme

 

Aşağıdaki örnekte sonuçlarımızı bir metin dosyasına aktaracağız/saklayacağız: nmap google.com -oN output.txt Nmap, dosyaları XML biçiminde dışa aktarabilir, aşağıdaki komutta olduğu gibi.

 

nmap google.com -oX output.xml

 

8. Dns isim çözümlemesini devre dışı bırakma

 

Taramalarınızı biraz hızlandırmanız gerekirse sadece “-n” parametresini ekleyin. Bu işlem DNS çözümlemesini devre dışı bırakacaktır.

 

Pentest NMAP ile Başlar

 

Normal komutla diğeri arasındaki farkı görebilirsiniz.

 

Pentest NMAP ile Başlar

 

9. Scan + OS ve hızlı işlem ile Servis Tespiti yapma

 

“-A” parametresini kullanmak, işletim sistemi, servis algılaması yapmanızı sağlar. Aynı zamanda daha hızlı tarama için bunu “-T5” ile birleştiriyoruz.

 

nmap -A -T5 google.com

 

10. Hizmet ve arka plan sürümlerini bulma

 

Bu -sV parametreleri kullanılarak yapılabilir.

 

nmap -sV localhost

 

Pentest NMAP ile Başlar

 

11. TCP veya UDP protokollerini kullanarak tarama

 

Nmap ile ilgili en sevdiğimiz şeylerden biri, hem TCP hem de UDP protokolleri için işe yaraması. Hizmetlerin çoğu TCP'de çalıştırılırken, UDP tabanlı hizmetleri tarayarak da büyük bir avantaj elde edebilirsiniz. Bazı örnekler görelim.

 

Standart TCP tarama çıkışı:

 

Pentest NMAP ile Başlar

 

“-SU” parametresini kullanarak UDP tarama sonuçları:

 

Pentest NMAP ile Başlar

 

12. Nmap kullanarak CVE algılama

 

CVE (Common Vulnerabilities and Exposures) : Tespit edilen güvenlik zaafiyetlerinin belli identifier'lara (id değerleri) göre tutulduğu bir liste ya da veri tabanı. İlgi duyanlar için http://cve.mitre.org adresinden ulaşabilirsiniz. İdentifier temin edilebilir ya da bir açık için bilgi alınacaksa elinizdeki identifier'a göre arama yapılabilir.

 

Nmap'ın tüm ağ ve sistem yöneticilerinin bilmediği en büyük özelliklerinden biri “Nmap Scripting Engine” (Nmap Script Motoru olarak bilinir )'dir. NSE , var olan Nmap yeteneklerini geliştirmek ve Nmap dahilindeki formatlarla çıktı alabilmek için kullanılan bir yapıdır.

 

NSE'yi kullanmak, sistem ve güvenlik açığı taramalarını otomatikleştirmek için çok önemlidir. Örneğin, hedefinize karşı tam bir güvenlik açığı testi yapmak istiyorsanız, aşağıdaki parametreleri kullanabilirsiniz:

 

nmap -Pn --script vuln <ip adresi>

 

Çıktı örneği:

 

Pentest NMAP ile Başlar

 

Gördüğünüz gibi bu taramada bir Slowloris DOS zafiyeti tespit ettik.

 

13. DOS'u Nmap ile Başlatma

 

Nmap'in özellikleri hiç bitmiyor gibi görünüyor ve NSE sayesinde ağ testlerimizde DOS saldırıları başlatmamıza bile izin veriyor.

 

Önceki örneğimizde (# 12), sunucunun Slowloris saldırısına karşı savunmasız olduğunu gördük ve şimdi sonsuza dek bir döngüde DOS saldırısı başlatarak bu güvenlik açığından yararlanmaya çalışacağız:

 

nmap google.com -max-parallelism 800 -Pn --script http-slowloris --script-args http-slowloris.runforever=true

 

Bu, önceki sorudaki açığın devamı niteliğindedir.

 

14. BruteForce (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şı aşağıdaki üç Brute Force Attack örneğine bakalım.

 

Not : Bunu anlayabilmeniz için Brute Force'u bilmeniz ya da en azından fikir sahibi olmanız gerekmektedir.

 

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' google.com

 

Yukarıdaki komutu kısaca özetlemek gerekirse,

 

  • Brute Force Attack için http-wordpress-brute scripti kullanılmıştır.
  • 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, burada kullanıcı adı ve şifre için wordlist’ler (olası kelime öbekleri dosyası) tanımlanmış ve URL tipi belirtilmiştir.
  • http-wordpress-brute.threads=3,brute.firstonly=true' google.com brute force atağının iş gücü belirtilip hedef IP yazılır. MS-SQL ve FTP 'deki mantık hemen hemen aynıdır. MS-SQL'e karşı kaba kuvvet saldırısı:

 

nmap -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt, passdb=custompass.txt google.com

 

FTP kaba kuvvet saldırısı:

 

nmap --script ftp-brute -p 21 google.com

 

15. Sunucuda Sistemi Uzaktan Kontrol Edebilen Malware (zararlı yazılım) Taraması Yapma

 

Nmap, sistemler üzerinde kapsamlı testler yaparak kötü amaçlı yazılımları ve arka kapıları algılayabilir. Nmap ile sunuculardaki kötü amaçlı yazılımları tespit etmek mümkündür. Ayrıca Nmap, Google Güvenli Tarama ve VirusTotal veri tabanlarını kullanabilmesini sağlayan entegre bir modüle sahiptir.

 

Yaygın olarak kullanılan bir kötü amaçlı yazılım taraması için aşağıdaki komut kullanılabilir.

 

nmap -sV --script=http-malware-host google.com

 

Veya Google’ın Kötü Amaçlı Yazılım scriptini kullanarak:

 

nmap --script http-google-malware google.com

 

Çıktı örneği:

 

80/tcp open http |_http-google-malware.nse: Host is known for distributing malware.

 

Nmap, günümüzde Siber Güvenlik Uzmanları, araştırmacılar ve birçok sektör çalışanı tarafından kullanılan en eksiksiz ve doğru port ve zafiyet tarayıcılardan biridir. İçerisinde mevcutta bulunan birçok script ile farklı zafiyet taramaları yapabilmektedir.

Eray Çakın |

11.01.2023

Yorumlar

Yonca Yavuz
04.02.2023 - 11:40

Emeğinize sağlık 

Barış
28.03.2023 - 09:56

teşekkürler