NMAP Detaylı Anlatım V2

NULL, FIN and Xmas NULL, FIN ve Xmas TCP bağlantı noktası taramaları, halihazırda ele aldığımız diğerlerinden daha az kullanılır, bu nedenle burada çok fazla derinliğe...

NULL, FIN and Xmas

NULL, FIN ve Xmas TCP bağlantı noktası taramaları, halihazırda ele aldığımız diğerlerinden daha az kullanılır, bu nedenle burada çok fazla derinliğe girmeyeceğiz
Üçü de birbiriyle bağlantılıdır ve esasen SYN "stealth" taramadan daha gizli, nispeten daha gizli olma eğiliminde oldukları için kullanılırlar.

NULL taramalardan başlayarak:

Adından da anlaşılacağı gibi, NULL taramaları ( -sN), TCP isteğinin hiçbir bayrak ayarlanmadan gönderildiği zamandır. RFC'ye göre, bağlantı noktası kapalıysa, hedef ana bilgisayar bir RST ile yanıt vermelidir.


FIN taramaları ( -sF) neredeyse aynı şekilde çalışır; ancak, tamamen boş bir paket göndermek yerine, FIN bayrağıyla bir istek gönderilir (genellikle etkin bir bağlantıyı düzgün bir şekilde kapatmak için kullanılır).
Bir kez daha, Nmap bağlantı noktası kapalıysa bir RST bekliyor.


Bu sınıftaki diğer iki taramada olduğu gibi, Xmas taramaları ( -sX) hatalı biçimlendirilmiş bir TCP paketi gönderir ve kapalı bağlantı noktaları için bir RST yanıtı bekler. Ayarladığı bayraklar (PSH, URG ve FIN), Wireshark'ta bir paket yakalama olarak görüntülendiğinde ona yanıp sönen bir yılbaşı ağacı görünümü verdiği için bir xmas taraması olarak anılır


Bu taramalarla açık bağlantı noktaları için beklenen yanıt da aynıdır ve UDP taramasına çok benzer.

Bağlantı noktası açıksa, hatalı biçimlendirilmiş pakete yanıt verilmez. Ne yazık ki (açık UDP bağlantı noktalarında olduğu gibi), bağlantı noktası bir güvenlik duvarı tarafından korunuyorsa bu da beklenen bir davranıştır, bu nedenle NULL, FIN ve Xmas taramaları her zaman bağlantı noktalarını yalnızca açık | filtrelenmiş , kapalı veya filtrelenmiş olarak tanımlayacaktır .
Bir bağlantı noktası bu taramalardan biriyle filtrelenmiş olarak tanımlanırsa, bunun nedeni genellikle hedefin ulaşılamayan bir ICMP paketiyle yanıt vermiş olmasıdır.

Ayrıca, RFC 793'ün, ağ ana bilgisayarlarının hatalı biçimlendirilmiş paketlere kapalı bağlantı noktaları için bir RST TCP paketi ile yanıt vermesini ve açık bağlantı noktaları için hiç yanıt vermediğini belirtmek gerekir; bu pratikte her zaman böyle değildir.
Özellikle Microsoft Windows'un (ve birçok Cisco ağ cihazının), bağlantı noktasının gerçekten açık olup olmadığına bakılmaksızın, herhangi bir hatalı biçimlendirilmiş TCP paketine bir RST ile yanıt verdiği bilinmektedir.
Bu, tüm bağlantı noktalarının kapalı görünmesine neden olur.


Bununla birlikte, buradaki amaç elbette güvenlik duvarından kaçmaktır.
Birçok güvenlik duvarı, gelen TCP paketlerini, SYN bayrağı ayarlanmış olan engellenen bağlantı noktalarına bırakacak (böylece yeni bağlantı başlatma isteklerini engelleyecek) yapılandırılmıştır.
SYN bayrağı içermeyen istekler göndererek, bu tür güvenlik duvarını etkin bir şekilde atlıyoruz. Teoride bu iyi olsa da, çoğu modern IDS çözümü bu tarama türlerine hakimdir, bu nedenle modern sistemlerle uğraşırken% 100 etkili olmalarına güvenmeyin.


ICMP Ağ Taraması
Kara kutu atamasında bir hedef ağa ilk bağlantıda, ilk amacımız ağ yapısının bir "map" elde etmektir veya başka bir deyişle, hangi IP adreslerinin etkin ana bilgisayarlar içerdiğini ve hangilerinin olmadığını görmek istiyoruz .

Bunu yapmanın bir yolu, sözde "ping taraması" yapmak için Nmap kullanmaktır.

