-sL(Scanare listă)

Scanarea listă este o formă degenerată de descoperire a gazdelor care listează pur și simplu fiecare gazdă din rețeaua (rețelele) specificată(e), fără a trimite pachete către gazdele țintă. În mod implicit, Nmap face în continuare rezoluția reverse-DNS pe gazde pentru a afla numele acestora. Este adesea surprinzător cât de multe informații utile oferă simplele nume de gazde. De exemplu, fw.chi este numele firewall-ului unei companii din Chicago. Nmap raportează, de asemenea, numărul total de adrese IP la sfârșit. Scanarea listei este o bună verificare a corectitudinii pentru a vă asigura că aveți adrese IP adecvate pentru țintele dumneavoastră. Dacă gazdele au nume de domenii sportive pe care nu le recunoașteți, merită să investigați în continuare pentru a preveni scanarea rețelei unei companii greșite.

Din moment ce ideea este de a imprima pur și simplu o listă de gazde țintă, opțiunile pentru funcționalități de nivel superior, cum ar fi scanarea porturilor, detectarea sistemului de operare sau descoperirea gazdelor, nu pot fi combinate cu aceasta. Dacă doriți să dezactivați descoperirea gazdelor în timp ce efectuați în continuare astfel de funcționalități de nivel superior, citiți despre opțiunea -Pn (skip host discovery).

-sn(No port scan)

Această opțiune îi spune lui Nmap să nu efectueze o scanare a porturilor după descoperirea gazdelor și să tipărească doar gazdele disponibile care au răspuns la sondele de descoperire a gazdelor. Acest lucru este adesea cunoscut sub numele de „scanare ping”, dar puteți solicita, de asemenea, să fie rulate scripturile traceroute și NSE host. În mod implicit, acest lucru este cu un pas mai intruziv decât scanarea listei și poate fi adesea utilizat în aceleași scopuri. Permite o recunoaștere ușoară a unei rețele țintă fără să atragă prea multă atenție. Faptul de a ști câte gazde sunt active este mai valoros pentru atacatori decât lista furnizată de scanarea listei cu fiecare IP și nume de gazdă în parte.

Administratorii de sisteme consideră adesea că această opțiune este, de asemenea, valoroasă. Ea poate fi utilizată cu ușurință pentru a număra mașinile disponibile într-o rețea sau pentru a monitoriza disponibilitatea serverelor. Aceasta se numește adesea ping sweep și este mai fiabilă decât ping-ul adresei de difuzare, deoarece multe gazde nu răspund la interogările de difuzare.

Descoperirea implicită a gazdelor realizată cu -sn constă într-o cerere de ecou ICMP, TCP SYN la portul 443, TCP ACK la portul 80 și o cerere de timestamp ICMP în mod implicit. Atunci când este executat de un utilizator neprivilegiat, sunt trimise numai pachete SYN (utilizând un apel connect) către porturile 80 și 443 de pe țintă. Atunci când un utilizator privilegiat încearcă să scaneze ținte pe o rețea ethernet locală, se utilizează cereri ARP, cu excepția cazului în care s-a specificat --send-ip. Opțiunea -sn poate fi combinată cu oricare dintre tipurile de sonde de descoperire (opțiunile -P*) pentru o mai mare flexibilitate. Dacă se utilizează oricare dintre aceste opțiuni de tip de sondă și număr de port, sondele implicite sunt anulate. Atunci când există firewall-uri stricte între gazda sursă care execută Nmap și rețeaua țintă, se recomandă utilizarea acestor tehnici avansate. În caz contrar, gazdele ar putea fi ratate atunci când firewall-ul renunță la sonde sau la răspunsurile acestora.

În versiunile anterioare ale Nmap, -sn era cunoscut sub numele de -sP.

-Pn(No ping)

