Derinlemesine NMAP

Barut15

Üye
14 Tem 2021
209
71
25
NMAP NEDİR

Nmap, ağdaki cihazlara ve cihazların portlarına çeşitli paketler gönderip ve cevaplara bakarak cihazın açık olup olmadığını, açık olan portlar üzerinde hangi servislerin çalıştığını, cihazların hangi işletim sistemini kullandığını öğrenmemize olanak sağlayan open-source bir araçtır.

Hedef Belirtme (Target Specification)

Nmap’i en basit olarak kullanmak için bir hedef belirtmememiz gerekiyor. Hedef olarak bir web adresi, IP adresi verebileceğinizin yanı sıra bir ağ da verebiliriz.
ÖRNEĞİN
$ nmap google.com
$ nmap 192.168.1.1
$ nmap 192.168.1.0/24

NOT: nmap'de sadece hedef belirtirseniz ve hiçbir opsiyon belirtmezseniz Nmap default olarak en çok kullanılan 1000 porta SYN taraması yapar.
İşimize yarar parametreler


Hedef Keşfi (Host Discovery)

Nmap bize ICMP echo request ile host keşfi yapabilme seçeneği sunarken aynı zamanda SYN/ACK/UDP paketlerini belli portlara göndererekte host keşfi yapabilmemizi sağlıyor.
KOMUTLAR

-sL: Herhangi bir paket göndermeden bütün IP adreslerini listeler. Açık olan olmayan bütün adresleri. Daha önce hiç işime yaramadı, belki sizin yarar.
-sn: Bu parametre nmap e host keşfi yaptıktan sonra port taraması yapmamasını söyler. Normalde nmap host u keşfettikten sonra açık olan hostlara port taraması yapar, bu parametre nmap e bunu yapmamasını söyler. Yetkisiz bir kullanıcı tarama yaptığında nmap sadece 80 ve 443 portlarına TCP SYN paketlerini gönderir. Yetkili bir kullanıcı ile yaptığınızda ARP istekleri gönderir.
-Pn: Host keşfini yapmaz (bütün hostları açık olarak kabul eder). Port taramasını hızlandırmak için bu seçeneği kullanabilirsiniz. Eğer açık olduğunu bildiğiniz bir host a nse scriptlerini kullanacaksanız -Pn ve -sn parametrelerini kullanarak işleminizi iyice hızlandırabilirsiniz.
-PS: Belirlenen portlara TCP SYN paketleri göndererek host keşfi yapar. Örneğin 22, 80 ve 443 portlarına SYN paketleri ile host discovery yapmak istersek şöyle bir komut kullanmamız gerekirdi : “nmap -PS 22,80,443 192.168.1.0/24“
-PA: Bir önceki TCP SYN gibi bu sefer TCP ACK paketlerini belli portlara göndererek host discovery yapar. SYN ve ACK paketleri göndermek firewall ları geçme ihtimalinizi arttırır.
-PU: UDP paketleri göndererek host discovery yapar. Firewall ları geçme ihtimaliniz artar fakat UDP protokolü gereği paketinizin gittiği garanti olmadığı için hata ihtimali yüksek olur, çok gerekli olmadığı sürece önermem ben.
-PE; -PM; -PP: ICMP paketleri göndererek host discovery yapar.
-PR: Tüm ağa ARP request gönderir, eğer ARP response gelirse hostun up olduğu belli olur ve başka deneme yapması gerekmez.
-n: Nmap bazen DNS çözümleme yapar. Biz Nmap ten DNS çözümleme yapmasını engellemek istersek bu parametreyi kullanabiliriz. İşlemimizi hızlandırır.
-R: Bu seferde DNS çözümlemesi yapmasını istersek bu parametreyi kullanabiliriz.

Port Taraması (Port Scanning)

NMAP'in vazgeçilmezi özelliklerinden biri olup 6 katagoriye ayrılır

Peki bunlar ne diye soracak olursanız
open,closed,filtered,unfiltered,open|filtered ve close|filtered olmak üzere ayrılır

Open:eek:pen port görmek bize o portta bir servis çalışıyor ve bu port üzerinde bir filtreleme işlemi olmadığını gösteriyor.

closed: Tarama sonucunda close port görmemiz o portun erişilebilir (Yanlış anlaşılmasın erişilebilir olmasından kastım paket gönderip cevap alabildiğimiz için) fakat o port üzerinde hiç bir servis/uygulama çalışmadığı için bir şey yapamayacağımız anlamına gelir.

filtered: Bunun anlamı Nmap’in o portun açık olup olmadığını anlayamadığıdır.

