Nmap Summary (ESP)

AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'i desteklemenin diğer yolları:

nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24

Parametreler

Taranacak IP'ler

  • <ip>,<net/mask>: IP'leri doğrudan belirtir

  • -iL <ips_file>: IP listesi

  • -iR <number>: Rastgele IP'lerin sayısı, olası IP'leri --exclude <Ips> veya --excludefile <file> ile hariç tutabilirsiniz.

Ekipman keşfi

Nmap varsayılan olarak -PA80 -PS443 -PE -PP oluşan bir keşif aşaması başlatır.

  • -sL: İstilacı değildir, hedefleri listeler ve isimleri çözmek için DNS istekleri yapar. Örneğin www.prueba.es/24 gibi tüm IP'lerin hedeflerimiz olup olmadığını bilmek için faydalıdır.

  • -Pn: Ping yok. Tümünün aktif olduğunu biliyorsanız (aksi halde çok zaman kaybedebilirsiniz, ancak bu seçenek aynı zamanda aktif olmadıklarını belirten yanlış negatifler de üretir), keşif aşamasını engeller.

  • -sn : Port taraması yok. Keşif aşamasını tamamladıktan sonra port taraması yapmaz. Nispeten gizlidir ve küçük bir ağ taramasına izin verir. Yetkilerle 80'e bir ACK (-PA), 443'e bir SYN(-PS) ve bir echo isteği ve bir zaman damgası isteği gönderir, yetkisiz kullanıldığında her zaman bağlantılar tamamlanır. Hedef ağsa, yalnızca ARP(-PR) kullanır. Başka bir seçenekle kullanıldığında, yalnızca diğer seçeneğin paketleri bırakılır.

  • -PR: Ping ARP. Ağımızdaki bilgisayarları analiz ederken varsayılan olarak kullanılır, ping'leri kullanmaktan daha hızlıdır. ARP paketleri kullanmak istemiyorsanız --send-ip kullanın.

  • -PS <ports>: Eğer SYN/ACK ile cevap veriyorsa açıktır (bağlantıyı sonlandırmamak için RST ile cevap verir), eğer RST ile cevap veriyorsa kapalıdır ve cevap vermiyorsa ulaşılamazdır. Yetkileri yoksa, otomatik olarak toplam bir bağlantı kullanılır. Eğer portlar belirtilmemişse, 80'e gönderilir.

  • -PA <ports>: Bir öncekiyle aynıdır ancak ACK ile, ikisini birleştirmek daha iyi sonuçlar verir.

  • -PU <ports>: Amaçları zıttır, kapatılması beklenen portlara gönderilir. Bazı güvenlik duvarları yalnızca TCP bağlantılarını kontrol eder. Eğer kapalıysa port ulaşılamaz ile cevap verir, başka bir icmp ile cevap verirse veya cevap vermezse hedef ulaşılamaz olarak bırakılır.

  • -PE, -PP, -PM : ICMP PING'ler: echo replay, zaman damgası ve adres maskesi. Hedefin aktif olup olmadığını öğrenmek için gönderilir.

  • -PY<ports>: Varsayılan olarak 80'e SCTP INIT probeleri gönderir, INIT-ACK(açık) veya ABORT(kapalı) veya hiçbir şey veya ICMP ulaşılamaz (etkin değil) ile cevap verebilir.

  • -PO <protocols>: Başlıkta bir protokol belirtilir, varsayılan olarak 1(ICMP), 2(IGMP) ve 4(Encap IP). ICMP, IGMP, TCP (6) ve UDP (17) protokolleri için protokol başlıkları gönderilir, geri kalanlar için yalnızca IP başlığı gönderilir. Amacı, başlıkların bozulmasından dolayı, Protokol ulaşılamaz veya aynı protokolün yanıtları ile cevap verilir ve hedefin aktif olup olmadığı bilinir.

  • -n: DNS yok

  • -R: Her zaman DNS