Această opțiune sare complet peste etapa de descoperire a gazdelor. În mod normal, Nmap folosește această etapă pentru a determina mașinile active pentru o scanare mai intensă și pentru a evalua viteza rețelei. În mod implicit, Nmap efectuează numai sondarea grea, cum ar fi scanarea porturilor, detectarea versiunilor sau detectarea sistemului de operare împotriva gazdelor care se constată că sunt active. Dezactivarea descoperirii gazdelor cu -Pn face ca Nmap să încerce funcțiile de scanare solicitate împotriva fiecărei adrese IP țintă specificate. Astfel, dacă în linia de comandă este specificată o rețea de dimensiune /16, sunt scanate toate cele 65.536 de adrese IP. Descoperirea corectă a gazdei este omisă ca și în cazul scanării listei, dar în loc să se oprească și să tipărească lista de ținte, Nmap continuă să execute funcțiile solicitate ca și cum fiecare IP țintă ar fi activ. Sunt utilizați parametrii de temporizare impliciți, ceea ce poate duce la scanări mai lente. Pentru a sări peste descoperirea gazdelor și scanarea porturilor, permițând în același timp ca NSE să ruleze, utilizați cele două opțiuni -Pn -sn împreună.

Pentru mașinile dintr-o rețea ethernet locală, se va efectua în continuare scanarea ARP (dacă nu se specifică --disable-arp-ping sau --send-ip), deoarece Nmap are nevoie de adrese MAC pentru a scana în continuare gazdele țintă. În versiunile anterioare ale Nmap, -Pn era -P0 și -PN. -PS <port list> (TCP SYN Ping)

Această opțiune trimite un pachet TCP gol cu steagul SYN setat. Portul de destinație implicit este 80 (configurabil în momentul compilării prin modificarea DEFAULT_TCP_PROBE_PORT_SPEC în nmap.h). Porturile alternative pot fi specificate ca parametru. Sintaxa este aceeași ca pentru -p, cu excepția faptului că nu sunt permiși specificatori de tip de port precum T:. Exemplele sunt -PS22 și -PS22-25,80,113,1050,35000. Rețineți că nu poate exista niciun spațiu între -PS și lista de porturi. Dacă sunt specificate mai multe sonde, acestea vor fi trimise în paralel.

Semnalizatorul SYN sugerează sistemului la distanță că încercați să stabiliți o conexiune. În mod normal, portul de destinație va fi închis, iar un pachet RST (reset) va fi trimis înapoi. Dacă se întâmplă ca portul să fie deschis, ținta va parcurge al doilea pas al unui TCP three-way-handshake, răspunzând cu un pachet TCP SYN/ACK. Mașina pe care rulează Nmap rupe apoi conexiunea incipientă, răspunzând cu un RST, în loc să trimită un pachet ACK, care ar fi completat schimbul de mână în trei direcții și ar fi stabilit o conexiune completă. Pachetul RST este trimis de kernelul mașinii care rulează Nmap ca răspuns la SYN/ACK neașteptat, nu de Nmap însuși.

Nmap nu-i pasă dacă portul este deschis sau închis. Fie răspunsul RST, fie răspunsul SYN/ACK discutat anterior îi spune lui Nmap că gazda este disponibilă și receptivă.

Pe cutii Unix, numai utilizatorul privilegiat root este în general capabil să trimită și să primească pachete TCP brute. Pentru utilizatorii neprivilegiați, se folosește automat o soluție de rezolvare prin care apelul de sistem connect este inițiat împotriva fiecărui port țintă. Acest lucru are ca efect trimiterea unui pachet SYN către gazda țintă, în încercarea de a stabili o conexiune. Dacă connect se întoarce cu un succes rapid sau cu un eșec ECONNREFUSED, stiva TCP subiacentă trebuie să fi primit un SYN/ACK sau RST, iar gazda este marcată ca fiind disponibilă. În cazul în care încercarea de conectare este lăsată în așteptare până când este atins un timeout, gazda este marcată ca fiind inactivă. -PA <port list> (TCP ACK Ping)

Pingul TCP ACK este destul de asemănător cu ping-ul SYN despre care tocmai s-a discutat. Diferența, după cum probabil ați putut ghici, este că este setat steagul TCP ACK în loc de steagul SYN. Un astfel de pachet ACK pretinde că recunoaște datele printr-o conexiune TCP stabilită, dar o astfel de conexiune nu există. Așadar, gazdele la distanță ar trebui să răspundă întotdeauna cu un pachet RST, dezvăluindu-și existența în acest proces.

