Nmap ile Ağ Keşfi

Hacer Dalkiran
4 min readJun 11, 2021

--

Meşhur hacker filmi “Who am I”da da kullanımını gördüğümüz, en çok kullanılan etik hacker araçlarından biri nmap’tir. Nmap kısaca ağ ya da hedef tarama aracıdır. Nmap etik hackerlık aracıdır dedik ama elinizdeki bu aracı kullanmak biraz da hayal gücünüze bağlı olan bir durum. Sistem yöneticiliği işinde çalışıyorsanız, nmap kullanmak birçok işleminizi otomatize edecektir. Bunun dışında port taramadan firewall atlatmaya ve sorun gidermeye kadar birçok amaç için kullanılabilir. Bazı kullanım şekillerini aşağıda sıraladım;

  1. Tek bir hedefi tarama

nmap <hedef> yazdığımızda genel tarama yapmış oluruz. Burada testleriniz için “scanme.nmap.org” adresini tavsiye ederim. Tamamen yasal bir boyutta çalışmamız için oluşturulmuş bu site benim de örnek verirken kullandığım bir sayfa olacak.

tek hedef taraması

Görüldüğü genel birçok bilgiyi edindik. Açık-kapalı-filtreli en sık kullanılan 1000 portu keşfettik. Filtered gördüğümüzde bir firewall tarafından filtrelendiği sonucunu çıkarabiliriz.

2. Birden fazla hedefi tarama

Hedefler art arda yazılır.

3. Bir IP ve Subnet’i taramak

Bu özelliği sistem yönetiminde sunucularla ilgili bilgi alırken sıkça kullanıyorum. İşletim sistemi versiyonu dahil birçok bilgiye, önlem alınmadıysa sunucuya bağlanmadan erişebilirsiniz.

nmap <IP Adresi> komutuyla basitçe genel bilgi toplayabilirsiniz.

nmap <Subnet> ile belli bir alt ağdaki genel bilgilere ulaşılabilir. Yazının devamında görebileceğiniz bazı parametreleri kullanarak daha etkin bir şekilde kullanabilirsiniz.

Sadece ping yani ICMP request taraması için -sP parametresi kullanılır.

4. Ping atmadan tarama seçenekleri

Birçok web sitesi veya hedef ping yani ICMP isteklerine kapalıdır. Olası DDoS ve DoS saldırıları için böyle bir önlem alınır. Ama gerek pentest gerekse tabiri caizse makine ayakta mı diye kontrol etmek için istek göndermek gerekir. Burada TCP 3 way handshake denilen bir olay imdadımıza yetişir. TCP 3-way-handshake’i bir parantez açarak kısaca açıklamak istiyorum. Bilgisi olan bu kısmı atlayabilir.

Three Way Handshake

OSI modelinde 4, TCP-IP’de 3. katman olan taşıma veya transport katmanında paketin yerine ulaşıp ulaşmadığının garanti edildiği protokol Transmission Control Protocol yani TCP’dir. Buraya kadar olan protokoller, IP gibi, bu tür bir garanti vermez. Ben paketi gönderirim, gerisiyle uğraşmam der. Kısaca kapıya paketi bırakıp giden kargocu gibi düşünebiliriz. TCP ise daha sorumlu bir kargocu gibi önce ev sahibine geliyorum diye haber verir bırakır, sonra ev sahibinden paketi aldım diye haber alır. TCP emin olmamızı sağlayan protokoldür.

Ben paketi gönderiyorum demesine TCP SYN denir.

Received from netacad.com

Ev sahibinin müsaitim, evdeyim demesine TCP SYN-ACK denir.

Received from netacad.com

Sunucunun yani kargo şirketinin “Gönderiyorum” demesine ise ACK denir.

TCP dışında UDP ve ARP istekleri de gönderilebilir.

Ping request olmadan tarama yapma

  • -PN parametresiyle yapılır.
  • TCP-SYN request: -PS
  • TCP-ACK request:-PA
  • UDP request: -PU

Firewall TCP requestleri engelliyor olabilir. UDP ping atarak bunu aşabiliriz.

  • ICMP Echo Ping: -PE
  • ARP Ping: -PC

Yerel ağda daha hızlı olduğu için

  • SCTP INIT Ping: -PY

Ip telefonlar için tarama yapılabilir.

  • Ters DNS: -R
  • OS ve Servis Keşfi: -O

Sistem yöneticisi olarak yine çokça faydalandığım bir kullanım. Ayrıca yine pentest için de işe yarar bir parametre.

Biraz da Port taramalarına bakalım.

Default olarak ilk 1000 port taranır. Bilindiği üzere 65500 kadar port bulunur.

  • En çok kullanılan 100 port için tarama: -F
  • Belirli portlari tarama: -p

araya “,” koyarak birden fazla port taraması yapılabilir.

nmap -p <taranacak_port> <Hedef>

http ve https için yapılan tarama
  • Sık kullanılan portlar: — top-ports kullanılarak tarama yapılır. Sayı belirtebiliriz.

Örneğin en sık kullanılan 20 portu tarayalım.

  • Tüm portları tarama: “*” eklenerek kullanılır. Tüm portlar taranacağı için uzun sürecektir.

nmap -p “*” <TARGET>

şeklinde bir kullanımı var.

Çıktıyı kaydetme seçeneklerine bakalım.

  • Çıktıyı metin dosyasına kaydetme: -oN
  • xml olarak kaydetmek istersek -oX kullanırız.

nmap -oN <PATH\scan.txt> <HEDEF>

  • grep çıktısı olarak kaydetme: oG

Linux’da çıktımızda belli ifadeleri ararken çok işe yarayan bir araç. Diyelim bir database sızdırıldığında içindeki kullanıcı adı ve parolalar grep çıktısı şeklinde alınabilir.

nmap -oG <Path\scan.txt> <HEDEF>

Buradan grep çıktısından istediğiniz bilgiyi çekebilirsiniz.

--

--

Hacer Dalkiran
Hacer Dalkiran

Written by Hacer Dalkiran

Mathematician and Cybersecurity girl

No responses yet