Port tarama teknikleri

  • -sS: Bağlantıyı tamamlamaz, bu nedenle iz bırakmaz, kullanılabilirse çok iyidir (yetkiler) Varsayılan olarak kullanılan budur.

  • -sT: Bağlantıyı tamamlar, bu nedenle iz bırakır, ancak kesin olması için kullanılabilir. Varsayılan olarak yetkisiz.

  • -sU: Daha yavaş, UDP için. Genellikle: DNS(53), SNMP(161,162), DHCP(67 ve 68), (-sU53,161,162,67,68): açık(cevap), kapalı(port ulaşılamaz), filtrelenmiş (başka bir ICMP), açık/filtrelenmiş (hiçbir şey). Açık/filtrelenmiş durumunda, -sV, nmap'ın desteklediği sürümlerden herhangi birini tespit etmek için birçok istek gönderir ve gerçek durumu tespit edebilir. Zamanı oldukça uzatır.

  • -sY: SCTP protokolü bağlantıyı kuramazsa, bu nedenle kayıtlar olmaz, -PY gibi çalışır

  • -sN,-sX,-sF: Null, Fin, Xmas, bazı güvenlik duvarlarını aşabilir ve bilgi çıkarabilir. Standart uyumlu makinelerin SYN, RST veya ACK bayrakları içermeyen isteklere tümüyle RST ile yanıt vermesi gerektiği varsayımına dayanır: açık/filtrelenmiş(hiçbir şey), kapalı(RST), filtrelenmiş (ICMP ulaşılamaz). Windows, CIsco, BSDI ve OS/400'te güvenilir değildir. Unix'te evet.

  • -sM: Maimon taraması: FIN ve ACK bayrakları gönderir, BSD için kullanılır, şu anda tümünü kapalı olarak döndürecektir.

  • -sA, sW: ACK ve Window, güvenlik duvarlarını tespit etmek için kullanılır, portların filtrelenip filtrelenmediğini bilmek için. -sW, açık/kapalı arasında ayrım yapar çünkü açıklar farklı bir pencere değeri ile yanıt verir: açık (pencere değeri 0 olmayan RST), kapalı (pencere = 0 RST), filtrelenmiş (ICMP ulaşılamaz veya hiçbir şey). Tüm bilgisayarlar bu şekilde çalışmaz, bu yüzden eğer hepsi kapalıysa, çalışmıyor demektir, eğer birkaçı açıksa, sorunsuz çalışıyor demektir ve eğer birçok açık ve az kapalı varsa, ters şekilde çalışıyor demektir.

  • -sI: Boşta tarama. Eğer aktif bir güvenlik duvarı varsa ve belirli bir IP'yi filtrelemediğini biliyorsak (veya sadece anonimlik istiyorsak) zombi tarayıcıyı kullanabiliriz (tüm portlar için çalışır), olası zombileri bulmak için ipidseq betiği veya exploit auxiliary/scanner/ip/ipidseq kullanabiliriz. Bu tarayıcı, IP paketlerinin IPID numarasına dayanır.

  • --badsum: Yanlış toplam gönderir, bilgisayarlar paketleri reddeder, ancak güvenlik duvarları bir şeyler cevaplayabilir, güvenlik duvarlarını tespit etmek için kullanılır.

  • -sZ: "Garip" SCTP tarayıcı, cookie echo parçaları ile probeler gönderirken açıksa düşürülmeleri veya kapalıysa ABORT ile yanıtlanmaları gerekir. Init'in geçemediği güvenlik duvarlarından geçebilir, kötü olan, filtrelenmiş ve açık arasında ayrım yapmaz.

  • -sO: Protokol Ip taraması. Bazı durumlarda protokol bile ayırt edilemeyen yanlış ve boş başlıklar gönderir. Eğer ulaşılamaz protokol ICMP gelirse kapalıdır, ulaşılamaz port gelirse açıktır, başka bir hata gelirse filtrelenmiştir, hiçbir şey gelirse açık/filtrelenmiştir.

  • -b <server>: FTPhost--> Bir makineden başka bir makinenin bağlantısını kullanarak bir ana bilgisayarı taramak için kullanılır, bu, başka bir makinenin ftp'sine bağlanarak ve başka bir makineden taramak istediğiniz bağlantılara dosya göndermesini isteyerek yapılır, yanıtlara göre açık olup olmadıklarını bileceğiz. [<user>:<password>@]<server>[:<port>] Artık neredeyse tüm ftp sunucuları buna izin vermez ve bu nedenle pratikte pek kullanışlı değildir.