unfiltered: Portun erişilebilir fakat Nmap’in portun açık yada kapalı olduğunu anlayamadığı zaman verdiği sonuçtur. Bunu çözmek için o porta SYN/FIN taraması yapabilirsiniz.

open|filtered: Nmap’in o portun açık yada filtered olduğunu anlayamadığı zaman verdiği sonuçtur.

closed|filtered: Nmap’in o portun kapalı yada filtered olduğunu anlayamadığı zaman verdiği sonuçtur

Not :root ile çalıştırılmasını tavsiye ederim


SYN taraması (-sS) belirli portlara SYN flag i set edilip gönderilerek ve gelen cevaba bakarak yapılan bir taramadır.Sızma testlerinde çok kullanılan bir tarama çeşididir

TCP connect (-sT)port üzerinde çalışan servis bilgilerini daha detaylı/doğru bir şekilde alabiliyoruz. Dezavantajı ise log larda kayıt bırakıyoruz ve firewall/IPS tarafından engellenme ihtimalimiz artıyor.


UDP taramasında (-sU) nmap TCP yerine UDP protokolünü kullanıyor. Protokol gereği paketlerin gittiğinin garantisi olmadığı için bu tarama tipi yavaştır. Ama UDP portları çok umursanmadığı için bu portlar üzerinde çok güvenlik önlemi alınmaz.Aklınızda bulunsun

TCP ACK (-sA) taramasında portun açık yada kapalı olduğunu anlamak için değilde frewall gibi yapıların olup olmadığını anlamak için kullanılır

Idle scan (-sI )
Gerçek ıp adresinizi gizlemek için kullanilabilir

-p parametresi ile hangi portları tarayacağını elimizle belirtebiliyoruz.

–exclude-ports parametresi ile taramasını istemediğimiz portları taramadan çıkartabiliyoruz.

-F parametresi ile nmap in default olarak en çok kullanılan 1000 portu taraması yerine en çok kullanılan 100 portu taramasını sağlayabiliriz. Tarama sonucunun hızlı olmasını istiyorsanız kullanılabilir fakat bütün portları taramayacağı için diğer sonuçları göremezsiniz.

Nmap Scripting Engine (NSE)
Eveet, gelelim Nmap’in bize sağladığı en iyi özelliğe.

Nmap’in içerisinde şuanlık 567 adet NSE scripti bulunmakta. Bunlar yardımı ile zafiyet taraması, discovery ve exploit işlemlerini yapabilirsiniz. Nmap’in güzel olaylarından birisi open-source olması. Bunun sayesinde kendimizde NSE scripti yazabiliyoruz. Bu scriptlere ulaşmak isterseniz /usr/share/nmap/scripts dizininden ulaşabilirsiniz.

Bu scriptlerin ne işe yaradıklarını istediğiniz bir editörle (vim, nano yada arayüzlü bir editör, tamamen size kalmış) açıp, açıklamaları okuyup ne işe yaradıklarını ve nasıl kullanıldıklarını öğrenebilirsiniz.
Hangi script i kullanacağımızı nmapte –script parametresi ile belirtiyoruz.
Script argümanı olarak vereceklerimizi –script-args parametresi ile belirtiyoruz.

ÖRNEĞİ UNUTMAYALIM:)

Sudo nmap hedefsite.com --script (kullanacağımız scriptin adı)

Bazen firewall gibi yapılar ardı ardına gelen paketleri kötü amaçlı gördüğünden engelleyebiliyor. Bunun önüne geçmek için nmap te tarama hızını (-T parametresi ile) ayarlayabiliyoruz. T parametresine 0′ dan 6′ ya kadar numara verebiliyoruz.

0 (paranoid): Bu hıza ayarladığımızda paketler arasındaki süre 5 dakikaya kadar çıkar.

1 (sneaky): Bu hızla paketler arası süre 15 saniyeye kadar çıkar.

2 (polite): Paketler arası süre 0.4 saniye olur.

3 (normal): Default olarak kullanılan mod.

4 (aggressive): Agresif mod. Hızlı ve güvenilir bir ağda olduğunuzu varsayıp ona göre tahmin yapar.

5 (insane): Bu mod doğru sonuç uğruna hızlı bir sonuç almanıza olanak sağlar. Yani mümkün olabilecek en hızlı şekilde size sonuç verir fakat sonuçlar tam olarak doğru olmayabilir.

Umarım yeterince detaylı bir yazı olmuştur. Herhangi bir sorunuz olursa yorumdan yazabilirsiniz.
 

Adanalıtrojan

Kıdemli Üye
25 Haz 2021
2,024
1,054
17
Konya Ovası Askeri Tesislerinde
NMAP NEDİR