Bu tam olarak adından da anlaşılacağı gibi:
Nmap, belirtilen ağ için olası her IP adresine bir ICMP paketi gönderir.
Bir yanıt aldığında, yanıt veren IP adresini canlı olarak işaretler.
Daha sonraki bir görevde göreceğimiz nedenlerden dolayı, bu her zaman doğru değildir; ancak, temelde bir şeyler sağlayabilir ve bu nedenle kapsamaya değer.

Bir ping taraması gerçekleştirmek için, -snanahtarı bir hypen ( -) veya CIDR gösterimi ile belirtilebilen IP aralıklarıyla birlikte kullanırız.

-sn Anahtar Nmap herhangi portları taramak için değil söyler - hedeflerini tanımlamak için ICMP (koşmak sudo ile veya doğrudan kök kullanıcı olarak eğer bir yerel ağda veya ARP istekleri) paketleri echo öncelikle güvenmek zorlayarak.
ICMP yankı isteklerine ek olarak, -snanahtar ayrıca nmap'in hedefin 443 numaralı bağlantı noktasına bir TCP SYN paketi ve hedefin 80 numaralı bağlantı noktasına bir TCP ACK (veya kök olarak çalıştırılmazsa TCP SYN) paketi göndermesine neden olur. .


NSE Komut Dosyaları Genel Bakış
Nmap Scripting Engine
(NSE)

oldukça önemli ölçüde işlevselliğini uzanan nmap'e son derece güçlü bir ek vardır.
NSE Scriptleri Lua programlama dilinde yazılmıştır ve çeşitli şeyler yapmak için kullanılabilir: güvenlik açıklarını taramaktan onlar için güvenlik açıklarını otomatikleştirmeye kadar. NSE, özellikle keşif için kullanışlıdır, ancak, komut dosyası kütüphanesinin ne kadar kapsamlı olduğunu akılda tutmaya değer.

Mevcut birçok kategori var. Bazı yararlı kategoriler şunları içerir:


safe: - Hedefi etkilemeyecek
intrusive: - Güvenli değil: hedefi etkileyebilirvuln: - Güvenlik açıklarını tara
exploit: - Bir güvenlik açığından yararlanma girişimi
auth: - Çalışan hizmetler için kimlik doğrulamasını atlama girişimi (örneğin, bir FTP sunucusunda anonim olarak oturum açın)
brute: - Servisleri çalıştırmak için kimlik bilgilerini zorla çalıştırma girişimi
discovery: - Ağ hakkında daha fazla bilgi için çalışan hizmetleri sorgulama girişimi (örneğin, bir SNMP sunucusunu sorgulama).


NSE ile çalışmak
Belirli bir komut dosyasını çalıştırmak için --script=<script-name>
örneğin --script=http-fileupload-exploiter.


Birden çok komut dosyası, virgülle ayırarak bu şekilde aynı anda çalıştırılabilir.
Örneğin: --script=smb-enum-users,smb-enum-shares.

Bazı komut dosyaları bağımsız değişkenler gerektirir (örneğin, kimliği doğrulanmış bir güvenlik açığından yararlanıyorsa giriş bilgiler).
Bunlar --script-argsNmap anahtarı ile verilebilir .
Bunun bir örneği http-putkomut dosyasıyla verilebilir (dosyaları PUT yöntemini kullanarak yüklemek için kullanılır).
Bu, iki bağımsız değişken alır: dosyanın yükleneceği URL ve dosyanın diskteki konumu.
Örneğin:

nmap -p 80 --script http-put --script-args http-put.url='/dav/shell.php',http-put.file='./shell.php'

Bağımsız değişkenlerin virgülle ayrıldığına ve karşılık gelen betiğe noktalarla (yani <script-name>.<argument>) bağlandığına dikkat edin

Komut dosyalarının tam listesi ve bunlara karşılık gelen argümanlar (örnek kullanım durumlarıyla birlikte) burada bakabilirsin

Nmap komut dosyaları, kullanılarak erişilebilen yerleşik yardım menüleriyle birlikte gelir nmap --script-help <script-name>.

Bu, yukarıda verilen bağlantı kadar kapsamlı olmama eğilimindedir, ancak yine de yerel olarak çalışırken yararlı olabilir.


Komut Dosyalarını Arama
Komut dosyalarını Nmap'te nasıl kullanacağımızı anlattım, ancak bu komut dosyalarını nasıl bulacağımızı anlatmadım .

Bunun için ideal olarak birbirleriyle birlikte kullanılması gereken iki seçeneğimiz var.
İlki , tüm resmi komut dosyalarının bir listesini içeren Nmap web sitesinde sayfadır .
İkincisi, Linux'ta /usr/share/nmap/scripts
Tüm NSE komut dosyaları varsayılan olarak bu dizinde depolanır - burası, Nmap'in bunları belirttiğinizde komut dosyalarını aradığı yerdir.