Merkezi analiz

-p: Taramak için portları belirtmek için kullanılır. 65335'i seçmek için: -p- veya -p all. Nmap'ın popülerliğine göre dahili bir sıralaması vardır. Varsayılan olarak ilk 1000'i kullanır. -F (hızlı tarama) ile ilk 100'ü tarar. --top-ports <number> Belirtilen sayıda ilk portları tarar (1'den 65335'e kadar). Portları rastgele sırayla kontrol eder, bunu önlemek için -r kullanılır. Ayrıca portları seçebiliriz: 20-30,80,443,1024- Bu sonuncusu 1024'ten sonrasına bakacağı anlamına gelir. Ayrıca portları protokollere göre gruplayabiliriz: U:53,T:21-25,80,139,S:9. Nmap'ın popüler portları içinde bir aralık seçebiliriz: -p [-1024] nmap-services içinde bulunan 1024'e kadar olan portları tarar. --port-ratio <ratio> Belirli bir oran aralığındaki en yaygın portları tarar, oran 0 ile 1 arasında olmalıdır.

-sV Sürüm taraması, yoğunluğu 0 ile 9 arasında ayarlanabilir, varsayılan 7.

--version-intensity <number> Yoğunluğu ayarlarız, daha düşükse sadece olasılığı yüksek olan sondaları gönderir, ancak tümünü değil. Bu şekilde UDP tarama süresini önemli ölçüde kısaltabiliriz.

-O İşletim sistemi tespiti

--osscan-limit Bir ana bilgisayarı iyi tarayabilmek için en az bir açık ve bir kapalı port olması gerekir, bu koşul sağlanmazsa ve bu seçeneği belirlediysek, işletim sistemi tahmini yapmaz (zaman kazandırır) --osscan-guess Os tespiti mükemmel olmadığında daha fazla çaba harcar

Scriptler

--script <dosyaadı>|<kategori>|<dizin>|<ifade>[,...]

Varsayılanları kullanmak için -sC veya --script=default yeterlidir

Mevcut türler: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version ve vuln

  • Auth: kimlik doğrulama için mevcut tüm scriptleri çalıştırır

  • Default: aracın varsayılan temel scriptlerini çalıştırır

  • Discovery: hedef veya kurban hakkında bilgi toplar

  • External: harici kaynakları kullanmak için script

  • Intrusive: kurban veya hedef için müdahaleci olarak kabul edilen scriptleri kullanır

  • Malware: kötü amaçlı yazılım veya arka kapılar tarafından açık bağlantıları kontrol eder

  • Safe: müdahaleci olmayan scriptleri çalıştırır

  • Vuln: en bilinen zayıflıkları keşfeder

  • All: mevcut tüm NSE uzantılı scriptleri çalıştırır

Scriptleri aramak için:

nmap --script-help="http-*" -> http- ile başlayanlar

nmap --script-help="not intrusive" -> Bunlar hariç tümü

nmap --script-help="default or safe" -> Birinde veya her ikisinde olanlar

nmap --script-help="default and safe" --> Her ikisinde olanlar

nmap --script-help="(default or safe or intrusive) and not http-*"

--script-args <n1>=<v1>,<n2>={<n3>=<v3>},<n4>={<v4>,<v5>}

--script-args-file <dosyaadı>

--script-help <dosyaadı>|<kategori>|<dizin>|<ifade>|all[,...]

--script-trace ---> Scriptin durumu hakkında bilgi verir

--script-updatedb

Bir scripti kullanmak için sadece şunu yazmanız yeterlidir: nmap --script Script_Adı hedef --> Scripti yazdığınızda hem script hem de tarayıcı çalıştırılır, bu nedenle tarayıcı seçenekleri de ekleyebiliriz, sadece güvenli olanları çalıştırmak için "safe=1" ekleyebiliriz.

Zaman Kontrolü

Nmap saniye, dakika, ms cinsinden zamanı değiştirebilir: --host-timeout arguments 900000ms, 900, 900s ve 15m hepsi aynı işi yapar.