Opțiunea -PA utilizează același port implicit ca și sonda SYN (80) și poate primi, de asemenea, o listă de porturi de destinație în același format. Dacă un utilizator neprivilegiat încearcă acest lucru, se folosește soluția de rezolvare connect discutată anterior. Această soluție de rezolvare este imperfectă deoarece connect trimite de fapt un pachet SYN și nu un ACK.

Motivul pentru care se oferă atât sonde ping SYN cât și ACK este acela de a maximiza șansele de a ocoli firewall-urile. Mulți administratori configurează routerele și alte firewall-uri simple pentru a bloca pachetele SYN primite, cu excepția celor destinate serviciilor publice, cum ar fi site-ul web al companiei sau serverul de e-mail. Acest lucru împiedică alte conexiuni de intrare în organizație, permițând în același timp utilizatorilor să facă conexiuni de ieșire fără obstacole către internet. Această abordare non-staful ocupă puține resurse pe firewall/router și este susținută pe scară largă de filtrele hardware și software. Software-ul Linux Netfilter/iptables firewall oferă opțiunea de confort --syn pentru a implementa această abordare fără stare. Atunci când sunt implementate astfel de reguli de firewall fără stare, este posibil ca sondele SYN ping (-PS) să fie blocate atunci când sunt trimise către porturi țintă închise. În astfel de cazuri, sonda ACK strălucește, deoarece trece direct prin aceste reguli.

Un alt tip comun de firewall utilizează reguli cu stare care elimină pachetele neașteptate. Această caracteristică a fost inițial întâlnită mai ales pe firewall-urile high-end, deși a devenit mult mai comună de-a lungul anilor. Sistemul Linux Netfilter/iptables suportă acest lucru prin opțiunea --state, care clasifică pachetele în funcție de starea conexiunii. O sondă SYN are mai multe șanse să funcționeze împotriva unui astfel de sistem, deoarece pachetele ACK neașteptate sunt în general recunoscute ca fiind false și eliminate. O soluție la această dilemă este de a trimite atât sonde SYN, cât și ACK prin specificarea -PS și -PA.

-PU <port list>(UDP Ping)

O altă opțiune de descoperire a gazdelor este UDP ping, care trimite un pachet UDP către porturile date. Pentru majoritatea porturilor, pachetul va fi gol, deși unele utilizează o încărcătură utilă specifică protocolului, care are mai multe șanse de a obține un răspuns. consultați secțiunea intitulată „UDP payloads”: nmap-payloads” pentru o descriere a bazei de date a încărcăturilor utile.Conținutul pachetului poate fi, de asemenea, afectat cu opțiunile --data,--data-string și --data-length.

Lista de porturi are același format ca și în cazul opțiunilor -PS și -PA discutate anterior. Dacă nu se specifică niciun port, valoarea implicită este 40125. Această valoare implicită poate fi configurată la compilare prin modificarea DEFAULT_UDP_PROBE_PORT_SPEC în nmap.h. Un port extrem de neobișnuit este utilizat în mod implicit deoarece trimiterea către porturi deschise este adesea nedorită pentru acest tip special de scanare.

La atingerea unui port închis pe mașina țintă, sonda UDP ar trebui să provoace în schimb un pachet ICMP port unreachable. Acest lucru semnifică pentru Nmap că mașina este funcțională și disponibilă. Multe alte tipuri de erori ICMP, cum ar fi host/network unreachables sau TTL exceeded, indică o gazdă căzută sau inaccesibilă. O lipsă de răspuns este, de asemenea, interpretată în acest fel. În cazul în care este atins un port deschis, majoritatea serviciilor ignoră pur și simplu pachetul gol și nu returnează niciun răspuns. Acesta este motivul pentru care portul de sondă implicit este 40125, care este foarte puțin probabil să fie utilizat. Câteva servicii, cum ar fi protocolul Character Generator (chargen), vor răspunde la un pachet UDP gol și, astfel, îi vor dezvălui lui Nmap că mașina este disponibilă.