Nmap, ağdaki cihazlara ve cihazların portlarına çeşitli paketler gönderip ve cevaplara bakarak cihazın açık olup olmadığını, açık olan portlar üzerinde hangi servislerin çalıştığını, cihazların hangi işletim sistemini kullandığını öğrenmemize olanak sağlayan open-source bir araçtır.

Hedef Belirtme (Target Specification)

Nmap’i en basit olarak kullanmak için bir hedef belirtmememiz gerekiyor. Hedef olarak bir web adresi, IP adresi verebileceğinizin yanı sıra bir ağ da verebiliriz.
ÖRNEĞİN
$ nmap google.com
$ nmap 192.168.1.1
$ nmap 192.168.1.0/24

NOT: nmap'de sadece hedef belirtirseniz ve hiçbir opsiyon belirtmezseniz Nmap default olarak en çok kullanılan 1000 porta SYN taraması yapar.
İşimize yarar parametreler


Hedef Keşfi (Host Discovery)

Nmap bize ICMP echo request ile host keşfi yapabilme seçeneği sunarken aynı zamanda SYN/ACK/UDP paketlerini belli portlara göndererekte host keşfi yapabilmemizi sağlıyor.
KOMUTLAR

-sL: Herhangi bir paket göndermeden bütün IP adreslerini listeler. Açık olan olmayan bütün adresleri. Daha önce hiç işime yaramadı, belki sizin yarar.
-sn: Bu parametre nmap e host keşfi yaptıktan sonra port taraması yapmamasını söyler. Normalde nmap host u keşfettikten sonra açık olan hostlara port taraması yapar, bu parametre nmap e bunu yapmamasını söyler. Yetkisiz bir kullanıcı tarama yaptığında nmap sadece 80 ve 443 portlarına TCP SYN paketlerini gönderir. Yetkili bir kullanıcı ile yaptığınızda ARP istekleri gönderir.
-Pn: Host keşfini yapmaz (bütün hostları açık olarak kabul eder). Port taramasını hızlandırmak için bu seçeneği kullanabilirsiniz. Eğer açık olduğunu bildiğiniz bir host a nse scriptlerini kullanacaksanız -Pn ve -sn parametrelerini kullanarak işleminizi iyice hızlandırabilirsiniz.
-PS: Belirlenen portlara TCP SYN paketleri göndererek host keşfi yapar. Örneğin 22, 80 ve 443 portlarına SYN paketleri ile host discovery yapmak istersek şöyle bir komut kullanmamız gerekirdi : “nmap -PS 22,80,443 192.168.1.0/24“
-PA: Bir önceki TCP SYN gibi bu sefer TCP ACK paketlerini belli portlara göndererek host discovery yapar. SYN ve ACK paketleri göndermek firewall ları geçme ihtimalinizi arttırır.
-PU: UDP paketleri göndererek host discovery yapar. Firewall ları geçme ihtimaliniz artar fakat UDP protokolü gereği paketinizin gittiği garanti olmadığı için hata ihtimali yüksek olur, çok gerekli olmadığı sürece önermem ben.
-PE; -PM; -PP: ICMP paketleri göndererek host discovery yapar.
-PR: Tüm ağa ARP request gönderir, eğer ARP response gelirse hostun up olduğu belli olur ve başka deneme yapması gerekmez.
-n: Nmap bazen DNS çözümleme yapar. Biz Nmap ten DNS çözümleme yapmasını engellemek istersek bu parametreyi kullanabiliriz. İşlemimizi hızlandırır.
-R: Bu seferde DNS çözümlemesi yapmasını istersek bu parametreyi kullanabiliriz.

Port Taraması (Port Scanning)

NMAP'in vazgeçilmezi özelliklerinden biri olup 6 katagoriye ayrılır

Peki bunlar ne diye soracak olursanız
open,closed,filtered,unfiltered,open|filtered ve close|filtered olmak üzere ayrılır

Open:eek:pen port görmek bize o portta bir servis çalışıyor ve bu port üzerinde bir filtreleme işlemi olmadığını gösteriyor.

closed: Tarama sonucunda close port görmemiz o portun erişilebilir (Yanlış anlaşılmasın erişilebilir olmasından kastım paket gönderip cevap alabildiğimiz için) fakat o port üzerinde hiç bir servis/uygulama çalışmadığı için bir şey yapamayacağımız anlamına gelir.

filtered: Bunun anlamı Nmap’in o portun açık olup olmadığını anlayamadığıdır.

unfiltered: Portun erişilebilir fakat Nmap’in portun açık yada kapalı olduğunu anlayamadığı zaman verdiği sonuçtur. Bunu çözmek için o porta SYN/FIN taraması yapabilirsiniz.