Nmap, taranacak toplam host sayısını gruplara böler ve bu grupları bloklar halinde analiz eder, tüm gruplar analiz edilene kadar bir sonraki bloğa geçmez (ve kullanıcıya blok analiz edilene kadar herhangi bir güncelleme almaz), bu nedenle nmap için büyük gruplar kullanmak daha iyidir. Varsayılan olarak sınıf C'de 256 kullanır.

Değiştirebilirsiniz**--min-hostgroup** <numhosts>; --max-hostgroup <numhosts> (Paralel tarama grup boyutlarını ayarlayın)

Paralel tarama sayısını kontrol edebilirsiniz ancak genellikle gerekli değildir (nmap, ağ durumuna göre otomatik kontrolü zaten içerir): --min-parallelism <numprobes>; --max-parallelism <numprobes>

Rtt zaman aşımını değiştirebilirsiniz, ancak genellikle gerekli değildir: --min-rtt-timeout <zaman>, --max-rtt-timeout <zaman>, --initial-rtt-timeout <zaman>

Deneme sayısını değiştirebilirsiniz: --max-retries <denemesayısı>

Bir hostun tarama süresini değiştirebilirsiniz: --host-timeout <zaman>

Her test arasındaki süreyi yavaşlatmak için: --scan-delay <zaman>; --max-scan-delay <zaman>

Saniyedeki paket sayısını değiştirebilirsiniz: --min-rate <sayı>; --max-rate <sayı>

Filtrelenmiş veya kapalı birçok port yanıt vermek için uzun sürebilir, yalnızca açık olanları ilgilendiriyorsa daha hızlı tarama yapabilirsiniz: --defeat-rst-ratelimit

Nmap'ın ne kadar saldırgan olmasını istediğinizi belirlemek için: -T paranoid|sneaky|polite|normal|aggressive|insane

-T (0-1)

-T0 --> Yalnızca bir port taranır ve bir sonraki için 5 dakika beklenir

-T1 ve T2 --> Çok benzer ancak her test arasında sırasıyla 15 ve 0,4 saniye bekler

-T3 --> Varsayılan işlevsellik, paralel içerir

-T4 --> --max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms --max-retries 6 --max-scan-delay 10ms

-T5 --> --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout 250ms --max-retries 2 --host-timeout 15m --max-scan-delay 5ms

Güvenlik Duvarı/IDS

Portları kapatır ve paketleri analiz eder.

-f Paketleri parçalamak için, varsayılan olarak başlık sonrası 8 bayt parçalar, bu boyutu belirtmek için ..mtu kullanırız (bununla birlikte, -f kullanmayın), ofset 8'in katı olmalıdır. Sürüm tarama ve scriptler parçalamayı desteklemez

-D decoy1,decoy2,BEN Nmap, başka IP adresleriyle tarama gönderir, böylece kendinizi gizlersiniz. ME'yi listeye eklerseniz, nmap sizi oraya yerleştirir, sizi tamamen gizlemek için kendinizden önce 5 veya 6 eklemek daha iyidir. RND:<sayı> ile rastgele IP'ler oluşturabilirsiniz. TCP bağlantısı olmayan sürüm algılayıcılarıyla çalışmaz. Bir ağ içindeyseniz, etkin IP'leri kullanmanız önemlidir, aksi takdirde sizin tek etkin kişi olduğunuzu kolayca anlamak çok kolay olacaktır.

Rastgele IP'ler kullanmak için: nmap-D RND: 10 Hedef_IP

-S IP Nmap, IP adresinizi alamazsa onu vermeniz gerekir. Ayrıca, başka bir hedefin onları taramakta olduğunu düşündürmek için de kullanılır.

-e <arayüz> Arayüzü seçmek için

Birçok yönetici, her şeyin düzgün çalışması için giriş kapılarını açık bırakır ve başka bir çözüm bulmaktan daha kolaydır. Bu, DNS veya FTP gibi portlar olabilir... Bu zafiyeti aramak için nmap şunları içerir: --source-port <portnumarası>;-g <portnumarası> Eşdeğerdir

--data <onaltılık dize> Onaltılık metin göndermek için: --data 0xdeadbeef ve --data \xCA\xFE\x09

--data-string <dize> Normal metin göndermek için: --data-string "Güvenlik Operasyonları tarafından yapılan tarama, uzantı 7192 tarafından"