Avantajul principal al acestui tip de scanare este că ocolește firewall-urile și filtrele care filtrează doar TCP. De exemplu, am deținut cândva un router wireless în bandă largă Linksys BEFW11S4. Interfața externă a acestui dispozitiv filtra toate porturile TCP în mod implicit, dar sondele UDP ar fi generat în continuare mesaje de tip port unreachable și, astfel, ar fi dat de gol dispozitivul.

-PY <port list>(SCTP INIT Ping)

Această opțiune trimite un pachet SCTP care conține un chunk INIT minim. Portul de destinație implicit este 80 (configurabil în momentul compilării prin modificarea DEFAULT_SCTP_PROBE_PORT_SPEC în nmap.h). Porturile alternative pot fi specificate ca parametru. Sintaxa este aceeași ca și pentru -p, cu excepția faptului că nu sunt permiși specificatori de tip de port precum S:. Exemple sunt -PY22 și -PY22,80,179,5060. Rețineți că nu poate exista niciun spațiu între -PY și lista de porturi. Dacă sunt specificate mai multe sonde, acestea vor fi trimise în paralel.

Chunk-ul INIT sugerează sistemului la distanță că încercați să stabiliți o asociere. În mod normal, portul de destinație va fi închis, iar un chunk ABORT va fi trimis înapoi. Dacă se întâmplă ca portul să fie deschis, ținta va parcurge al doilea pas al unui SCTP four-way-handshake, răspunzând cu un chunk INIT-ACK. În cazul în care mașina care rulează Nmap are o stivă SCTP funcțională, atunci aceasta distruge asocierea în curs de formare, răspunzând cu un chunk ABORT, în loc să trimită un chunk COOKIE-ECHO, care ar fi fost următorul pas în cadrul unui four-way-handshake. Pachetul ABORT este trimis de kernelul mașinii care rulează Nmap ca răspuns la INIT-ACK neașteptat, nu de Nmap însuși.

Nmap nu-i pasă dacă portul este deschis sau închis. Fie răspunsul ABORT sau INIT-ACK discutat anterior îi spune lui Nmap că gazda este disponibilă și receptivă.

Pe cutii Unix, numai utilizatorul privilegiat root este în general capabil să trimită și să primească pachete SCTP brute. Utilizarea SCTP INIT Pings SCTP nu este în prezent posibilă pentru utilizatorii neprivilegiați. -PE; -PP; -PM (Tipuri de ping ICMP)

În plus față de tipurile neobișnuite de descoperire a gazdelor TCP, UDP și SCTP discutate anterior, Nmap poate trimite pachetele standard trimise de omniprezentul program ping. Nmap trimite un pachet ICMP de tip 8 (echo request) la adresele IP țintă, așteptând un răspuns de tip 0 (echo reply) în schimb de la gazdele disponibile. Din nefericire pentru exploratorii de rețele, multe gazde și firewall-uri blochează acum aceste pachete, în loc să răspundă așa cum prevede RFC 1122. Din acest motiv, scanările numai prin ICMP sunt rareori suficient de fiabile împotriva țintelor necunoscute de pe internet. Dar pentru administratorii de sistem care monitorizează o rețea internă, acestea pot fi o abordare practică și eficientă. Utilizați opțiunea -PE pentru a activa acest comportament de solicitare de ecou.