open|filtered: Nmap’in o portun açık yada filtered olduğunu anlayamadığı zaman verdiği sonuçtur.

closed|filtered: Nmap’in o portun kapalı yada filtered olduğunu anlayamadığı zaman verdiği sonuçtur

Not :root ile çalıştırılmasını tavsiye ederim


SYN taraması (-sS) belirli portlara SYN flag i set edilip gönderilerek ve gelen cevaba bakarak yapılan bir taramadır.Sızma testlerinde çok kullanılan bir tarama çeşididir

TCP connect (-sT)port üzerinde çalışan servis bilgilerini daha detaylı/doğru bir şekilde alabiliyoruz. Dezavantajı ise log larda kayıt bırakıyoruz ve firewall/IPS tarafından engellenme ihtimalimiz artıyor.


UDP taramasında (-sU) nmap TCP yerine UDP protokolünü kullanıyor. Protokol gereği paketlerin gittiğinin garantisi olmadığı için bu tarama tipi yavaştır. Ama UDP portları çok umursanmadığı için bu portlar üzerinde çok güvenlik önlemi alınmaz.Aklınızda bulunsun

TCP ACK (-sA) taramasında portun açık yada kapalı olduğunu anlamak için değilde frewall gibi yapıların olup olmadığını anlamak için kullanılır

Idle scan (-sI )
Gerçek ıp adresinizi gizlemek için kullanilabilir

-p parametresi ile hangi portları tarayacağını elimizle belirtebiliyoruz.

–exclude-ports parametresi ile taramasını istemediğimiz portları taramadan çıkartabiliyoruz.

-F parametresi ile nmap in default olarak en çok kullanılan 1000 portu taraması yerine en çok kullanılan 100 portu taramasını sağlayabiliriz. Tarama sonucunun hızlı olmasını istiyorsanız kullanılabilir fakat bütün portları taramayacağı için diğer sonuçları göremezsiniz.

Nmap Scripting Engine (NSE)
Eveet, gelelim Nmap’in bize sağladığı en iyi özelliğe.

Nmap’in içerisinde şuanlık 567 adet NSE scripti bulunmakta. Bunlar yardımı ile zafiyet taraması, discovery ve exploit işlemlerini yapabilirsiniz. Nmap’in güzel olaylarından birisi open-source olması. Bunun sayesinde kendimizde NSE scripti yazabiliyoruz. Bu scriptlere ulaşmak isterseniz /usr/share/nmap/scripts dizininden ulaşabilirsiniz.

Bu scriptlerin ne işe yaradıklarını istediğiniz bir editörle (vim, nano yada arayüzlü bir editör, tamamen size kalmış) açıp, açıklamaları okuyup ne işe yaradıklarını ve nasıl kullanıldıklarını öğrenebilirsiniz.
Hangi script i kullanacağımızı nmapte –script parametresi ile belirtiyoruz.
Script argümanı olarak vereceklerimizi –script-args parametresi ile belirtiyoruz.

ÖRNEĞİ UNUTMAYALIM:)

Sudo nmap hedefsite.com --script (kullanacağımız scriptin adı)

Bazen firewall gibi yapılar ardı ardına gelen paketleri kötü amaçlı gördüğünden engelleyebiliyor. Bunun önüne geçmek için nmap te tarama hızını (-T parametresi ile) ayarlayabiliyoruz. T parametresine 0′ dan 6′ ya kadar numara verebiliyoruz.

0 (paranoid): Bu hıza ayarladığımızda paketler arasındaki süre 5 dakikaya kadar çıkar.

1 (sneaky): Bu hızla paketler arası süre 15 saniyeye kadar çıkar.

2 (polite): Paketler arası süre 0.4 saniye olur.

3 (normal): Default olarak kullanılan mod.

4 (aggressive): Agresif mod. Hızlı ve güvenilir bir ağda olduğunuzu varsayıp ona göre tahmin yapar.

5 (insane): Bu mod doğru sonuç uğruna hızlı bir sonuç almanıza olanak sağlar. Yani mümkün olabilecek en hızlı şekilde size sonuç verir fakat sonuçlar tam olarak doğru olmayabilir.

Umarım yeterince detaylı bir yazı olmuştur. Herhangi bir sorunuz olursa yorumdan yazabilirsiniz.
Eline sağlık dostum :)
 

Emperor Palpatine

Yeni üye
10 Kas 2021
23
10
Merhaba, bu paketlerin ve flaglerin ne olduğunu ve ne işe yaradığını nereden öğrenebilirim, tcp ack gibi. CCNA eğitimi içerisinde var mıdır?
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.