Yüklü komut dosyalarını aramanın iki yolu vardır.
Biri /usr/share/nmap/scripts/script.dbdosyayı kullanarak . Uzantıya rağmen, bu aslında bir veritabanı değil, mevcut her komut dosyası için dosya adlarını ve kategorileri içeren biçimlendirilmiş bir metin dosyasıdır.

Nmap bu dosyayı komut dosyası altyapısı için komut dosyalarını izlemek (ve kullanmak) için kullanır; Ancak, biz de yapabilirsiniz grep komut aramaya içinden. Örneğin: grep "ftp" /usr/share/nmap/scripts/script.db.

Komut dosyalarını aramanın ikinci yolu, ls komutu kullanmaktır .
Örneğin, aşağıdakileri kullanarak önceki ekran görüntüsündeki ile aynı sonuçları elde edebiliriz
ls -l /usr/share/nmap/scripts/*ftp*

Arama teriminin her iki tarafında yıldız işaretlerinin ( *) kullanıldığına dikkat edin

Aynı teknikler, komut dosyası kategorilerini aramak için de kullanılabilir.
Örneğin:

grep "safe" /usr/share/nmap/scripts/script.db


Güvenlik Duvarından Kaçınma
Likeplease
Güvenlik duvarlarını aşmak için bazı teknikler gördük (NULL, FIN ve Xmas taramalarının yanı sıra gizli taramaları düşünün); ancak, nasıl bypass edileceğini bilmemizin zorunlu olduğu çok yaygın başka bir güvenlik duvarı yapılandırması vardır.

Tipik Windows sunucunuz, varsayılan güvenlik duvarı ile tüm ICMP paketlerini engelleyecektir.
Bu bir sorun teşkil eder: sadece bir hedefin aktivitesini manuel olarak kurmak için ping kullanmakla kalmaz, Nmap aynı şeyi varsayılan olarak yapar.
Bu, Nmap'in bu güvenlik duvarı yapılandırmasına sahip bir ana bilgisayarı ölü olarak kaydedeceği ve onu taramakla hiç uğraşmayacağı anlamına gelir.


Yani, bu konfigürasyonu aşmanın bir yolunu bulmalıyız. Neyse ki Nmap bunun için bir seçenek sunar: -Pn bu,
Nmap'e ana bilgisayarı taramadan önce ping atma zahmetine girmemesini söyler.

Bu, Nmap'in hedef ana bilgisayarları her zaman canlı olarak değerlendireceği ve ICMP bloğunu etkin bir şekilde atlayacağı anlamına gelir; ancak, taramayı tamamlamak için potansiyel olarak çok uzun zaman almanın bedeli vardır (ana bilgisayar gerçekten ölmüşse, o zaman Nmap yine de belirtilen her bağlantı noktasını kontrol edecek ve iki kez kontrol edecektir

Zaten doğrudan yerel ağ üzerindeyseniz, Nmap'in ana bilgisayar etkinliğini belirlemek için ARP isteklerini de kullanabileceğini belirtmek gerekir.

Nmap'in güvenlik duvarından kaçınma için yararlı olduğunu düşündüğü çeşitli başka anahtarlar vardır. Bunları ayrıntılı olarak incelemeyeceğim, ancak burada bulabilirsin.

Bu anahtarlar önemlidir:
-f: - Paketleri parçalamak (yani onları daha küçük parçalara bölmek) için kullanılır, bu da paketlerin bir güvenlik duvarı veya IDS tarafından algılanma olasılığını azaltır.

-f Paketlerin boyutu üzerinde daha fazla kontrol sağlayan, ancak buna bir alternatif :, --mtu <number>gönderilen paketler için kullanılacak maksimum iletim birimi boyutunu kabul eder. Bu , 8'in katı olmalıdır .

--scan-delay <time>ms: - gönderilen paketler arasına gecikme eklemek için kullanılır. Bu, ağ istikrarsızsa çok kullanışlıdır, ancak aynı zamanda yerinde olabilecek zaman tabanlı güvenlik duvarı / IDS tetikleyicilerinden kaçınmak için de kullanılabilir.

--badsum: - bu, paketler için geçersiz sağlama toplamı oluşturmak için kullanılır.

Herhangi bir gerçek TCP / IP yığını bu paketi bırakabilir, ancak güvenlik duvarları paketin sağlama toplamını kontrol etme zahmetine girmeden potansiyel olarak otomatik olarak yanıt verebilir. Bu nedenle, bu anahtar bir güvenlik duvarının / IDS'nin varlığını belirlemek için kullanılabilir.

Evet bu konuda burada bitiyor.Bol bol pratik yapman kendini geliştirmen gerek.
Öğrenmek istediğin birşey varsa yorum olarak söyle bilgim var ise sizin ile paylaşabilirim.
 
131,840Konular
3,271,908Mesajlar
316,362Kullanıcılar
kayrasnglSon Üye
Üst Alt