În timp ce solicitarea de ecou este interogarea standard ICMP ping, Nmap nu se oprește aici. Standardele ICMP (RFC 792 și RFC 950 ) specifică, de asemenea, pachetele timestamp request, information request și address mask request ca fiind codurile 13, 15 și, respectiv, 17. Deși scopul aparent al acestor interogări este de a afla informații precum măștile de adrese și orele curente, acestea pot fi utilizate cu ușurință pentru descoperirea de gazde. Un sistem care răspunde este activ și disponibil. Nmap nu implementează în prezent pachete de cerere de informații, deoarece acestea nu sunt acceptate la scară largă. RFC 1122 insistă asupra faptului că „o gazdă NU TREBUIE să implementeze aceste mesaje”. Cererile de tip „timestamp” și „address mask” pot fi trimise cu opțiunile -PP și, respectiv, -PM. Un răspuns la timestamp (ICMP cod 14) sau un răspuns la masca de adresă (cod 18) dezvăluie faptul că gazda este disponibilă. Aceste două interogări pot fi valoroase atunci când administratorii blochează în mod specific pachetele de cerere de ecou, uitând în același timp că alte interogări ICMP pot fi utilizate în același scop.

-PO <protocol list>(IP Protocol Ping)

Una dintre cele mai noi opțiuni de descoperire a gazdelor este protocolul IP ping, care trimite pachete IP cu numărul de protocol specificat setat în antetul lor IP. Lista de protocoale are același format ca și listele de porturi din opțiunile de descoperire a gazdelor TCP, UDP și SCTP discutate anterior. Dacă nu se specifică niciun protocol, în mod implicit se trimit mai multe pachete IP pentru ICMP (protocolul 1), IGMP (protocolul 2) și IP-in-IP (protocolul 4). Protocoalele implicite pot fi configurate la compilare prin modificarea DEFAULT_PROTO_PROBE_PORT_SPEC în nmap.h. Rețineți că pentru ICMP, IGMP, TCP (protocolul 6), UDP (protocolul 17) și SCTP (protocolul 132), pachetele sunt trimise cu antetele de protocol corespunzătoare, în timp ce alte protocoale sunt trimise fără date suplimentare în afara antetului IP (cu excepția cazului în care se specifică oricare dintre opțiunile --data, --data-string sau --data-length).

Această metodă de descoperire a gazdelor caută fie răspunsuri care utilizează același protocol ca o sondă, fie mesaje ICMP protocol unreachable, care semnifică faptul că protocolul dat nu este suportat de gazda de destinație. Oricare dintre cele două tipuri de răspuns semnifică faptul că gazda țintă este în viață.

--disable-arp-ping(No ARP or ND Ping)

Nmap efectuează în mod normal descoperirea ARP sau IPv6 Neighbor Discovery (ND) a gazdelor ethernet conectate local, chiar dacă se utilizează alte opțiuni de descoperire a gazdelor, cum ar fi -Pn sau -PE. Pentru a dezactiva acest comportament implicit, utilizați opțiunea --disable-arp-ping.

Comportamentul implicit este în mod normal mai rapid, dar această opțiune este utilă în rețelele care utilizează proxy ARP, în care un router răspunde speculativ la toate solicitările ARP, făcând ca fiecare țintă să pară că este activă conform scanării ARP.

--discovery-ignore-rst

În unele cazuri, firewall-urile pot falsifica răspunsurile de resetare TCP (RST) ca răspuns la sondele către adrese neocupate sau nepermise. Deoarece Nmap consideră în mod normal răspunsurile RST ca fiind o dovadă că ținta este în funcțiune, acest lucru poate duce la pierderi de timp pentru scanarea unor ținte care nu există. Utilizarea --discovery-ignore-rst va împiedica Nmap să ia în considerare aceste răspunsuri în timpul descoperirii gazdei. Este posibil să fie nevoie să selectați opțiuni suplimentare de descoperire a gazdelor pentru a vă asigura că nu ratați ținte în acest caz.

--traceroute(Trace path to host)

Tracerouturile sunt efectuate după scanare, folosind informații din rezultatele scanării pentru a determina portul și protocolul cel mai probabil pentru a ajunge la țintă. Funcționează cu toate tipurile de scanare, cu excepția scanărilor de conectare (-sT) și a scanărilor în inactivitate (-sI). Toate traseele utilizează modelul dinamic de sincronizare al Nmap și sunt efectuate în paralel.