--data-length <sayı> Nmap yalnızca başlıklar gönderir, bu sayede rastgele oluşturulacak belirli bir bayt sayısı ekleriz

IP paketini tamamen yapılandırmak için --ip-options kullanın

Gönderilen ve alınan paketlerdeki seçenekleri görmek istiyorsanız, --packet-trace belirtin. Nmap ile IP seçeneklerini kullanma hakkında daha fazla bilgi ve örnek için http://seclists.org/nmap-dev/2006/q3/52 adresine bakın.

--ttl <değer>

--randomize-hosts Saldırının daha az belirgin olmasını sağlamak için

--spoof-mac <MAC adresi, önek veya satıcı adı> Mac adresini değiştirmek için örnekler: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2 ve Cisco --proxies <Proxy URL'lerinin virgülle ayrılmış listesi> Proxies kullanmak için, bazen bir proxy nmap'in istediği kadar çok bağlantıyı açık tutmaz, bu yüzden paralelizmi değiştirmek gerekebilir: --max-parallelism

-sP ARP ile ağdaki hostları keşfetmek için

Çoğu yönetici, belirli bir bağlantı noktasından gelen tüm paketlerin geçmesine izin veren bir güvenlik duvarı kuralı oluşturur (örneğin 20, 53 ve 67 gibi), nmap'e paketlerimizi bu bağlantı noktalarından göndermesini söyleyebiliriz: nmap --source-port 53 Ip

Çıktılar

-oN dosya Normal çıktı

-oX dosya XML çıktısı

-oS dosya Script kidies çıktısı

-oG dosya Grepable çıktı

-oA dosya -oS hariç tüm çıktılar

-v seviye ayrıntı seviyesi

-d seviye hata ayıklama

--reason Host ve durumun nedeni

--stats-every zaman Belirli aralıklarla durumu bildirir

--packet-trace Gönderilen paketleri görmek için filtreler belirtilebilir: --version-trace veya --script-trace

--open Açık, açık|filtrelenen ve filtrelenmeyenleri gösterir

--resume dosya Özet çıkarır

Çeşitli

-6 Ipv6'ya izin verir

-A -O -sV -sC --traceroute ile aynıdır

Çalışma süresi

Nmap çalışırken seçenekleri değiştirebiliriz:

v / V Ayrıntı seviyesini artır / azalt

d / D Hata ayıklama seviyesini artır / azalt

p / P Paket izlemeyi aç / kapat

? Çalışma zamanı etkileşim yardım ekranını yazdır

Vulscan

Nmap betiği, alınan hizmet sürümlerini çevrimdışı bir veritabanında (diğer önemli veritabanlarından indirilen) inceleyen ve olası zayıflıkları döndüren bir betiktir

Kullandığı veritabanları:

  1. Securitytracker.csv | http://www.securitytracker.com

Nmap klasörüne indirip kurmak için:

wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar -czvf nmap_nse_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/

Ayrıca, veritabanlarından paketleri indirmek ve /usr/share/nmap/scripts/vulscan/ klasörüne eklemek gerekecektir

Kullanım:

Hepsini kullanmak için: sudo nmap -sV --script=vulscan TARAMA_EDILEN_HOST

Belirli bir veritabanını kullanmak için: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv TARAMA_EDILEN_HOST

Nmap Hizmet taramasını x16 hızlandırma

Bu gönderiye göre, nmap hizmet analizini /usr/share/nmap/nmap-service-probes dosyasındaki tüm totalwaitms değerlerini 300 ve tcpwrappedms değerini 200 olarak değiştirerek hızlandırabilirsiniz.

Ayrıca, özellikle tanımlanmamış servicewaitms değerine sahip probeler varsayılan olarak 5000 değerini kullanır. Bu nedenle, her bir probeye değer ekleyebiliriz veya nmap'i kendimiz derleyerek service_scan.h dosyasındaki varsayılan değeri değiştirebiliriz.

Eğer totalwaitms ve tcpwrappedms değerlerini hiç değiştirmek istemiyorsanız, /usr/share/nmap/nmap-service-probes dosyasındaki bu değerlerin tamamen yok sayılmasını sağlayacak şekilde ayıklama kodunu düzenleyebilirsiniz.

Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert) ile

HackTricks'i desteklemenin diğer yolları:

Last updated