Traceroute funcționează prin trimiterea de pachete cu un TTL (time-to-live) scăzut în încercarea de a obține mesaje ICMP Time Exceeded de la salturi intermediare între scaner și gazda țintă. Implementările standard de traceroute încep cu un TTL de 1 și măresc TTL-ul până când se ajunge la gazda de destinație. Traceroute de la Nmap începe cu un TTL ridicat și apoi descrește TTL până când ajunge la zero. Procedând invers îi permite lui Nmap să folosească algoritmi inteligenți de caching pentru a accelera urmărirea pe mai multe gazde. În medie, Nmap trimite cu 5-10 pachete mai puține pe gazdă, în funcție de condițiile de rețea. Dacă se scanează o singură subrețea (de exemplu, 192.168.0.0/24), este posibil ca Nmap să fie nevoit să trimită doar două pachete către majoritatea gazdelor.

-n(No DNS resolution)

Îi spune lui Nmap să nu facă niciodată rezoluția DNS inversă pe adresele IP active pe care le găsește. Având în vedere că DNS poate fi lent chiar și cu rezolvatorul paralel stub încorporat de Nmap, această opțiune poate reduce drastic timpii de scanare.

-R(Rezoluție DNS pentru toate țintele)

Directează Nmap să facă întotdeauna rezoluția DNS inversă pe adresele IP țintă. În mod normal, DNS inversat se efectuează numai împotriva gazdelor receptive (online).

--resolve-all(Scan each resolved address)

Dacă o țintă de nume de gazdă se rezolvă la mai multe adrese, scanați-le pe toate. Comportamentul implicit este de a scana numai prima adresă rezolvată. În orice caz, vor fi scanate numai adresele din familia de adrese corespunzătoare: IPv4 în mod implicit, IPv6 cu -6. --system-dns (Use system DNS resolver)

În mod implicit, Nmap rezolvă invers adresele IP trimițând interogări direct la serverele de nume configurate pe gazda dvs. și apoi ascultând răspunsurile. Mai multe cereri (adesea zeci) sunt efectuate în paralel pentru a îmbunătăți performanța. Specificați această opțiune pentru a utiliza în schimb rezolvatorul dvs. de sistem (câte un IP pe rând prin intermediul apelului getnameinfo). Această opțiune este mai lentă și rareori utilă, cu excepția cazului în care găsiți un bug în rezolvatorul paralel Nmap (vă rugăm să ne anunțați dacă găsiți unul). Rezolvatorul de sistem este întotdeauna utilizat pentru căutări directe (obținerea unei adrese IP de la un nume de gazdă).

--dns-servers <server1>] (Servere de utilizat pentru interogări DNS inversate)

În mod implicit, Nmap determină serverele DNS (pentru rezoluția rDNS) din fișierul resolv.conf (Unix) sau din Registru (Win32). Alternativ, puteți utiliza această opțiune pentru a specifica servere alternative. Această opțiune nu este onorată dacă utilizați --system-dns. Utilizarea mai multor servere DNS este adesea mai rapidă, în special dacă alegeți servere autoritare pentru spațiul IP țintă. Această opțiune poate îmbunătăți, de asemenea, furtișagul, deoarece cererile dvs. pot fi redirecționate către aproape orice server DNS recursiv de pe Internet.

Această opțiune este utilă și la scanarea rețelelor private. Uneori, doar câteva servere de nume furnizează informații rDNS corespunzătoare și este posibil să nu știți nici măcar unde se află acestea. Puteți scana rețeaua pentru portul 53 (poate cu detectarea versiunii), apoi puteți încerca scanări de listă Nmap (-sL) specificând fiecare server de nume pe rând cu --dns-servers până când găsiți unul care funcționează.

Este posibil ca această opțiune să nu fie onorată dacă răspunsul DNS depășește dimensiunea unui pachet UDP. Într-o astfel de situație, rezolvatorul nostru DNS va face cel mai bun efort pentru a extrage un răspuns din pachetul trunchiat, iar dacă nu reușește, va reveni la utilizarea rezolvatorului de sistem. De asemenea, răspunsurile care conțin aliasuri CNAME vor reveni la rezolvarea sistemului.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.