Ghid de referinta Nmap (Pagina Man)nmap1NmapGhid de referinta NmapnmapInstrument de explorare a retelei si scaner de securitate /
porturinmapTip de scanareOptiunispecificarea tinteiDescriere
Acest document descrie versiunea Nmap 3.95. Cea mai recentă
documentație este disponibilă în limba engleză la
.Nmap (
Network Mapper) este un instrument open source pentru
explorarea retelei si audit de securitate A fost proiectat sa scaneze
repede retele mari, cu toate ca functioneaza bine si la scanarea unui
singur host. Nmap foloseste pachete IP in forma bruta intr-un mod
inovator pentru a determina ce calculatoare sunt disponibile in retea, ce
servicii (numele aplicatiei si versiunea) ofera acestea, ce sistem de
operare (si versiune) ruleaza, ce tipuri de filtre de pachete/firewall
sunt utilizate si o multime de alte caracteristici. Nmap este folosit in
mod curent in procesul de audit al securitatii, dar este folosit si de
administratorii de retea pentru rutinele de inventariere a retelei,
managementul upgradeurilor si monitorizarea calculatoarelor sau a
perioadelor de uptime pentru servicii.Rezultatul generat de Nmap este o lista de tinte scanate, cu
informatii secventiale despre fiecare in functie de optiunile utilizate.
O parte cheie a informatiilor furnizate este
tabela de porturi interesante. Aceasta tabela contine
numarul portului si protocolul, numele serviciului si starea. Starea
poate fi
open (deschis),
filtered (filtrat),
closed (inchis), sau
unfiltered (nefiltrat). Deschis (open)
inseamna ca aplicatia de pe masina tinta asculta la portul respectiv,
asteptand conexiuni.
Filtered (filtrat)inseamna ca un
firewall, filtru sau alt obstacol in retea blocheaza respectivul port
astfel incat Nmap nu poate spune daca este
deschissau
inchis. Porturile
inchisenu au nici o aplicatie care sa
astepte conexiuni, cu toate ca ele se pot deschide in orice moment.
Porturile sunt clasificate ca
nefiltratecand ele raspund la probele
Nmap, dar Nmap nu poate determina daca sunt inchise sau deschise. Nmap
raporteaza combinatia de stari
open|filtered (deschis|filtrat)si
closed|filtered (inchis|filtrat)cand
nu poate determina care din cele doua stari este cea corecta. Tabela de
porturi mai poate include versiuni ale softwareului cand detectia
versiunii a fost solicitata. Cand un protocol de scanare IP este
solicitat (
), Nmap furnizeaza informatii despre protocoalele IP
suportate in locul listei de porturi.In plus fata de lista de porturi interesante, Nmap poate furniza si
alte informatii despre tinte, incluzand aici nume obtinute prin reverse
DNS, poate ghici sistemul de operare, tipul hardwareului si adresele
MAC.O scanare tipica cu Nmap este exemplificata in
. Singurele argumente folosite in
aceste exemplu sunt
, pentru a activa detectia versiunii si a sistemului
de operare,
pentru executia mai rapida a scanarii, si apoi
specificatiile pentru cele doua tinte.O scanare reprezentativa cu Nmap# nmap -A -T4 scanme.nmap.org playground
Starting nmap ( https://nmap.org/ ) Interesting ports on
scanme.nmap.org (205.217.153.62): (The 1663 ports scanned but not shown
below are in state: filtered) PORT STATE SERVICE VERSION 22/tcp open
ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed
gopher 80/tcp open http Apache httpd 2.0.52 ((Fedora)) 113/tcp closed
auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS
details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Uptime 33.908 days
(since Thu Jul 21 03:38:03 2005) Interesting ports on
playground.nmap.org (192.168.0.40): (The 1659 ports scanned but not
shown below are in state: closed) PORT STATE SERVICE VERSION 135/tcp
open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open
ldap? 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http
RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) 5900/tcp open vnc
VNC (protocol 3.8) MAC Address: 00:A0:CC:63:85:4B (Lite-on
Communications) Device type: general purpose Running: Microsoft Windows
NT/2K/XP OS details: Microsoft Windows XP Pro RC1+ through final
release Service Info: OSs: Windows, Windows XP Nmap finished: 2 IP
addresses (2 hosts up) scanned in 88.392 secondsCea mai noua versiune de Nmap poate fi obtinuta de la
. Cea mai noua
versiune a paginii man poate fi vizualizata la
.TraducereAceasta editie inlimba romana a Ghidului de referinta Nmap a fost
tradus din versiunea 2991 a textului original aflat la
original English
versionde Dan Catalin Vasile
danvasile@danvasile.com. Traducerea a fost facuta cu scopul
de a asigura o intelegere mai buna a functionalitatilor Nmap intai pentru
autor si mai apoi pentru toti vorbitorii nativi de limba romana. Autorul
traducerii nu va poate garanta faptul ca traducerea este la fel de
completa cu versiunea actualizata in limba engleza. Acest produs poate fi
modificat si redistribuit in conditiile stipulate de
Creative Commons
Attribution License.
Sumarul OptiunilorAcest sumar al optiunilor este printat cand Nmap este rulat fara
nici un argument si ultima versiune este disponibila la
.
Ajuta oamenii sa isi aduca aminte de cele mai comune optiuni, dar nu
reprezinta un substitut pentru documentatia in profunzime din restul
acestui manual. Unele optiuni obscure nici nu sunt incluse aici.Usage: nmap [Scan
Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can
pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org,
microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL
<inputfilename>: Input from list of hosts/networks -iR <num
hosts>: Choose random targets --exclude
<host1[,host2][,host3],...>: Exclude hosts/networks --excludefile
<exclude_file>: Exclude list from file HOST DISCOVERY: -sL: List
Scan - simply list targets to scan -sP: Ping Scan - go no further than
determining if host is online -P0: Treat all hosts as online -- skip
host discovery -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to
given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request
discovery probes -n/-R: Never do DNS resolution/Always resolve
[default: sometimes] SCAN TECHNIQUES: -sS/sT/sA/sW/sM: TCP
SYN/Connect()/ACK/Window/Maimon scans -sN/sF/sX: TCP Null, FIN, and
Xmas scans --scanflags <flags>: Customize TCP scan flags -sI
<zombie host[:probeport]>: Idlescan -sO: IP protocol scan -b
<ftp relay host>: FTP bounce scan PORT SPECIFICATION AND SCAN
ORDER: -p <port ranges>: Only scan specified ports Ex: -p22;
-p1-65535; -p U:53,111,137,T:21-25,80,139,8080 -F: Fast - Scan only the
ports listed in the nmap-services file) -r: Scan ports sequentially -
don't randomize SERVICE/VERSION DETECTION: -sV: Probe open ports to
determine service/version info --version-light: Limit to most likely
probes for faster identification --version-all: Try every single probe
for version detection --version-trace: Show detailed version scan
activity (for debugging) OS DETECTION: -O: Enable OS detection
--osscan-limit: Limit OS detection to promising targets --osscan-guess:
Guess OS more aggressively TIMING AND PERFORMANCE: -T[0-5]: Set timing
template (higher is faster) --min-hostgroup/max-hostgroup <size>:
Parallel host scan group sizes --min-parallelism/max-parallelism
<numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>:
Specifies probe round trip time. --host-timeout <msec>: Give up
on target after this long --scan-delay/--max-scan-delay <msec>:
Adjust delay between probes FIREWALL/IDS EVASION AND SPOOFING: -f;
--mtu <val>: fragment packets (optionally w/given MTU) -D
<decoy1,decoy2[,ME],...>: Cloak a scan with decoys -S
<IP_Address>: Spoof source address -e <iface>: Use
specified interface -g/--source-port <portnum>: Use given port
number --data-length <num>: Append random data to sent packets
--ttl <val>: Set IP time-to-live field --spoof-mac <mac
address/prefix/vendor name>: Spoof your MAC address OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt
kIddi3, and Grepable format, respectively, to the given filename. -oA
<basename>: Output in the three major formats at once -v:
Increase verbosity level (use twice for more effect) -d[level]: Set or
increase debugging level (Up to 9 is meaningful) --packet-trace: Show
all packets sent and received --iflist: Print host interfaces and
routes (for debugging) --append-output: Append to rather than clobber
specified output files --resume <filename>: Resume an aborted
scan --stylesheet <path/URL>: XSL stylesheet to transform XML
output to HTML --webxml: Reference stylesheet from Insecure.Org for
more portable XML --no-stylesheet: Prevent associating of XSL
stylesheet w/XML output MISC: -6: Enable IPv6 scanning -A: Enables OS
detection and Version detection --datadir <dirname>: Specify
custom Nmap data file location --send-eth/--send-ip: Send using raw
ethernet frames or IP packets --privileged: Assume that the user is
fully privileged -V: Print version number -h: Print this help summary
page. EXAMPLES: nmap -v -A scanme.nmap.org nmap -v -sP 192.168.0.0/16
10.0.0.0/8 nmap -v -iR 10000 -P0 -p 80Specificarea tintelorTot ceea ce in lina de comanda a Nmap nu este optiune (sau argument
al unei optiuni) este tratat ca specificare a unei tinte. Cel mai simplu
caz este specificarea adresei IP sau a numelui calculatorului ce urmeaza
a fi scanat.Cateodata se doreste scanarea unei intregi retele pentru
calculatoare adiacente. Pentru asta, Nmap suporta stilul de adresare
CIDR. Se poate adauga /
numarul de bitila o adresa IP sau nume si Nmap
va scana toate adresele IP pentru care primii
bitisunt aceeasi cu IP sau numele de
referinta. De exemplu, 192.168.10.0/24 va scana cele 256 de calculatoare
intre 192.168.10.0 (binar:
11000000 10101000 00001010 00000000)
si 192.168.10.255 (binar:
11000000 10101000 00001010 11111111),
inclusiv. 192.168.10.40/24 va realiza exact acelasi lucru. Dat fiind
numele scanme.nmap.org cu adresa IP 205.217.153.62, specificatia
scanme.nmap.org/16 va scana cele 65.536 adrese IP intre 205.217.0.0 si
205.217.255.255. Cea mai mica valoare permisa este /1, care va scana
jumatate de Internet. Cea mai mare este 32, care va scana doar
calculatorul specificat prin nume sau IP deoarece toti bitii sunt
fixati.Natatia CIDR este scurta dar nu intotdeauna suficient de flexibila.
De exemplu, puteti dori scanarea 192.168.0.0/16 dar fara adresele care se
termina in .0 sau .255, deoarece ele sunt in general adrese de broadcast.
Nmap suporta acest lucru prin adresarea unei anumite limite pentru
fiecare octet in parte. In locul specificarii adresei IP normale, puteti
specifica o lista de numere separate prin virgula sau un domeniu pentru
fiecare octet. De exemplu, 192.168.0-255.1-254 va sari toate adresele din
acest domeniu care se termina in .0 si .255. Domeniile nu se limiteaza la
ultimii octeti: specificatorul 0-255.0-255.13.37 va scana Internetul dupa
toate IPurile care se termina in .13.37. Acest tip de scanare poate fi
folositor pentru inspectarea si cercetarea Internetului.Adresele IPv6 pot fi specificate doar prin adresa completa sau
nume. CIDR si domeniile pe octeti nu sunt suportate pentru IPv6 deoarece
sunt rareori folositoare.Nmap accepta specificarea mai multor adrese in linia de comanda si
nici nu este necesar ca ele sa fie de acelasi tip. Comnda
nmapscanme.nmap.org 192.168.0.0/8
10.0.0,1,3-7.0-255realizeaza exact ceea ce asteptati.Desi tintele sunt specificate in mod uzual in linia de comanda,
exista si urmatoarele optiuni pentru selectia tintelor
(Preluare dintr-un
fisier)Citeste specificarile tintelor din
fisierdeintrare. Preluarea unei liste
mari de calculatoare este un lucru greu de facut din linia de
comanda, desi acest lucru este de preferat. De exemplu, serverul
DHCP poate exporta o lista de 10.000 de IP pe care le-a atribuit si
pe care noi dorim sa le scanam. Sau poate dorim sa scanam toate
adresele
cu exceptiacelor generate de DHCP pentru a
monitoriza adresele statice neautorizate. Generati lista de IPuri
si plasati numele fisierului ca argument al optiunii
Intrarile din fisier pot fi in orice format
acceptat de Nmap in linia d ecomanda (adrese IP, nume, CIDR, IPv6
sau domenii pe octeti). Fiecare intrare trebuie separata prin unul
sau mai multe spatii libere sau prin linie noua. Puteti specifica
caracterul
-ca nume de fisier daca vreti ca
Nmap sa citeasca de la intrarea standard in locul unui
fisier.
(Alegere de tinte
aleatoare)Pentru sondaje asupra Internetului sau alte cercetari, puteti
alege tinte aleator.
Numarul de tintecomunica Nmapului cate
tinte aleatoare sa genereze. Adrese nedorite cum ar fi IPurile
private, cele de multicast sau cele nealocate sunt sarite in mod
automat la generarea listei. Argumentul
0poate specifica o scanare fara
sfarsit. Tineti minte ca unii administratori de retea sunt
deranjati de scanarile neautorizate asupra retelei lor si pot
depune plangeri. Folositi aceasta optiune asumandu-va riscurile!
Daca sunteti cu adevarat plictisit intr-o dupa-amiaza ploioasa
incercati comanda
nmap -sS -PS80 -iR 0 -p 80pentru
a localiza aleator servere care gazduiesc pagini web si incepeti sa
faceti brosing.
(Se exclud
de la scanare calculatoarele/retelele specificate ca argument)Specifica o lista separata prin virgula de tinte excluse de
la scanare chiar daca ele se afla in domeniul specificat. Lista
foloseste sintaxa normala a Nmap, asa ca poate include nume,
specificatori CIDR, domenii pe octeti, etc. Aceasta optiune poate
fi folositoare cand reteaua pe care dorim sa o scanam include
servere ce ruleaza aplicatii critice, sisteme care reactioneaza la
scanari sau subretele administrate de alte persoane.
(Lista de
excludere dintr-un fisier)Aceasta ofera aceeasi functionalitate ca si optiunea
, cu exceptia ca ca tintele excluse sunt
furnizate intr-un format delimitat prin linie noua, spatiu sau tab
din
fisierul_de_excluderein loc sa fie
furnizate din linia de comanda.Descoperirea hosturilorNota: Vom imprumuta din limba engleza termenul de host. Acesta se
refera la orice element din retea care comunica sau poate comunica.
Aceste elemente pot fi statii de lucru, servere, routere, imprimante de
retea, etc. Unul din primii pasi ai descoperirii elementelor din retea
este reducerea numarului (adesea urias) de IP intr-o lista de hosturi
active sau interesante. Scanarea fiecarui port de pe fiecare IP este un
proces lent si de obicei inutil. Desigur, ce transforma un host intr-unul
interesant depinde in mare parte de scopul scanarii. Administratorii de
retea ar putea fi interesati doar de calculatoarele ce ruleaza anumite
servicii, in timp ce auditorii de securitate pot fi interesati de toate
elementele ce poseda o adresa IP. Unui administrator ii poate fi
suficient un simplu pachet ping ICMP pentru localizarea calculatoarelor
din reteaua interna, in timp ce un auditor extern poate folosi o
multitudine de probe in incercarea de a scapa de restrictiile
firewallului.Deoarece necesitatile in vederea descoperirii hosturilor sunt atat
de diverse , Nmap ofera o varietate mare de optiuni de personalizare a
tehnicilor folosite. Descoperirea hosturilor este adesea numita scanare
ping, dar trece cu mult de simplul stadiu al pachetelor ICMP care
solicita un raspuns asociate omniprezentului instrument
pingUtilizatorii pot sari de
pasul care implica pingul cu o scanare de tip lista (
) sau dezactivand pingul (
), sau angrenand alte combinatii arbitrare de probe
multiport TCP SYN/ACK, UDP si ICMP. Scopul acestor probe este sa solicite
raspunsuri care sa demonstreze daca o adresa IP este cu adevarat activa
(este folosita de un dispozitiv din retea). In multe retele, doar un mic
procentaj de adrese IP sunt active la un moment dat. Acest lucru este in
mod special adevarat intr-un spatiu de adrese rezervat conform
binecuvantatului RFC1918 cum ar fi 10.0.0.0/8. Aceasta retea are 16
milioane de IPuri, dar am vazut ca sunt folosite de companii cu mai putin
de o mie de calculatoare. Descoperirea hosturilor poate gasi acele masini
risipite in marea de adrese IP.Daca nu sunt furnizate optiuni de descoperire a hosturilor, Nmap
trimite un pachet TCP ACK destinat portului 80 si un pachet de interogare
ICMP cu solicitare de raspuns la fiecare masina tinta. O exceptie la
acestea este ca scanarea ARP este folosita pentru orice tinta dintr-o
retea locala. Pentru utilizatori neprivilegiati cu conturi shell pe
sisteme UNIX, sunt trimise pachete SYN in locul celor ack folosind apelul
de sistem
connect(). Aceste optiuni implicite
sunt echivalente cu
. Descoperirea hosturilor este de obicei
suficienta pentru scanarea retelelor locale, dar un set mult mai
cuprinzator de probe pentru descoperire este recomandat in auditul de
securitate.Optiunea
(care selecteaza tipul pingului) poate fi combinata.
Puteti mari sansele de penetrare a unor firewalluri stricte trimitand mai
multe probe folosind diferite porturi/flaguri (indicatori din pachetele)
TCP si coduri ICMP. Notati de asemenea ca descoperirea ARP (
) este executata implicit impotriva tintelor dintr-o
retea locala chiar daca specificati alta optiune
, deoarece este aproape intotdeauna mai rapida si mai
eficienta.Urmatoarele optiuni controleaza descoperirea hosturilor.
(Scanarea de tip lista)Scanarea de tip lista este o forma degenerata de descoperire
a hosturilor care listeaza fiecare host al retelei specificate,
fara a trimite nici un pachet tintelor. In mod implicit, Nmap
realizeaza totusi o rezolutie inversa DNS pentru a afla si numele
tintelor. Adesea este surprinzator cate informatii utile ne pot
oferi simplele nume ale hosturilor. De exemplu,
fw.chi.playboy.comeste
firewallul biroului din Chicago al Playboy Enterprises. Nmap
raporteaza numarul total de adrese IP la sfarsit. Scanarea de tip
lista este o buna verificare a faptului ca aveti adresele IP
corecte pentru tinte. Daca hosturile au nume pe care nu le
recunoasteti, este bine sa investigati in profunzime pentru a nu
scana reteaua unei alte companii.Din moment ce ideea este de afisa o lista cu tinte, optiunile
pentru un nivel mai inalt de functionalitate cum ar fi scanare de
porturi, detectia sistemului de operare sau scanarea ping nu pot fi
combinate cu aceasta. Daca doriti dezactivarea scanarea ping si in
acelasi timp sa executati tehnicile corespunzatoare nivelului inalt
de functionalitate, cititi paragraful destinat optiunii
.
(Scanare ping)Aceasta optiune spune Nmapului sa realizeze
numaio scanare ping (descoperirea hosturilor)
si apoi sa afiseze hosturile disponibile care raspund la scanare.
Nici un alt fel de test (cum ar fi scanarea de porturi sau detectia
sistemului de operare) nu va fi realizat. Acest pas este mai
intruziv decat scanarea de tip lista si poate fi folosita adesea in
acelasi scop. Permite o descoperire a tintelor din retea fara a
atrage prea mult atentia. Cunoscand cate hosturi sunt active este o
informatie mult mai valoroasa unui atacator decat simpla lista
furizata de scanarea de tip lista a fiecarei adrese IP si a numelor
hosturilor.Administratorii de sistem gasesc adesea aceasta optiune
pretioasa ca atare. Poate fi usor utilizat pentru numararea
masinilor disponibile intr-o retea sau pentru monitorizarea
disponibilitatii serverelor. Adesea este denumita maturare ping si
este mai de incredere decat pingul asupra adresei de broadcast
deoarece multe hosturi nu raspund la solicitarile de
broadcast.Optiunea
trimite un pachet ICMP cu solicitare de raspuns
si un pachet TCP la portul 80 in mod implicit. Cand se executa de
catre un utilizator neprivilegiat, un pachet SYN este trimis
(folosin apelul
connect()) la portul 80 al
tintei. Cand un utilizator privilegiat incearca sa scaneze tinte
dintr-o retea locala, solicitari ARP (
) sunt utilizate, doar daca
(adresa IP de expediere) a fost
specificat. Optiunea
poate fi combinata cu oricare dintre tipurile
de probe de descoperire (optiunile
, exluzand
) pentru o mai mare flexibilitate. Daca oricare
dintre tipurile de probe si optiuni de porturi sunt utilizate, se
renunta la probele implicite (ACK si ICMP cu solicitare de
raspuns). Cand firewalluri stricte sunt plasate intre calculatorul
sursa care ruleaza Nmap si reteaua tinta, folosirea acelor tehnici
avansate este recomandata. Altfel, hosturi pot ramane nedescoperite
cand firewallul executa comanda drop (pur si simplu ignora
pachetele) la probe sau la raspunsuri.
(Fara ping)Aceasta optiune sare complet peste faza de descoperire. In
mod normal, Nmap foloseste aceasta faza pentru a determina masinile
active pentru scanarea avansata. Implicit, Nmap realizeaza scanarea
avansata cum ar fi scanarea de porturi, detectia versiunii si a
sistemului de operare doar pentru hosturile gasite active.
Dezactivarea descoperirii hosturilor cu
face ca Nmap sa incerce tehnicile avansate de
scanare pentru
fiecareadresa IP specificata ca tinta. Asadar,
daca spatiul unei clase B (/16) este specificata in linia de
comanda, toate cele 65,536 de IP vor fi scanate cu tehnicile
avansate. Cel de-al doilea caracter din optiunea
este un zero si nu litera O. Descoperirea
obisnuita a hosturilor este sarita execucandu-se o scanare de tip
lista, dar in loc sa se opreasca si sa afiseze lista de tinte, Nmap
continua sa realizeze cererile din linia de comanda ca si cum
fiecare adresa IP ar fi activa.
(Ping TCP SYN)Aceasta optiune trimite un pachet TCP gol cu flagul SYN
setat. Portul de destinatie implicit este 80 (configurabil la
compilare prin schimbarea DEFAULT_TCP_PROBE_PORT in
nmap.h), dar un alt port poate
fi specificat ca parametru. Chiar o lista separata prin virgula de
porturi poate fi specificata (de exemplu
),caz in care probele
vor fi trimise la fiecare port in paralel.Flagul SYN sugereaza tintei ca dorim sa stabilim o conexiune.
In mod normal portul destinatie va fi inchis si un pachet RST (de
resetare) este trimis inapoi. Daca se intampla ca portul sa fie
deschis, tinta va face cel de-al doilea pas dintr-un
3-way-handshake (stabilirea unei conexiuni in trei pasi) raspunzand
cu un pachet TCP SYN/ACK. Masina care ruleaza nmap va inchide apoi
conexiunea raspunzand cu un pachet RST in loc sa trimita pachetul
ACK care ar completa 3-way-handshakeul si ar stabili o conexiune
completa. Pachetul RST este trimis de kernelul sistemului de
operare al masinii care ruleaza Nmap ca raspuns la pachetul SYN/ACK
neasteptat, si nu de catre Nmap ca atare.Nmapului nu ii pasa daca portul este deschis sau inchis. Fie
ca este RST sau SYN/ACK dupa cum s-a vazut anterior, raspunsul
anunta Nmapul ca hostul este activ si raspunde la probePe masinile UNIX, numai utilizatorii privilegiati
rootsunt capabili sa trimita si
sa primeasca pachete TCP in forma bruta. Pentru utilizatorii
neprivilegiati, un ocolis este automat pus in functiune si implica
apelul de sistem connect() initiat impotriva fiecarui port tinta.
Acesta are ca efect trimiterea unui pachet SYN catre tinta, intr-o
incercare de a stabili conexiunea. Daca connect() returneaza o
valoare care indica succesul operatiunii sau un raspuns
ECONNREFUSED (conexiune refuzata), inseamna ca nivelele inferioare
ale stivei TCP au primit un SYN/ACK sau RST iar hostul este marcat
ca fiind disponibil. Daca tentativa de conexiune este lasata sa
astepte un timp mai mare decat timeoutul (timpul maxim in care se
asteapta un raspuns), hostul este marcat ca indisponibil. Acest
ocolis este utilizat si pentru conexiunile IPv6, deoarece
constructia pachetelor brute IPv6 nu este inca suportata de
Nmap.
(Ping TCP ACK)Pingul TCP ACK este similar cu proaspat discutatul ping SYN.
Diferenta, dupa cum probabil ati ghicit, este ca flagul TCP ACK
este setat in locul celui SYN. Un astfel de pachet ACK pretinde ca
transporta date in cadrul unei conexiuni ACK deja stabilite, dar nu
exista nici o astfel de conexiune. Asadar tintele trebuie sa
raspunda intotdeauna cu un pachet RST, dezvaluindu-si existenta in
cadrul acestui proces.Optiunea
foloseste acelasi port implicit ca probele SYN
si de asemenea poate prelua o lista de porturi destinatie in
acelasi format. Daca un utilizator neprivilegiat incearca aceasta
optiune, sau o tinta IPv6 este specificata, ocolisul connect()
discutat anterior este utilizat. Acest ocolis este imperfect
deoarece connect() trimite de fapt un pachet SYN in locul unuia
ACK.Motivul oferirii ambelor probe de ping SYN si ACK este de a
maximiza sansele de trecere printr-un firewall. Multi
administratori configureaza routerele si alte firewalluri simple
pentru a bloca pachetele SYN cu exceptia acelora destinate
serviciilor publice cum ar fi serverul web sau serverul de mail al
companiei. Acest lucru previne realizarea altor conexiuni catre
reteaua organizatiei, in timp ce permite utilizatorilor sa
realizeze neobstructionati conexiuni catre Internet. Aceasta
abordare non-statefull sau stateless (nu se analizeaza ACK)
utilizeaza putine resurse ale firewallului sau routerului si este
suportata intr-un procent mare de filtrele hardware sau software.
Firewallul software din Linux Netfilter/iptables ofera o optiune
convenabila
pentru implementarea acestei abordari
stateless. Cand firewalluri stateless ca acestea sunt in functiune,
probele ping SYN (
) vor fi mai mult ca sigur blocate in drumul
lor catre porturi tinta inchise. In aceste cazuri, probele ACK
stralucesc deoarece trec cu usurinta de aceste reguli.Alt tip comun de firewalluri folosesc reguli statefull care
ignora pachetele ce nu sunt asteptate. Aceasta optiune a fost
initial gasita doar in firewallurile high-end, dar a devenit mult
mai comuna de-a lungul timpului. In linux, sistemul
Netfilter/iptables suporta aceasta abordare prin optiunea
, care catalogheaza pachetele in functie de
starea conexiunii. O proba SYN este mai probabil sa functioneze
impotriva unui astfel de sistem din moment ce pachetele neasteptate
sunt in general recunoscute ca fiind simulate si ignorate. O
solutie la aceasta dilema este trimiterea ambelor probe, SYN si
ACK, specificand
si
.
(Ping UDP)Alta optiune de descoperire a hosturilor este pingul UDP,
care trimite un pachet gol (doar daca optiunea
nu este specificata) UDP la portul
specificat. Lista de porturi are acelasi format cu cel discutat
anterior la optiunile
si
. daca nici un port nu este specificat,
implicit este utilizat 31338. Aceasta valoare implicita poate fi
configurata la compilare schimband DEFAULT_PROBE_PORT in
nmap.h. Un port necomun este
folosit implicit deoarece trimiterea unui pachet la un port deschis
nu este de dorit pentru acest tip de scanare.Dupa trimiterea probei catre un port inchis al tintei, proba
UDP trebuie sa obtina un pachet ICMP de port indisponibil. Acest
lucru semnalizeaza Nmapul ca masina este activa si disponibila.
Multe alte tipuri de erori ICMP, cum ar fi cele de host/retea ce nu
pot fi contactate sau TTL (time to live = timp de viata; timpul
maxim admis pentru asteptarea raspunsului) depasit sunt indicatori
al unui host inactiv sau care nu poate fi contactat. Lipsa unui
raspuns este interpretata la fel. Daca un port deschis este nimerit
de pachetul de proba, multe servicii vor ignora pachetul si nu vor
returna nici un raspuns. De aceea portul de proba este 31338, care
are o probabilitate mare sa nu fie utilizat. Cateva servicii vor
raspunde totusi la un pachet UDP gol, dezvaluind in acest fel
Nmapului faptul ca masina este disponibila.Principalul avantaj al acestui tip de scanare este ca poate
trece de firewallurile si filtrele care monitorizeaza doar traficul
TCP. De exemplu, am avut o data un router wireless Linksys
BEFW11S4. Interfata externa a acestui dispozitiv filtra in mod
implicit toate porturile TCP, dar probele UDP puteau totusi sa
obtina mesajele de port indisponibil si in felul acesta sa arate
starea hostului.
;
;
(Tipuri de ping ICMP)Pe langa tipurile de descoperire TCP si UDP uzuale discutate
anterior, Nmap poate trimite pachete standard prin intermediul
omniprezentului
ping. Nmap un pachet
ICMP de tipul 8 (solicitare de raspuns) catre adresa IP tinta,
asteptand un pachet de tip 0 (raspuns) in schimb de la hosturile
disponibile. Din pacate pentru exploratorii de retele, in zilele
noastre multe hosturi si firewalluri blocheaza aceste pachete, in
loc sa raspunda in conformitate cu
RFC1122. Din acest motiv scanarile ICMP simple sau rareori
de incredere impotriva unor tinte necunoscute din Internet. Dar
pentru administratorii de sistem care monitorizeaza o retea
interna, ea poate fi o abordare practica si eficienta. Folositi
optiunea
pentru a activa acest comportament de
solicitare a raspunsului.Cu toate ca cererile de raspuns ICMP sunt standard, Nmap nu
se opreste aici. Standardul ICMP (
RFC792) specifica de asemenea solicitarea amprentei de
timp, a informatiilor si a mastii de retea corespunzatoare
codurilor 13,15 si 17. Aceste solicitari au ca scop aflarea de
informatii precum amprenta de timp sau masca de retea dar pot fi
usor folosite si la descoperirea hosturilor. Un sistem care
raspunde este disponibil. Nmap nu implementeaza inca solicitarea de
informatii (15) deoarece acestea nu beneficiaza de o implementare
la nivel larg. RFC 1122 insista ca
un host NU TREBUIE sa implmenteze aceste mesaje.
Solicitarile de amprenta de timp si masca de retea pot fi trimise
cu ajutorul optiunilor
, respectiv
. Un raspuns amprenta de timp (ICMP cod 14) sau
un raspuns masca de retea (cod 18) dezvaluie un host disponibil.
Aceste doua interogari pot fi de folos cand administratorul de
retea blocheaza pingul ICMP standard uitand faptul ca si celelalte
solicitari ICMP pot fi folosite in acelasi scop.
(Ping ARP)Unul dintre cele mai comune scenarii de utilizare ale
Nmapului o reprezinta scanarea unei intregi retele locale (LAN). In
multe LANuri, in special in cele care folosesc spatiul privat de
adrese specificat in RFC1918, mare majoritate a adreselor IP nu
sunt utilizate la un moment dat. Cand Nmap incearca sa trimita un
pachet ICMP solicitand un raspuns, sistemul de operare trebuie sa
determine adresa de destinatie hardware (ARP) corespunzatoare
adresei tinta IP astfel incat sa poata adresa in mod corect frameul
ethernet. Este adesea un proces lent, din moment ce sistemele de
operare nu au fost proiectate sa realizeze milioane de solicitari
ARP catre hosturi indisponibile intr-o peioada foarte scurta de
timp.Scanarea ARP pune Nmapul si algoritmii lui optimizati in
functiune pentru a realiza solicitarile ARP. Si daca primeste un
raspuns, Nmap nici nu mai ia in in considerare pingurile bazate pe
IP din moment ce stie deja ca hostul este activ. Acest lucru face
scanarea ARP mult mai rapida si mai corecta decat scanarile bazate
pe IP. Asadar este realizata implicit cand Nmapul detecteaza faptul
ca adresele scanate fac parte dintr-un LAN. Chiar daca tipuri
diferite de ping (cum ar fi optiunea
sau
) sunt specificate, Nmap foloseste ARP in locul
lor pentru orice adresa din acelasi LAN cu masina care ruleaza
Nmap. Daca sunteti sigur ca nu doriti scanare ARP, specificati
.
(Nu se realizeaza rezolutia DNS)Transmite Nmapului ca
niciodatasa nu realizeze rezolutia inversa DNS
pentru IPurile active gasite. Din moment ce DNS este adesea lent,
aceasta optiune poate mari viteza de scanare.
(Rezolutie DNS pentru toate tintele)Transmite Nmapului ca
intotdeaunasa realizeze rezolutia DNS pentru
IPurile tinta. In mod normal acest lucru este realizat cand o
masina este gasita activa.
(Foloseste DNSul sistemului de
operare)Implicit, Nmap rezolva adresele IP prin trimiterea de cereri
la DNSurile configurate pe sistem si asteapta apoi raspunsuri.
Multe solicitari (adesea foarte multe) sunt realizate in paralel
pentru o performanta crescuta. Specificati aceasta optiune daca
doriti sa folositi DNSul sistemului de operare (cate un IP o data
prin intermediul apelului getnameinfo()). Aceasta optiune este
lenta si rareori folositoare. O putei folosi in cazul in care
exista o problema in codul DNS al Nmapului – va rugam sa ne
contactati in acest caz. DNSul sistemului este intotdeauna folosit
pentru scanarile IPv6.Bazele scanarii de porturiCu toate ca functiile Nmap au crescut ca numar in timp, el a
inceput ca un scaner de porturi eficient si acesasta ramane fuctia lui de
baza. Simpla comanda
nmap
tintascaneaza mai mult de 1660 de
porturi TCP ale
tintei. In timp ce multe scanere de porturi
traditionale catalogheaza porturile in deschise si inchise, Nmap este
mult mai avansat. El imparte porturile in sase stari:
open (deschis),
closed (inchis),
filtered (filtrat),
unfiltered (nefiltrat),
open|filtered (deschis|filtrat), or
closed|filtered
(inchis|filtrat).Aceste stari nu sunt proprietati intrinsece ale porturilor, dar
descriu modul in care sunt vazute de Nmap. De exemplu, o scanare Nmap din
aceeasi retea ca si tinta poate arata portul tcp 135 ca deschis, in timp
ce o scanare realizata simultan din Internet cu aceleasi optiuni poate
arata portul ca
filtered (filtrat).Cele sase stari ale porturilor recunoscute de Nmapopen (deschis)O aplicatie accepta in mod activ conexiuni TCP sau pachete
UDP la respectivul port. Gasirea acestora este adesea scopul
principal al scanarii de porturi. Oamenii preocupati de securitate
stiu ca fiecare port deschis reprezinta o cale de acces pentru un
atac. Atacatorii si pen-testerii doresc exploatarea porturilor
deschise, in timp ce administratorii incearca sa le inchida sau sa
le protejeze prin firewalluri fara a incurca planurile
utilizatorilor legitimi. Porturile deschise sunt interesante si
pentru scanarile ce nu urmaresc stabilirea securitatii deoarece ele
arata serviciile disponibile pentru retea de la respectivul
host.closed (inchis)Un port inchis este accesibil (primeste si raspunde la un
pachet de proba trimis de Nmap), dar nu exista nici o aplicatie
care sa asculte la el. Pot fi folositoare in dezvaluirea starii
hostului sau ca parte a detectiei sistemului de operare. Deoarece
cu porturile inchise se pote comunica, ele merita scanate si mai
tarziu in caz ca vreunul dintre ele se deschide. Administratorii
pot lua in considerare blocarea unor astfel de porturi cu ajutorul
unui firewall. Astfel ele vor aparea avand starea filtrat,
discutata mai departefiltered (filtrat)Nmap nu poate determina daca portul este deschis datorita
unui filtru de pachete care impiedica pachetele sa ajunga la portul
destinatie. Filtrarea poate proveni de la un firewall dedicat, din
regulile unui router sau dintr-un firewall software al tintei.
Aceste porturi frustreaza atacatorii deoarece furnizeaza foarte
putine informatii. Uneori raspund cu un mesaj de eroare ICMP cum ar
fi tipul 3 codul 13 (destinatie care nu a putu fi atinsa:
comunicatia interzisa administrativ), dar filtrele care executa
operatia drop (ignora pachetul) fara sa raspunda sunt mult mai
comune. Acest lucru forteaza Nmap sa retrimita de cateva ori
probele pentru cazul in care pachetul s-a pierdut din cauza
congestionarii retelei si nu din cauza filtrarii. Acest lucru
incetineste viteza de scanare dramatic.unfiltered (nefiltrat)Starea nefiltrata inseamna ca portul este accesibil, dar Nmap
nu poate determina daca portul este inchis sau deschis. Numai
scanarea ACK, folosita pentru maparea regulilor din firewall,
clasifica portul in aceasta stare. Scanarea porturilor nefiltrate
cu alte tipuri de optiuni cum ar fi scanarea Window(fereastra),
scanarea SYN sau scanarea FIN poate stabili daca portul este
deschis.open|filtered (deschis|filtrat)Nmap plaseaza porturi in aceasta categorie cand nu poate
determina daca portul este deschis sau filtrat. Acestea apar pentru
tipurile de scanari in care porturile deschise nu ofera nici un
raspuns. Lipsa raspunsului poate sa mai insemne si ca un filtru de
pachete a ignorat pachetul de proba sau orice raspuns aferent.
Asadar Nmap nu poate stii sigur daca portul este deschis sau
filtrat. Scanarile UDP, IP, FIN, Null sau Xmas clasifica porturile
in aceasta stare.closed|filtered (inchis|filtrat)Aceasta stare este folosita cand Nmap este in imposibilitatea
de a determina daca portul este inchis sau filtrat. Este folosit
doar de scanarea IPID Idle.Tehnici de scanare de porturiCa un incepator care incearca sa repare un motor, ma pot stradui
ore intregi sa gasesc ustensile rudimentare (ciocan, banda adeziva, etc.)
potrivite pentru operatia propusa. Cand esuez lamentabil si imi las rabla
pe mana unui mecanic adevarat, invariabil el gaseste in marea de unelte
ustensila potrivita care face treaba sa para una fara efort. Arta
scanarii de porturi este similara. Expertii inteleg multitudinea de
tehnici de scanare si o aleg pe cea potrivita (sau combinatia potrivita)
pentru o anumita misiune. Pe de alta parte, utilizatorii neexperimentati
si script kiddies incearca sa rezolve problema prin scanarea SYN
implicita. Din moment ce Nmap este gratuit, singura bariera in arta
scanarii de porturi o reprezinta cunostintele. Acest fapt bate lucrurile
din viata reala, unde cu multa pricepere poti determina ca ai nevoie de
un arc nou pentru compresor, dar totusi esti nevoit sa platesti si bani
buni pe el.Multe dintre tipurile de scanare sunt disponibile doar
utilizatorilor privilegiati. Aceasta datorita faptului ca trimit si
primesc pachete brute, care necesita acces root pe sistemele UNIX.
Folosirea unui cont de administrator sub Windows este recomandata, cu
toate ca Nmap functioneaza cateodata si pentru utilizatorii
neprivilegiati pe platformele pe care WinPcap a fost deja incarcat de
sistemul de operare. Necesitatea privilegiilor root au reprezentat o
problema serioasa la lansarea Nmapului in 1997, deoarece multi
utilizatori beneficiau doar de conturi limitate. Acum lumea e diferita.
Calculatoarele sunt ieftine, multi oameni au acces direct si permanent la
Internet iar sistemele UNIX (incluzand Linux si MAC OS X) sunt
raspandite. O versiune de Windows a Nmap este acum disponibila, permitand
rularea acestuia pe si mai multe calculatoare. Oricare ar fi motivul,
utilizatorii au o nevoie mai mica de a rula Nmap de pe conturi limitate.
Acesta este un lucru bun, deoarece optiunile privilegiate sunt mult mai
puternice si mai flexibile.Chiar daca Nmap incearca sa produca cele mai precise rezultate,
tineti minte intotdeauna ca el se bazeaza pe pachetele returnate de
masina tinta (sau firewallul din fata lui). Asemenea hosturi pot sa nu
fie de incredere iar raspunsurile trimise pot fi menite sa incurce sau sa
duca pe o pista gresita Nmapul. Comune sunt hosturile neconcordante cu
standardele RFC care nu raspund cum ar trebui probelor Nmap. Scanarile
Fin, Null si Xmas sunt in mod particular susceptibile de asa ceva.
Astfele de probleme sunt specifice anumitor tipuri de scanari si sunt
discutate individual la fiecare tip de scanare in parte.Aceasta sectiune documenteaza multitudinea de tehnici de scanare de
porturi suportate de Nmap. O singura metoda poate fi folosita la o
scanare (nu pot fi combinate mai multe tipuri), cu exceptia scanarii UDP
(
) care poate fi combinata cu unul din tipurile de
scanare TCP. Cu un ajutor la memorare, tipurile de scanare de porturi
sunt de forma
, unde
Ceste caracterul principal al numelui
scanarii, in general primul. Singura exceptie o reprezinta scanarea
sarita FTP (metoda depasita moral) (
). Implicit, Nmap executa o scanare SYN, cu toate ca o
poate inlocui cu una Connect() daca utilizatorul nu are privilegii pentru
a trimite pachete brute (acces root pe sisteme UNIX) sau daca tinte IPv6
au fost specificate. Dintre scanarile mentionate in aceasta sectiune,
utilizatorii neprivilegiati le pot executa doar pe cele de tipul
connect() si ftp sarit.
(Scanare TCP SYN)Scanarea SYN este implicita si cea mai populara metoda pentru
motive bine intemeiate. Poate fi executata rapid, scanand mii de
porturi pe secunda intr-o retea rapida neobstructionata de un
firewall deranjant. Scanarile SYN sunt relativ invizibile, din
moment ce nu stabilesc niciodata o conexiune TCP. Functioneaza
impotriva oricarei implementari conforma cu standardul de stiva TCP
in loc sa depinda de platforma asa cum o fac scanarile
Fin/Null/Xmas, Maimon si Idle. Ofera de asemenea o diferenta clara
si precisa intre starile
open (deschisa),
closed (inchisa), si
filtered (filtrata).Aceasta tehnica este adesea denumita ca o scanare jumatate
deschisa, deoarece nu deschideti o conexiune completa TCP.
Trimiteti un pachet SYN, ca si cum ati deschide o conexiune si
asteptati un raspuns. Un pachet SYN/ACK indica faptul ca portul
este deschis, in timp ce un RST (reset) este indicatorul unui port
inchis. Daca nici un raspuns nu este primit dupa mai multe
retransmiteri, portul este marcat ca fiind filtrat. Portul este de
asemena marcat filtrat daca un mesaj de eroare ICMP negasit (tipul
3, codurile 1,2,3,9,10 sau 13) este receptionat.
(Scanare TCP connect())Scanarea TCP Connect() este implicita cand SYN nu reprezinta
o optiune viabila. Acesta este cazul in care utilizatorul nu
beneficiaza de posibilitatea de trimitere a pachetelor brute sau
scaneaza retele IPv6. In locul scrierii pachetelor brute asa cum o
fac majoritatea tipurilor de scanare, Nmap cere nivelelor
inferioare ale sistemului de operare sa stabileasca o conexiune cu
masina tinta si portul dorit realizand un apel de sistem
connect(). Acesta este acelasi
apel de sistem prin care aplicatiile de nivel inalt cum ar fi
browserele, clientii P2P si in general aplicatiile cu functii de
retea le folosesc pentru stabilirea conexiunii. Este o parte a
interfetei de programare cunoscuta ca Berkley Sockets API. In loc
sa citeasca pachete brute ca raspuns, Nmap foloseste API pentru a
obtine informatii despre starea fiecarei conexiuni
incercate.Cand scanarea SYN este disponibila, ea reprezinta in general
alegerea mai buna. Nmap are un control mai restrans asupra
nivelului inalt al apelului
connect()cu pachete brute,
facandu-l mai putin eficient. Apelul de sistem completeaza
conexiunea pentru a deschide conexiunea in loc sa efectueze o
jumatate de conexiune asa cum scanarea SYN o face. Nu numai ca
acest lucru dureaza mai mult si necesita mai multe pachete pentru a
obtine aceeasi informatie, dar exista sanse mai mari ca masinile
tinta sa logheze conexiunea. Un IDS decent va prinde si el
conexiunea, dar multe masinii nu au astfel de sisteme de alarma.
Multe servicii ale unui sistem uzual UNIX vor adauga o nota la
syslog si cateodata si un mesaj criptic de eroare cand Nmap se
conecteaza si apoi inchide conexiunea fara a trimite date. Servicii
patetice se pot bloca in acest caz, dar nu este un lucru comun. Un
administrator care vede o multime de tentative de conexiune in
loguri venind de la o singura sursa trebuie sa stie ca a fost
scanat prin metoda connect.
(Scanare UDP)In tim ce multe servicii in Internet ruleaza prin protocolul
TCP, serviciile
UDPsunt si ele raspandite. DNS, SNMP si DHCP (porturile
inregistrate 53, 161/162 si 67/68) sunt trei dintre cele mai
comune. Deoarece scanarea UDP este in general lenta si mai dificila
decat TCP, unii auditori de securitate ignora aceste porturi.
Aceasta este o greseala, deoarece serviciile UDP exploatabile sunt
destul de cunoscute si atacatorii cu siguranta nu vor ignora un
intreg protocol. Din fericire, Nmap poate ajuta la inventarierea
porturilor UDP.Scanarea UDP este acivata cu optiunea
. Poate fi combinata cu o scanare TCP cum ar fi
scanrea SYN (
) pentru a verifica ambele protocoale in timpul
aceleiasi scanari.Scanarea UDP functioneaza prin trimiterea de headere UDP
goale (fara date) la fiecare port specificat al masinii tinta. Daca
un mesaj ICMP de port inaccesibil (tipul 3, codul 3) este returnat,
portul este
closed (inchis). Alte mesaje
ICMP de port care nu poate fi atins (tipul 3, codurile 1, 2, 9, 10
sau 13) marcheaza portul ca
filtered (filtrat). Ocazional,
un serviciu poate raspunde cu un pachet UDP, demonstrand faptul ca
este
open (deschis). Daca nici un
raspuns nu este primit dupa mai multe retransmisii atunci portul
este catalogat ca
open|filtered (deschis|filtrat).
Asta inseamna ca portul poate fi deschis sau poate un filtru de
pachete blocheaza comunicatia. Scanarile de versiune (
) pot fi folosite pentru a ne ajuta sa
diferentiem porturile cu adevarat deschise de cele filtrate.O mare incercare in scanarea UDP o reprezinta realizarea
acesteia rapid. Porturile deschise si filtrate rareori trimit
raspuns, lasand Nmapul sa astepte si apoi sa retrimita pachetul
pentru situatia in care proba sau raspunsul s-au pierdut. Porturile
inchise reprezinta adesea o problema si mai mare. In mod uzual
trimit inapoi un mesaj de eroare ICMP inaccesibil. Dar spre
deosebire de de pachetele RST trimise de porturile TCP inchise ca
raspuns la scanarile SYN sau connect, multe hosturi limiteaza rata
de mesaje ICMP port inaccesibil. Linux si Solaris sunt foarte
stricte in aceasta privinta. De exemplu, kernelul Linux 2.4.20
limiteaza aceste mesaje la unul pe secunda (din
net/ipv4/icmp.c).Nmap detecteaza rata de limitare si incetineste scanarea in
conformitate cu aceasta pentru a preveni inundarea retelei cu
pachete inutile pe care masina tinta le va ignora. Din pacate, o
limitare de genul Linuxului de un pachet la o secunda face ca o
scanare de 65.536 de porturi sa dureze mai mult de 18 ore. Ideile
de accelerare a scanarii UDP includ scanarea in paralel a mai
multor hosturi, scanarea doar a porturilor cunoscute, scanarea din
spatele firewallului si folosind optiunea
pentru a sari peste hosturile
lente.
;
;
(Scanari TCP Null, FIN, si Xmas)Aceste trei tipuri de scanare (chiar si mai multe posibile
folosind optiunea
descrisa in aceasta sectiune)
exploateaza o portita din
TCP
RFCpentru a diferentia intre porturile
deschise (open)si cele
inchise (closed). Pagina 65
spune ca
daca starea portului [destinatie] este INCHIS ... un segment
de intrare care nu contine un RST face ca un raspuns RST sa fie
trimis inapoiIn urmatoarea pagina se discuta pachetele
trimise catre porturile deschise fara bitii SYN, RST sau ACK
setati, specificand ca:
este putin probabil sa ajungeti intr-o asemenea situatie,
dar daca o faceti, ignorati segmentul si revenitiCand scanam un sistem compatibil cu textul RFC, orice pachet
care nu contine bitii SYN, RST sau ACK va genera un raspuns RST
daca portul este inchis si nici un raspuns daca portul este
deschis. De vreme ce nici unul dintre acesti biti nu este inclus,
orice combinatie a celorlalti trei (FIN, PSH si URG) este buna.
Nmap exploateaza aceasta problema cu trei tipuri de scanari:Scanare Null (
)Nu seteaza nici un bit (flagul header tcp este
0)Scanare FIN (
)Seteaza doar bitul TCP FIN.Scanare Xmas (
)Seteaza flagurile FIN, PSH si URG, luminand pachetul ca
pe un pom de Craciun.Aceste trei tipuri de scanare sunt identice in comportament
exceptand flagurile TCP setate in pachetele de proba. Daca un
pachet RST este primit, portul este considerat
closed (inchis), in vreme ce
nici un raspuns inseamna un port
open|filtered (deschis|filtrat).
Portul este marcat ca
filtered (filtrat)daca un mesaj
de eroare ICMP de port indisponibil (tipul 3, codurile 1, 2, 3, 9,
10 sau 13) este receptionat.Principalul avantaj al acestor tipuri de scanare este acela
ca se pot strecura prin anumite firewalluri non-statefull si
routere cu filtrare de pachete. Alt avantaj al acestor tipuri de
scanare este ca sunt si mai discrete decat o scanare SYN. Nu va
bazati pe asta – multe IDSuri moderne pot fi configurate sa le
detecteze. Marea problema este ca nu toate sistemele urmeaza RFC
793 litera cu litera. Un numar de sisteme trimit un raspuns RST la
probe indiferent daca portul este deschis sau nu. Acest lucru face
ca porturile sa fie marcate ca fiind
inchise (closed). Majoritatea
sistemelor care fac acest lucru sunt Microsoft Windows, multe
dispozitive Cisco, BSDI si IBM OS/400. Acest tip de scanare
functioneaza impotriva celor mai multe sisteme bazate pe UNIX. Alta
problema este ca aceste tipuri de scanari nu pot face diferenta
intre porturile
deschise (open)de cele
filtrate (filtered), lasand un
raspuns de tipul
deschis|filtrat
(open|filtered).
(Scanare TCP ACK)Aceasta scanare e diferita de celelalte discutate pana acum
in sensul in care nu poate determina niciodata un port
deschis (open)(sau chiar
deschis|filtrat
(open|filtered)). Este folosita pentru a mapa regulile
firewallului, determinand daca acestea sunt statefull sau nu si ce
porturi sunt filtrate.Packetul de proba la scanrea ACK are doar bitul ACK setat
(doar daca nu se specifica altceva cu
). Cand scanam sisteme nefiltrate
porturile,
deschise (open)si
inchise (closed)vor returna un
pachet RST. Nmap le eticheteaza ca
nefiltrate (unfiltered), ceea ce
inseamna ca sunt disponibile pentru pachetul ACK dar nu se poate
determina daca sunt
deschise (open)sau
inchise (closed). Porturile care
nu raspuns, sau trimit inapoi anumite mesaje de eroare ICMP (tipul
3, codurile 1, 2, 3, 9, 10 sau 13) sunt etichetate ca
filtrate (filtered).
(Scanare TCP Window)Scanarea Window (fereastra) este asemanatoare cu scanarea
ACK, cu exceptia ca exploateaza un detaliu de implementare a
anumitor sisteme pentru a diferentia porturile deschise de cele
inchise, in loc sa aiseze
nefiltrat (unfiltered)cand un
RST este returnat. Realizeaza acest lucru prin examinarea campului
TCP Window din pachetul RST returnat. Pe unele sisteme, porturile
deschise folosesc o valoare pozitiva in timp ce porturile inchise
au valoarea 0. Astfel ca in loc sa afiseze o lista de porturi
nefiltrate (unfiltered)cand
primeste un RST, scanrea TCP Window marcheaza porturile ca
deschise (open)sau
inchise (closed)daca valoarea
TCP Window este pozitiva sau 0, dupa caz.Scanarea se bazeaza pe detalii de implementare a unei
minoritati de sisteme din Internet, deci nu va bazati intotdeauna
pe ea. Sistemele care nu suporta aceasta implementare returneaza de
obicei toate porturile
inchise (closed). Desigur, este
posibil ca respectiva masina sa nu aiba porturi deschise. Daca
majoritatea porturilor sunt
inchise (closed)dar cateva
numere comune cum ar fi (22, 25, 53) sunt
filtrate (filtered), sistemul
este unul compatibil cu scanarea. Ocazional, sistemul va raporta un
comportament inversat. Daca scanarea returneaza 1000 de porturi
deschise si 3 inchise sau filtrate, atunci acele trei pot fi
adevaratele porturi deschise.
(Scanarea TCP Maimon)Scanarea TCP Maimon este denumita astfel dupa descoperitorul
ei, Uriel Maimon. El descrie aceasta tehnica in Magazinul Phrak
editia 49 (noiembrie 1996). Nmap, care include aceasta tehnica, a
fost lansat doua editii mai tarziu. Tehnica este similara cu
scanarile Null, FIN si Xmas cu exceptia ca proba este FIN/ACK. In
conformitate cu RFC 793, un pachet RST trebuie generat ca raspuns
la o astfel de proba indiferent daca portul este inchis sau
deschis. Oricum, Uriel a remarcat faptul ca multe sisteme derivate
din BSD ignora pachetul daca portul este deschis.
(Scanare TCP personalizata)Utilizatorii avansati de Nmap nu trebuie sa se limiteze la
tipurile de scanare generale oferite Optiunea
va permite sa creati propriile tipuri
de scanare prin specificarea flagurilor TCP. Lasati spiritul
creativ sa lucreze, penetrand IDSurile ale caror producatori se
multumesc sa adauge reguli specifice doar pentru tipurile clasice
de scanare.Argumentul pentru
poate fi o valoare numerica cum ar fi 9
(PSH si FIN), dar folosirea numelor simbolice este mult mai comoda.
Puneti alaturi orice combinatie dintre
URG,
ACK,
PSH,
RST,
SYN, and
FIN. De exemplu,
setaza toti bitii,
desi nu este foarte folositor pentru scanare. Ordinea in care se
fac specificarile este irelevanta.In plus fata de specificarea flagurilor, puteti specifica si
tipul de scanare TCP (cum ar fi
sau
). Aceasta spune Nmapului cum sa interpreteze
raspunsurile. De exemplu, o scanare SYN considera ca lipsa unui
raspuns indica un port
filtrat (filtered), in timp ce o
scanare FIN trateaza acelasi raspuns ca
deschis|filtrat (open|filtered).
Nmap se va comporta in acelasi fel in care o face pentru scanarile
de baza, cu exceptia faptului ca va folosi flagurile TCP
specificate. Daca nu specificati o scanare de baza, SYN va fi
utilizata.
(Scanare
Idle)Aceasta metoda avansata de scanare permite o scanare TCP
complet oarba a tintei (insemnand ca nici un pachet nu este trimis
tintei de la adresa IP reala). In loc, un canal derivat de atac
exploateaza o secventa de fragmentare IPID predictibila a hostului
zombie pentru a culege informatii despre porturile deschise pe
masina tinta. Sistemele IDS vor indica scanarea ca venind de la
hostul zombie specificat (care trebuie sa fie functional si sa
indeplineasca anumite criterii). Acest tip fascinant de scanare
este prea complex pentru a fi descris in acest ghid de referinta,
astfel ca am scris un document informativ cu detalii complete
disponibil la
.In afara faptului ca este extrem de discreta (datorita
naturii oarbe), acest tip de scanare permite maparea relatiilor de
incredere bazate pe IP intre masini. Lista de porturi arata
porturile deschise
din perspectiva hostului zombie.Asa ca puteti
incerca scanarea tintei folosind diferiti zombie despre care
credeti ca ar putea avea relatii de incredere cu tinta (prin
router/filtru de pachete).Puteti adauga doua puncte (“:”) urmate de numarul portului de
pe calculatorul zombie daca vreti sa probati un port particular al
zombieului pentru modificari IPID. Altfel Nmap va folosi portul
utilizat implicit pentru pinguri tcp (80).
(Scanarea protocolului IP)Scanarea protocolului IP permite determinarea protocoalelor
(TCP, ICMP, IGMP, etc.) suportate de masina tinta. Aceasta nu
reprezinta din punct de vedere tehnic o scanare de porturi, din
moment ce trece prin numarul protocoalelor IP in loc de numarul
porturilor TCP sau UDP. Totusi foloseste optiunea
pentru selectarea numerelor de protocol,
raporteaza rezultatele in formatul de tabel specific scanriif de
porturi, si chiar foloseste acelasi motor de scanare ca la scanarea
de porturi. Este strans legata asadar de scanarea de porturi asa ca
apartine acestei categorii.Pe langa faptul ca este folositoare in sine, scanarea
protocoalelor demonstreaza puterea softwareului open source. In
vreme ce ideea fundamentala este destul de simpla, nu m-am gandit
sa adaug sau sa primesc solicitari pentru o astfel de
functionalitate. Apoi in vara lui 2000, Gerhard Rieger a intuit
aceasta necesitate, a scris un patch excelent implementand-o si a
trimis-o la lista de discutii nmap-hackers. Am incorporat patchul
in distributia Nmap si am lansat o noua versiune in ziua urmatoare.
Putine softwareuri comerciale au utilizatori suficient de
entuziasti sa realizeze si sa contribuie cu propriile
imbunatatiri.Scanarea protocoalelor functioneaza intr-un mod similar cu
scanarea UDP. In locul iterarii numerelor de porturi ale unui
pachet UDP, se trimite un pachet IP si se itereaza cei 8 biti ai ai
campului destinat protocolului din headerul pachetului IP.
Headerele sunt de obicei goale, necontinand date si nici macar
headerul potrivit pentru protocolul pretins. Cele trei exceptii
sunt TCP, UDP si ICMP. Un header potrivit pentru acestea este
inclus din moment ce unele sisteme nu le vor trimite altfel si
pentru ca Nmap are deja functiile sa le creeze. In loc sa primeasca
mesaje ICMP de port indisponibil, scanarea de protocoale cauta
aceste mesaje de
protocolICMP port indiponibil. Daca Nmap
primeste orice raspuns de la tinta, Nmap marcheaza protocolul ca
deschis (open). Un mesaj ICMP de
protocol indisponibil (tip 2, cod 3) face ca protocolul sa fie
marcat
inchis (closed). Alte erori ICMP
de indisponibilitate (tipul 3, codurile 1, 3, 9, 10 sau 13) duc la
marcarea protocolului ca
filtrat (filtered)(cu toate ca
ele dovedesc ca ICMP este
deschis (open)in acelasi timp).
Daca nici un mesaj nu este primit dupa retransmisie, protocolul
este marcat ca
deschis|filtrat
(open|filtered)
(Scanare FTP
sarita)Un aspect interesant al protocolului FTP (
RFC
959) este suportul pentru asa numitele conexiuni proxy ftp.
Acesta permite utilizatorului conectarea la un server FTP si apoi
solicitarea ca anumite fisiere sa fie trimise pe un al alt server.
O astfel de functionalitate poate fi folosita pentru abuzuri asa ca
multe servere au incetat sa o mai suporte. Unul dintre aceste
abuzuri face ca serverul FTP sa scaneze alte hosturi. Cereti
serverului sa trimita un fisier la fiecare port al masinii tinta.
Mesajul de eroare va descrie daca portul este inchis sau deschis.
Este o buna modalitate de a sari un firewall deoarece FTPurile sunt
adesea plasate in zone cu acces la reteaua interna. Nmap suporta
scanarea ftp sarita prin optiunea
. Preia un argument de forma
numeutilizator:
parola@
server:
port.
Servereste numele sau adresa IP a
serverului FTP vulnerabil. La fel ca la URLul normal puteti omite
numeutilizator:
parola, caz in care sunt folosite
valorile implicite (numeutilizator:
anonymousparola:
-wwwuser@). Numarul portului (si
caracterul doua puncte “:” care il precede) pot fi omise de
asemenea, caz in care portul implicit FTP (21) al
serveruluieste utilizat.Aceasta vulnerabilitate era raspandita in 1997 cand Nmap a
fost lansat, dar in mare parte a fost rezolvata. Servere
vulnerabile exista inca, deci merita sa le cautati cand orice alta
optiune a picat. Daca trecerea de un firewall reprezinta tinta
dumneavoastra, scanati reteaua dupa portul 21 (sau orice alt
serviciu ftp pe care il detectati cu ajutorul optiunii de
identificare a versiunii), apoi incercati un atac sarit prin
respectivul server. Nmap va va anunta daca serverul este vulnerabil
sau nu. Daca incercati doar sa va acoperiti urmele, nu aveti nevoie
(de fapt nici nu trebuie) sa va limitati la hosturile din reteaua
tinta. Inainte sa scanati aleator prin Internet dupa servere FTP
vulnerabile, luati in considerare faptul ca administratorii de
sistem pot sa nu aprecieze faptul ca abuzati de serverele lor in
acest mod.Specificarea porturilor si a ordinii de scanareIn plus fata de toate metodele discutate anterior, Nmap ofera
optiuni pentru specificarea porturilor ce urmeaza a fi scanate si daca
scanarea se va realiza intr-o ordine aleatoare sau secventiala. Implicit,
Nmap scanaeaza toate porturile pana la 1024 inclusiv, precum si porturile
mai mari aflate in fisierul
nmap-servicespentru
protocolul/protocoalele scanate.
(Se scaneaza doar
porturile specificate aici)Aceasta optiune specifica porturile pe care doriti sa le
scanati, trecand peste valorile implicite. Numere de porturi
individuale reprezinta o optiune valida, precum si domenii separate
prin cratima (de exemplu 1-1023). Valorile de inceput si/sau
sfarsit ale domeniului pot fi omise, Nmap inlocuindu-le cu 1,
respectiv 65535. Specificand optiunea
se vor scana porturile de la 1 la 65535.
Scanarea portului 0 este permisa daca specificati acest lucru
explicit. Pentru scanarea protocolului IP (
), aceasta optiune specifica numarul
protocolului pe care doriti sa-l scanati (0-255).Cand scanati atat porturi TCP cat si UDP, puteti specifica un
protocol particular precedand numarul portului cu
T:sau
U:. Identificatorul are domeniu
de actiune pana la aparitia altui identificator. De exemplu,
argumentul
va scana
porturile UDP 53, 111 si 137 precum si porturile TCP listate. De
notat ca pentru scanarea simultana de porturi UDP si TCP, trebuie
sa specificati
si cel putin un tip de scanare TCP (cum ar fi
,
, sau
). Daca nici un calificator nu a fost furnizat,
numerele de porturi sunt adaugate fiecarui protocol in
parte.
(Scanare rapida (numar limitat de porturi)Specifica faptul ca doriti sa scanati doar porturile listate
in
nmap-services, fisier care
vine cu nmap (sau fisierul de protocoale pentru
). Este mult mai rapida decat scanarea tuturor
celor 65535 porturi de pe un host. Deoarece lista contine atat de
multe porturi TCP (mai mult de 1200), diferenta de viteza fata de o
scanare implicita TCP (aproximativ 1650 de porturi) este dramatica.
Diferenta poate fi enorma daca specificati propriul fisier
minimizat in functie de nevoi
nmap-servicesutilizand
optiunea
.
(Nu se scaneaza porturile in ordine
aleatoare)Implicit, Nmap scaneaaz porturile intr-o ordine aleatoare (cu
exceptia faptului ca anumite porturi uzuale sunt mutate la
inceputul scanarii din motive de eficienta). Aceasta ordine
aleatoare este in mod normal de dorit, dar puteti specifica
pentru scanarea secventiala.Detectia serviciilor si a versiunilorRulati nmap pe o masina si el ar putea sa va spuna ca porturile
25/tcp, 80/tcp si 53/udp sunt deschise. Folosind baza de date
nmap-servicesde aproximativ 2.200
servicii cunoscute, Nmap va raporta ca respectivele porturi corespund
unui server de mail (SMTP), unui server web (HTTP) si respectiv unui
server DNS (53). Aceasta recunoastere este de obicei corecta –
majoritatea serviciilor care asculta la portul TCP 25 sunt servere de
mail. Totusi, nu trebuie sa va bazati pe asta! Oamenii pot si chiar
ruleaza servicii pe porturi ciudate.Chiar daca Nmap realizeaza recunoasterea corect, si ipoteticul
server de mai sus ruleaza SMTP, HTTP si DNS, tot nu este suficienta
informatie. Cand se realizeaza o evaluare a vulnerabilitatilor (sau chiar
o simpla inventariere a retelei) a companiilor sau clientilor
dumneavoastra, vreti sa stiti ce server de mail, ce server DNS si in ce
versiuni ruleaza acestea. Avand un numar corect de versiune ne ajuta
foarte mult sa determinam la ce exploituri este serverul vulnerabil.
Detectia versiunilor ne ajuta sa obtinem aceste informatii.Dupa ce porturile TCP si/sau UDP sunt descoperite folosind una
dintre metodele de scanare, detectia versiunii interogheaza acele porturi
pentru a determina mai multe despre ce se ruleaza la ele de fapt. Baza de
date
nmap-service-probescontine probe
pentru interogarea diferitelor servicii si compara expresiile pentru a
recunoaste si procesa raspunsurile. Nmap incearca sa determine protocolul
serviciului (ex: ftp, ssh, telnet, http), numele aplicatiei (ex: ISC
Bind, Apache httpd, Solaris telnetd), numarul versiunii, numele hostului,
tipul masinii (ex: printer, router), familia de sisteme de operare (ex:
Windows, Linux) si cateodata si alte informatii diverse cum ar fi daca
exista un server X deschis la conexiuni. Daca Nmap a fost compilat cu
suport OpenSSL, se va conecta la servere SSL pentru a deduce serviciile
care asculta in spatele acelui nivel de criptare. Cand servicii RPC sunt
descoperite, evaluatorul RPC din Nmap (
) este automat folosit pentru a determina programul
RPC si numarul versiunii. Unele porturi UDP sunt lasate in starea
deschis|filtrat (open|filtered)dupa o
scanare UDP care nu a putut determina daca porturile sunt deschise sau
filtrate. Detectia versiunii va incerca sa smulga un raspuns de la aceste
porturi (asa cum o face cu porturile deschise), si sa sa le schimbe
starea in deschis daca reuseste. Porturile TCP
deschis|filtrat (open|filtered)sunt
tratate in aceeasi maniera. Notati ca optiunea
activeaza detectia versiunii printre altele. Un
document care explica aceste lucruri, utilizarea lor si rafinarea
detectiei versiunii este disponibila la
.Cand Nmap primeste raspunsuri de la un serviciu dar nu gaseste ceva
corespunzator in baza de date, afiseaza o amprenta si un URL pentru a o
putea trimite daca stiti cu exactitate ce ruleaza la respectivul port. Va
rog sa va rupeti cateva minute pentru a face acest lucru, astfel incat de
descoperirea dumneavoastra sa poata beneficia toata lumea. Datorita
amprentelor trimise de utilizatori, Nmap are aproximativ 3.000 de modele
pentru 350 de protocoale cum ar fi smtp, ftp, http, etc.Detectia versiunii este activata si controlata de urmatoarele
optiuni:
(Detectia versiunii)Activeaza detectia versiunii, dupa cum s-a discutat anterior.
Alternativ, puteti folosi
pentru activarea detectiei versiunii si a
sistemului de operare simultan.
(Nu se exclude nici un port de la detectia
versiunii)Implicit, detectia versiunii din Nmap sare peste portul TCP
9100, deoarece unele imprimante imprima orice data trimisa la acel
port, ducand la o multime de pagini pline de cererei HTTP, sesiuni
SSL, etc. Acest comportament poate fi schimbat prin modificarea sau
stergerea directivei
Excludedin
nmap-service-probes, sau prin
specificarea
pentru scanarea tuturor porturilor in
ciuda directivei
Exclude.
(Seteaza
intensitatea detectiei versiunii)Cand realizam o detectie a versiunii (
), nmap trimite o serie de probe, fiecare cu o
valoare atasata, intre 1 si 9, care reprezinta raritatea. Probele
cu numere mici sunt eficiente impotriva unei arii largi a
serviciilor comune, in timp ce acelea cu numere mari sunt mai rar
folosite. Nivelul de intensitate specifica ce probe trebuie
aplicate. Cu cat mai mare este numarul, cu atat mai precisa este
detectarea versiunii. Oricum, scanarea cu intensitate mare dureaza
mai mult. Intensitatea trebuie sa fie intre 0 si 9. Implicit este
7. Cand o proba este gasita ca o legatura intre
nmap-service-probessi numarul portului, atunci
proba este incercata indiferent de nivelul de intensitate. Acest
lucru asigura faptul ca probele DNS vor fi incercate pentru fiecare
port 53 gasit deschis, probele SSL pentru portl 443, etc.
(Activeaza modul delicat)Este o notare convenabila pentru
. Acest mod delicat face
scanarea versiunii mult mai rapida, dar si mai putin precisa in
identificarea serviciilor.
(Incearca toate probele)Un sinonim pentru
, asigurandu-se ca toate
probele vor fi incercate impotriva fiecarui port.
(Urmareste activitatea scanarii
vesiunii)Acest lucru face ca Nmap sa afiseze informatii detaliate
despre ce face detectarea versiunii. Este un subset al
informatiilor obtinute cu
.
(Scanare RPC)Aceasta metoda functioneaza in combinatie cu multimea de
metode de scanare de porturi a Nmapului. Ia toate porturile TCP/UDP
deschise si le inunda cu pachete de comanda SunRPC nule in
incercarea de a determina daca sunt porturi RPC si, daca e asa, ce
program si ce versiune servesc. Puteti obtine aceleasi informatii
cu
rpcinfo -pchiar daca
portmapperul tintei se afla in spatele unui firewall (sau este
protejat de TCP wrapper). Momelile nu functioneaza cu scanarea RPC.
Este activat automat ca parte a scanarii versiunii (
) daca solicitati asa ceva. Deoarece detectia
versiunii include si rezultatele acestei scanari fiind mult mai
larga in acoperire,
este rareori necesara.Detectia sistemului de operareUna dintre cele mai cunoscute facilitati ale Nmap o reprezinta
detectarea de la distanta a sistemului de operare folosind amprentele
stivei TCP/IP. Nmap trimite o serie de pachete TCP si UDP la calculatorul
tinta si examineaza practic bit cu bit raspunsul. Dupa ce ruleaza o
multime de teste ce includ crearea de modele TCP ISN, suportul si
ordonarea optiunilor TCP, crearea de modele IPID si verificarea
dimensiunii intiale a cadrului, Nmap compare rezultatul cu baza de date
nmap-os-fingerprintsce contine mai
mult de 1500 de amprente de sisteme de operare, si afiseaza detaliile
acestuia daca este gasita o similitudine. Fiecare amprenta include o
descriere textuala a sistemului de operare si o clasificare ce furnizeaza
numele producatorului (ex: Sun), sistemul de operare (ex: Solaris),
versiunea (ex: 10) si tipul masinii (scop general, router, switch,
consola de jocuri, etc.)Daca Nmap este in imposibilitatea de a ghici sistemul de operare al
unei masini iar conditiile sunt favorabile (ex: cel putin un port deschis
si unul inchis au fost gasite), Nmap va furniza un URL pe care il puteti
folosi pentru a trimite, daca stiti cu siguranta, ce sistem de operare
ruleaza. Prin acest lucru contribuiti la baza de sisteme cunoscute de
Nmap, facand identificarea sistemului de operare mai precisa si pentru
ceilalti.Detectia sistemului de operare activeaza alte cateva teste care
folosesc oricum informatia obtinuta in acest proces. Unul dintre acestea
este masurarea timpului de activitate (uptime), care foloseste optiunea
de amprenta de timp din pachetele TCP (RFC 1323) si ghiceste cand a fost
ultima oara rebutata masina. Acest lucru este raportat doar pentru
masinile care furnizeaza aceasta informatie. Alt test este cel de
clasificare al predictibilitatii secventei TCP. Acesta masoara cu
aproximatie cat de greu este sa stabilesti o conexiune falsificata TCP cu
tinta. Este folositoare pentru exploatarea relatiilor de incredere bazate
pe IP (rlogin, filtre firewall, etc.) sau pentru ascunderea sursei unui
atac. Acest tip de ascundere a identitatii este rar intalnita in zilele
noastre, dar multe masini sunt inca vulnerabile. Numarul ce reprezinta
dificultatea este bazat pe modelarea statistica si poate fluctua. In
general este mai bine daca se foloseste clasificarea textuala, cum ar fi
worthy challenge (merita incercat)sau
trivial joke (gluma banala). Acestea sunt raportate doar
in modul afisare detaliata (
). Cand modul afisare detaliata este activat alaturi
de
, generarea secventei IPID este si ea raportata. Cele
mai multe masini sunt in clasa
incrementala, ceea ce inseamna ca incrementeaza campul ID
din headerul fiecarui pachet pe care il trimit. Acest lucru le face
vulnerabile la cateva tehnici avansate de culegere a informatiilor si la
atacuri simulate.Un articol ce documenteaza aceste aspecte, precum si personalizarea
detectiei versiunii este disponibil in mai multe limbi la
.Detectarea sistemului de operare este activata si controlata prin
urmatoarele optiuni:
(Activeaza detectia sistemului de operare)Activeaza detectia sistemului de operare, dupa cum s-a
discutat inainte. Alternativ, se poate folosi
pentru activarea atat a detectiei sistemului de
operare cat si a detectiei versiunii.
(Limiteaza detectarea sistemului de
operare la tintele promitatoare)Detectia sistemului de operare este mult mai eficienta daca
sunt gasite cel putin un port TCP inchis si unul deschis. Setati
aceasta optiune si Nmap nici nu va mai incerca detectarea
sistemului de operare pentru hosturile care nu indeplinesc aceste
criterii. Acest lucru poate salva timp substantial, in special in
scanarile mai multor hosturi cu optiunea
. Optiunea are valoare atunci cand detectia
sistemului de operare a fost solicitata prin
sau
.
;
(Ghiceste sistemul de operare pe baza
rezultatelor)Cand Nmap nu poate determina cu exactitate un sistem de
operare, poate oferi un raspuns bazat pe asemanare. Asemanarea
trebuie sa fie foarte apropiata in mod implicit. Oricare dintre
aceste optiuni fac Nmapul sa adopte o atitudine mai agresiva in
gasirea similitudinilor.Optiuni de timp si performantaUna dintre prioritatile principale in dezvoltarea Nmapului a fost
performanta. O scanare implicita (
nmap
nume_host) de pe un calculator din
reteaua locala ia mai putin de o cincime de secunda. Cu greu ai timp sa
clipesti, dar timpul creste o data cu numarul hosturilor. Mai mult,
anumite optiuni cum ar fi scanarea UDP si detectia versiunii pot mari
substantial timpul de scanare. Acelasi lucru il pot face si anumite
configuratii firewall, in special cele care limiteaza rata de raspuns. Cu
toate ca Nmap utilizeaza paralelismul si algoritmi avansati de accelerare
a scanarilor, controlul final asupra a cum ruleaza Nmap revine
utilizatorului. Expertii compun cu atentie comenzile Nmap pentru a obtine
numai informatia de care au nevoie incadrandu-se si in perioada de
timp.Tehnicile pentru imbunatatirea vitezei de scanare includ omiterea
testelor ne-critice si upgradeul la ultima versiune de Nmap (imbunatatiri
de performanta se realizeaza frecvent). Optimizarea parametrilor de timp
poate aduce de asemenea un spor substantial. Aceste optuni sunt
prezentate in cele ce urmeaza.
;
(Ajusteaza
dimensiunea grupurilor pentru scanari paralele)Nmap are capacitatea de a scana porturi sau versiuni pe mai
multe hosturi in paralel. Nmap realizeaza acest lucru prin
divizarea spatiului de adrese IP tinta in grupuri si scanand
fiecare grup pe rand. In general, grupurile mari sunt mult mai
eficiente. Aspectul negativ este ca rezultatul scanarii pentru
fiecare host nu poate fi furnizat pana ce nu e terminata scanarea
pentru intregul grup. Daca Nmap porneste scanarea unui grup de 50
de hosturi, utilizatorul nu va primi nici un raport (cu exceptia
updateurilor oferite de modul vizualizare detaliata) pana ce
primele nu s-a terminat scanarea pentru aceste hosturi.Implicit, Nmap adopta o abordare de compromis in acest
conflict. Porneste cu un grup mic de cinci pentru a afisa rapid
primele rezultate si apoi creste dimensiunea grupului pana la 1024.
Numarul exact depinde de optiunea data. Din motive de eficienta,
Nmap utilizeaza grupuri mai mari pentru scanarile UDP si pentru
cateva din porturile TCP.Cand o dimensiune maxima este specificata cu
, Nmap nu va depasi niciodata
aceasta valoare. Specificati o dimensiune minima cu
si Nmap va incerca sa mentina
dimensiunile grupurilor peste acel nivel. Nmap se poate vedea
nevoit sa foloseasca grupuri mai mici daca nu mai sunt suficiente
tinte ramase pentru a completa nivelul minim. Amandoua pot fi
folosite pentru a mentine dimensiunea grupului intre anumite
limite, desi acest lucru este in putine cazuri unul de
dorit.Principala utilizare a acestei optiuni este specificarea
dimensiunii minime a unui grup astfel incat scanarea sa ruleze mai
rapid. O alegere uzuala este 256 pentru scanarea unei retele in
bucati egale cu o clasa C. Pentru o scanare cu multe porturi,
depasirea acestui numar este improbabil sa ajute la ceva. Pentru o
scanare cu doar cateva porturi, grupurile de 2048 sau mai multe
hosturi pot fi folositoare.
;
(Seteaza
paralelizarea probelor)Aceste optiuni controleaza numarul de probe in asteptare
pentru un host. Sunt folosite la scanarea de porturi si la
descoperirea hosturilor. Implicit, Nmap calculeaza un numar ideal
pentru paralelism, mereu variabil, in baza performantelor retelei.
Daca unele pachete sunt ignorate, Nmap incetineste ritmul si
permite un numar mai mic de probe in asteptare. Numarul ideal de
probe creste incet pe masura ce reteaua este mai rapida. Aceste
optiuni stabilesc limitele minima si maxima ale acestei variabile.
Implicit, paralelismul ideal poate scadea la 1 daca reteaua
raspunde greu si se ridica pana la cateva sute in conditii
perfecte.Cea mai comuna utilizare o reprezinta setarea
la o valoare mai mare de unu
pentru a mari viteza de scanare pentru hosturi si retele cu
performante slabe. Aceasta este o optiune riscanta, deoarece
setarea ei la o valoare prea mare poate influenta calitatea
rezultatului. Setarea acesteia reduce de asemenea capacitatea Nmap
de a controla paralelismul in mod dinamic pe baza conditiilor
intalnite in retea. O valoare de zece poate fi una rezonabila, cu
toate ca eu ajustez aceasta valoare doar ca o ultima
optiune.Optiunea
este setata cateodata pentru a
preveni Nmap sa trimita mai mult de o proba o data catre un host.
Poate fi folositoare in combinatie cu
(ce va fi discutata mai tarziu), cu
toate ca cea de-a doua face acest lucru destul de bine si
singura.
,
,
(Seteaza
timpul de viata al probelor)Nmap mentine un timp de viata pentru determinarea timpului
maxim asteptat pentru ca o proba sa genereze un raspuns, inainte sa
se renunte la ea sau sa fie retransmisa. Este calculata pe baza
timpilor de raspuns a probelor anterioare. Daca latenta retelei are
o valoare mare si variabila, atunci timpul de viata poate creste
pana la cateva secunde. Porneste de la o valoare mare si poate
ramane asa un timp pana cand Nmap scaneaza hosturi care nu
raspund.Aceasta optiune preia o valoare in milisecunde. Specificand o
valoare mica pentru
si
, in scanarile default se pot
obtine reduceri de timp semnificative. Acest lucru este in
particular adevarat pentru hosturile care nu raspund la ping (
) si a celor impotriva retelelor masiv
filtrate. nu deveniti insa prea agresiv. Scanarea poate sfarsi
intr-un timp mare daca valorile sunt prea mici si probele expira
repede, fiind necesara retransmiterea lor in timp ce probabil
raspunsul este pe drum.Daca hosturile fac parte din reteaua interna, o valoare de
100 milisecunde este una suficient de agresiva pentru
. Daca routarea intra in joc,
executati un ping la un host din respectiva retea folosind
utilitarul PING din sistemul de operare, sau cu un utilitar de
construit pachete cum ar fi hping2 ce are mai multe sanse de a
trece prin firewall. Analizati timpul maxim dintr-un grup de zece
pachete. Il puteti dubla pentru
si tripla pentru
. In general, nu setati timpul
maxim rtt sub 100 milisecunde., indiferent de ce raporteaza
pingurile. Si nici nu depasiti 1000 milisecunde.
este rar folosita si nu este
folositoare intr-o retea pentru care valoarea implicita a Nmap este
prea agresiva. Din moment ce Nmap reduce timpul de viata al
pachetelor pana la minim pentru o retea eficienta, nevoia acestei
optiuni nu este uzuala si ar trebui raporta ca o problema in lista
de discutii nmap-dev.
(Se renunta la
tintele lente in raspuns)Unele hosturi iau un timp prea
lungde scanare. Se poate datora unor
performante proaste ale retelei hardware si software, limitarii a
ratei de pachete sau firewallurilor restrictive. Cele mai lente
cateva hosturi pot manca majoritata timpului de scanare. Cateodata
este bine sa scapam de aceste pierderi si sa sarim aceste hosturi.
Acest lucru poate fi realizat prin specificarea
cu un numar de milisecunde in care
sunteti disponibili sa asteptati. De obicei specific 1800000 pentru
a ma asigura ca Nmap nu va pierde mai mult de o jumatate de ora
pentru un singur host. De notat ca Nmap poate scana si alte hosturi
in acelasi timp, deci nu reprezinta o pierdere totala acest timp.
Un host care depaseste aceasta perioada este sarit. Tabela de
porturi, detectia sistemului de operare sau detectia versiunii nu
sunt afisate pentru acel host.
;
(Ajusteaza pauza
dintre probe)Aceasta optiune face ca Nmap sa astepte cel putin un numar
dat de milisecunde intre probele trimise la un host. Este
folositoare in particular in cazul in care exista o rata de
limitare. Masinile Solaris (printre multe altele) vor raspunde
scanarii UDP cu un singur mesaj ICMP pe secunda. Orice alta proba
trimisa de Nmap in acest interval va fi irosita. O optiune
cu valoarea 1000 va mentine Nmap la
acea rata lenta. Nmap incearca detectarea ratei de limitare si
ajusteaza scanarea in functie de aceasta, dar nu face rau sa
specificati explicit daca stiti deja ce rata functioneaza cel mai
bine.Alta utilizare a
este ascunderea scanarii in fata
IDS/IPSurilor bazate pe un anumit prag de raspuns.
(Seteaza
optiunile de timp)Desi optiunile detaliate de control al timpilor discutate mai
sus sunt puternice si eficiente, unii oameni le gasesc confuze. Mai
mult, alegerea valorilor corecte poate dura uneori mai mult decat
scanarea in sine. Asadar Nmap ofera o abordare mai simpla, cu sase
modele de timp. Le puteti specifica cu optiunea
si numarul (0-5) sau numele. Numele modelelor
sunt paranoid (paranoic - 0), sneaky (siret - 1), polite (politicos
-2), aggresive (agresiv - 4) si insane (nebun - 5). Primele doua
sunt folosite pentru ascunderea de IDS. Modul politicos incetineste
ritmul scanarii pentru a utiliza mai putina latime de banda a
masinii tinta. Modul normal este implicit asa ca
nu face nimic. Modul agresiv accelereaza
scanarea presupunand ca va aflati intr-o retea rapida. In fine,
modul nebun presupune ca va aflati intr-o retea extrem de rapida
sau ca sunteti dispus sa sacrificati acuratetea rezultatelor in
favoarea vitezei.Aceste modele permit utilizatorului sa specifice cat de
agresiva sa fie scanarea, lasand totusi Nmapul sa aleaga valorile
exacte. Modelele realizeaza uneori mici reglaje pentru care inca nu
exista optiuni de control. De exemplu,
interzice scanarii dinamice sa depaseasca 10
milisecunde pentru porturile TCP si
reduce aceasta valoare la 5 milisecunde.
Modelele pot fi folosite in combinatie cu controalele fine de timp,
atat timp cat modelul este specificat mai intai. Altfel valorile
standard ale modelului pot suprascrie valorile specificate. Se
recomanda folosirea
cand se scaneaza retele moderne rapide.
Pastrati aceasta optiune la inceputul liniei de comanda chiar si
cand adaugati optiuni de control fin pentru a beneficia de micile
ajustari oferite.Daca folositi o conexiune broadband sau ethernet, recomand
folosirea intotdeauna a optiunii
. Unii oameni adora
cu toate ca este prea agresiva pentru gustul
meu. Altii specifica
deoarece cred ca scanarea va bloca hosturile si
se considere pe ei politicosi in general. De obicei nu realizeaza
cat de inceata este optiunea
. Scanarile lor pot lua de zece ori mai
mult timp decat unele implicite. Blocarile masinilor si probleme
legate de banda sunt rare cu modelul implicit (
) asa ca in mod normal este recomandat pentru
scanere precaute. Omiterea detectiei versiunii este mult mai
eficienta decat jocul cu optiunile de timp.Desi
si
pot fi folosite pentru pacalirea IDSurilor, ele
pot lua un timp extrem de mare pentru a scana mii de masini sau
porturi. Pentru o astfel de scanare lunga, puteti prefera setarea
exacta a optiunilor de timp decat sa va bazati pe cele inglobate in
optiunile
si
.Principalul efect al
este serializarea scanarii astfel incat un
singur port este scanat o data, si se asteapta cinci minute intre
trimiterea probelor.
si
sunt similare dar asteapta doar 15 secunde,
respectiv 0,4 secunde intre probe.
este comportamentul implicit al Nmapului ce
include si paralelizarea.
realizeaza echivalentul
si
seteaza intarzierea maxima pentru scanarea TCP la 10 milisecunde.
realizeaza echivalentul la
si seteaza
intarzierea maxima pentru scanarea TCP la 5 milisecunde.Pacalirea Firewall/IDSurilor si ascunderea identitatiiMulti pionieri ai internetului au prevazut o retea globala deschisa
cu un spatiu universal de adrese IP permitand conexiuni virtuale intre
oricare doua noduri. Acest lucru permite hosturilor sa actioneze ca
parteneri in comunicatie, sa serveasca si sa obtina informatii unul de la
celalalt. Oamenii pot accesa sistemele de acasa, sa schimbe temperatura
in casa sau sa deschida usa pentru oaspetii grabiti. Viziunea
conectivitatii universale a fost inabusita de micsorarea spatiului de
adrese si de problemele de securitate. La inceputul anilor 90,
organizatiile au inceput implementarea firewallurilor cu scopul precis de
reducere a conectivitatii. Retele uriase au fost separate de Internetul
nefiltrat prin aplicatii proxy, traduceri de adrese de retea (NAT) si
filtre de pachete. Fluxul nerestrictionat de informatii a facut loc
canalelor de comunicatie aprobate si supuse unor anumite reguli, precum
si controlului datelor ce trece prin ele.Obstacolele din retea cum ar fi firewallurile pot face din maparea
retelei o operatie extrem de dificila. Nu va deveni mai usor din moment
ce constrangerile aplicate retelei reprezinta adesea un scop al
implementarii noilor echipamente in retea. Nu e mai putin adevarat ca
Nmap ofera multe optiuni pentru intelegerea acestor retele complexe si sa
verifice daca filtrele functioneaza asa cum trebuie. Chiar suporta
mecanisme de depasire a sistemelor de aparare prost implementate.
Punetiva in pielea unui atacator si aplicati tehnici din aceasta sectiune
in reteaua dumneavoastra. Lansati un atac sarit FTP, o scanare Idle, o
fragmentare a atacului sau incercati realizarea unui tunel printr-un
proxy de-al dumneavoastra.In plus fata restrictiile retelelor, companiile au inceput sa
monitorizeze traficul cu sisteme de detectie a intruziunilor (IDS). Toate
IDSurile cunoscute sunt livrate cu reguli care sa detecteze scanarile
Nmap deoarece acestea preced de obicei un atac. Multe dintre acestea sau
transformat in sisteme de
prevenirea intruziunilor (IPS) care blocheaza in mod
activ traficul presupus malitios. Din pacate pentru administratorii de
retea si vanzatorii IDSurilor, detectarea in mod corect a relelor
intentii prin analizarea pachetelor este o problema dificila. Atacatorii
cu rabdare, indemanare si ajutor din partea anumitor optiuni Nmap pot in
mod normal sa treaca de IDS nedetectati. Intre timp, administratorii au
de a face cu o multime de alerte false cand trafic inocent este gresit
diagnosticat si se emite o atentionare sau este chiar blocat.Cateodata oamenii sugereaza ca Nmap nu ar trebui sa ofere functii
de pacalire a regulilor firewallurilor sau de trecerea nedetectata de
IDS. Argumeenteaza prin faptul ca pot fi folosite de atacatori. Problema
in acest rationament este ca atacatorii tot vor gasi instrumente sau
patchuri pentru Nmap pentru a realiza acest lucru. Intre timp,
administratorii pot descoperii ca munca lor este mult mai dificila.
Instalarea numai a serverelor FTP moderne, cu patchurile aplicate la zi
este o metoda mult mai buna de protectie decat prevenirea distribuirii
instrumentelor ce implementeaza atacurile sarite FTP.Nu exista nici o optiune magica in Nmap pentru detectarea si
pacalirea firewallurilor si a sistemelor IDS. Acest lucru ia indemanare
si experienta. O prezentare detaliata este dincolo de scopul acestui ghid
de referinta, care listeaza doar optiunile relevante si descrie ce fac
ele.
(fragmenteaza pachetele);
(foloseste MTU specificat – Unitatea Maxima de
Transmitere)Optiunea
face ca scanarea ceruta (incluzand scanarea
ping) sa foloseasa fragmente mici de pachete IP. Ideea este
impartirea headerului TCP in mai multe pachete pentru a ingreuna
misiunea filtrelor de pachete, sistemelor de detectare a
intruziunilor si a altor elemente de detectare a activitatii.
Atentie cu aceasta optiune! Unele programe au probleme in
manevrarea acestor pachete mici. De exemplu Sniffit esua dupa
primirea primului fragment. Specificati aceasta optiune o data si
Nmap va imparti pachetul in fragmente de opt bytes sau mai putin
dupa headerul IP. Astfel, un header TCP de 20 bytes va fi impartit
in 3 pachete. Doua de opt bytes si unul cu ultimii patru. Desigur,
fiecare fragment are propriul header TCP. Specificati
inca o data pentru folosirea a 16 bytes pe
fragment (reducand numarul de fragmente). Sau puteti specifica
propriile dimensiuni cu optiunea
. Nu specificati si
daca folositi
. Dimensiunea trebuie sa fie un multiplu de
8. Pachetele fragmentate nu vor trece de filtrele de pachete si
firewallurile care interogheaza toate fragmentele IP, cum ar fi
optiunea CONFIG_IP_ALWAYS_DEFRAG din kernelul Linuxului, unele
retele nu-si pot permite pierderea de performanta cauzata de aceste
configurari si le dezactiveaza. Altele nu pot activa configurarile
de acest gen deoarece fragmentele pot intra pe rute diferite in
retea. Unele sisteme defragmenteaza pachetele de iesire in kernel.
Linux cu modulul de urmarire a conexiunii din iptables este un
exemplu. Realizati o scanare si rulati in acelasi timp un sniffer
de genul Ethereal pentru a va asigura ca pachetele sunt
fragmentate. Daca sistemul de operare va creaza probleme, incercati
optiunea
de sarire a nivelului IP si de trimitere
de cadre ethernet brute.
(Scanare acoperita de momeli)Face ca o scanare acoperita de momeli sa fie executata, ceea
ce face ca tinta sa creada ca momelile specificate ca argument
scaneaza si ele reteaua. Astfel IDS poate raporta 5-10 scanari de
porturi de la adrese IP unice, dar nu va stii care adresa scaneaza
cu adevarat si care sunt momeli inocente. Cu toate ca aceasta
tehnica poate fi contrata prin urmarirea caii prin routere,
ignorarea raspunsului si alte mecanisme active, ea reprezinta o
tehnica eficienta de ascundere a adresei IP.Separati fiecare momeala prin virgule si folositi optional
ME(adica propria adresa IP) ca
una dintre momeli pentru a reprezenta adevarata pozitie a adresei
IP reale. Daca puneti
MEin a sasea pozitie sau mai
tarziu, unele detectoare de scanari de porturi (cum ar fi Solar
Design) pot sa nici nu afiseze adresa IP reala. Daca nu folositi
ME, nmap il va pune intr-o
pozitie aleatoare.Retineti faptul ca tintele pe care le folositi ca momeli
trebuie sa fie active sau altfel riscati sa inundati cu pachete SYN
tinta. In aceeasi ordine de idei, este usor de determina cine face
scanarea daca o singura adresa IP este activa. E de preferat sa
utilizati adrese IP in loc de nume (astfel incat numele hostului
dumneavoastra sa nu apara in logurile DNSului tinta).Momelile sunt folosite atat in pingul initial (folosind ICMP,
SYN, ACK sau orice altceva) si in timpul scanarii efective de
porturi. Momelile sunt de asemenea folosite la detectarea
sistemului de operare (
). Momelile nu functioneaza cu detectia
versiunii sau scanarea TCP connect().Nu folositi prea multe momeli deoarece pot incetini scanarea
si o pot face mai putin corecta. De asemena, unii ISP vor filtra
pachetele false, dar multi nu restrictioneaza pachetele IP de
loc.
(Seteaza adresa IP sursa)In anumite circumstante, Nmap se poate afla in
imposibilitatea determinarii adresei sursa (Nmap va anunta daca
acest lucru se intampla). In aceasta situatie, folositi
cu adresa IP a interfetei pe care doriti sa
trimiteti pachetele.Alta posibila utilizare a acestei optiuni este sa faceti
tinta sa creada ca este scanata de
altcineva. Imaginativa o companie permananent
scanata de un competitor! Optiunea
va fi in general necesara pentru astfel de
utilizare si
este de asemenea recomanda.
(Foloseste interfata
specificata)Spune Nmapului ce interfata sa foloseasca pentru trimiterea
si primirea pachetelor. Nmap ar trebui sa poata determina automat
acest lucru, dar va va anunta daca nu poate.
(Seteaza portul
sursa)O greseala surprinzator de des intalnita o reprezinta
configurarea relatiilor de incredere in functie de numaul portului
sursa. Este usor de inteles cum stau lucrurile. Un administrator
instaleaza un nou firewall si este apoi ingropat in plangeri din
partea utilizatorilor nemultumiti ale caror aplicatii nu mai
functioneaza. In particular, DNSul poate fi blocat deoarece
raspunsurile UDP DNS de la serverele externe nu mai pot intra in
retea. FTP este un alt exemplu. In transferurile FTP active,
serverul incearca sa stabileasca o conexiune inapoi la client
pentru transferarea fisierului solicitat.Solutii securizate la aceste probleme exista, de obicei sub
forma de proxiuri la nivelul aplicatie sau module firewall care
analizeaza protocoalele. Din pacate exista si solutii mai simple si
mai nesigure. Notand faptul ca raspunsurile DNS vin de la portul 53
si cele de la conexiunile FTP de la portul 20, multi administratori
au cazut in capcana permiterii neconditionate a traficului de la
aceste porturi. Adesea ei presupun ca nici un atacator nu va
observa si exploata astfel de gauri in firewall. In alte cazuri,
administratorii considera aceasta rezolvare ca una pe termen scurt
pana cand vor implementa o solutie mai sigura. Apoi ei uita sa mai
faca upgradeul de securitate.Administratorii retelelor supraincarcate nu sunt singurii
care cad in aceasta capcana. Numeroase produse au fost livrate cu
aceste reguli nesigure. Chiar si Microsoft are partea ei de vina.
Filtrele IPsec livrate cu Windows 2000 si Windows XP contin o
regula implicita care permite traficul oricarui pachet UDP cu
portul sursa 53 (DNS) sau 67 (DHCP).Nmap ofera optiunile
si
(care sunt echivalente) pentru
exploatarea acestei slabiciuni. Specificati un numar ca argument si
Nmap va trimite pachete de la acel port oricand acest lucru este
posibil. Nmap trebuie sa foloseasca porturi diferite pentru anumite
teste de detectare a sistemului de operare si cererile DNS ignora
optiunea
deoarece Nmap se bazeaza pe
librariile sistemului pentru a le manevra. Multe scanari TCP,
incluzand-o pe cea SYN, suporta aceasta optiune, la fel ca si
scanarea UDP.
(Adauga un numar aleator
de date la pachetul trimis)In mod normal Nmap trimite pachete minimaliste continand doar
headerul. Astfel pachetele TCP au in general 40 bytes si cererile
de raspuns ICMP doar 28. Aceasta optiune adauga un numarul dat ca
argument de bytes, generati aleator, la majoritatea pachetelor
trimise. Pachetele pentru detectia sistemului de operare (
) nu sunt afectate, dar majoritatea pingurilor
si scanarilor de porturi sunt. Acest lucru incetineste viteza de
scanare, dar pachetele pot fi mai putin suspicioase.
(Seteaza campul IP time-to-live
– timp de viata)Seteaza campul IP time-to-live – timp de viata – la valoarea
specificata.
(Scaneaza hosturile in ordine
aleatoare)Spune Nmapului sa aranjeze aleator grupuri de 8096 hosturi
inainte de scanare. Aceasta optiune poate face scanarea mai putin
vizibila pentru anumite sisteme de monitorizare a retelei, in
special cand e combina cu un specificator mic de timp. Daca vreti
ca aranjarea aleatoare sa se realizeze pentru grupuri mai mari,
cresteti valoarea PING_GROUP_SZ din
nmap.hsi recompilati. O
solutie alternativa o reprezinta generarea listei de IPuri ce
urmeaza a fi scanata cu o scanre de tip lista (
), si sa realizati
aranjarea aleatoare a lor cu un script Perl, apoi sa furnizati
intreaga lista Nmapului cu optiunea
.
(Falsifica adresa MAC)Cere Nmapului sa foloseasca adresa MAC furnizata pentru toate
cadrele ethernet pe care le trimite. Aceata optiune implica
pentru a se asigura ca Nmap trimite
pachetele la nivelul retea. MACul specificat poate avea cateva
formate. Daca spcificati sirul
0, Nmap alege un MAC complet aleator pentru sesiunea
respectiva. Daca sirul furnizat este un numar par de digiti hexa
(cu perechile separate prin caracterul “:”), Nmap va folosi
respectuva adresa MAC. Daca mai putin de 12 digiti sunt furnizati,
Nmap umple 6 bytes cu valori aleatoare. Daca argumentul nu este
nici 0, nici sir hexa, Nmap cauta in
nmap-mac-prefixespentru a gasi
un producator care sa contina sirul dat (cautare insenzitiva). Daca
o asemanare este gasita, Nmap foloseste identificatorul unic al
vanzatorului (3 bytes) si completeaza cu 3 bytes alesi aleator.
Argumentele valide ale optiunii
sunt
Apple,
0,
01:02:03:04:05:06,
deadbeefcafe,
0020F2, si
Cisco.Afisarea rezultatelorOrice instrument de securitate este bun in masura rezultatelor
generate. Teste complexe si algoritmi nu au nici o valoare daca nu sunt
prezentate intr-un mod organizat si inteligibil. Dat fiind numarul de
moduri in care Nmap este folosit de oamenii sau programe, nu exista un
format unic care sa ii multumeasca pe toti. Asadar, Nmap ofera mai multe
formate, incluzandu-l pe cel interactiv pentru citirea uzuala si XML
pentru interpretarea rezultatelor de catre software.In plus fata de oferirea diferitelor formate de afisare, Nmap
furnizeaza si optiuni de control al cantitatii de informatii si al
mesajelor de eroare. Tipurile de afisare a rezultatelor sunt trimise la
iesirea standard sau in fisiere, unde Nmap poate adauga sau rescrie.
Fisierele cu rezultate pot fi de asemenea folosite pentru reluarea
scanarilor intrerupte.Nmap face rezultatele disponibile in cinci formate. Cel implicit
este numit
afisare interactiva, si este trimis la
iesirea standard (stdout). Exista si un mod de
afisare normala, care este similar cu
cel
interactivcu exceptia faptului ca
afiseaza mai putine informatii si avertizari in timpul rularii din moment
ce se asteapta analizarea rezultatelor dupa ce scanarea s-a
incheiat.Formatul XML este unul dintre cele mai importante tipuri, deoarece
poate fi convertit in HTML, prelucrat de programe cum ar fi interfata
grafica a Nmap sau importat in baze de date.Celelalte doua tipuri sunt mai simple
formatul pentru comanda grepcare
include majoritatea informatiilor despre un host pe o singura linie si
f0rm4Tu1 sCRiPt KiDDi3pentru
utilizatorii care se considera |<-r4d.In vreme ce afisarea interactiva este formatul implicit si nu are
asociat o optiune pentru linia de comanda, celelalte patru formate
folosesc aceeasi sintaxa. Ele iau un argument, care este numele
fisierului in care se stocheaza rezultatele. Formate multiple pot fi
specificate, dar fiecare format poate fi specificat cel mult o data. De
exemplu, puteti dori salvarea in formatul normal pentru citirea
ulterioara si in formatul XML pentru analiza software. Puteti realiza
acestea cu optiunea
. Desi in
acest capitol numele folosite sunt simple, precum
scanarea_mea.xmlpentru simplitate,
nume mai descriptive sunt recomandate. Numele alese sunt o chestie de
preferinta, iar eu folosesc nume lungi care incorporeaza data scanarii si
un cuvant doua pentru descriere si sunt plasate in directoare numite in
functie de companiile scanate.Desi aceste optiuni salveaza rezultatele in fisiere, Nmap afiseaza
totusi in modul interactiv la iesirea standard rezultatele. De exemplu,
comanda
nmap -oX scanarea_mea.xml tintascrie
in format XML in
scanarea_mea.xmlsi afiseaza la
iesirea standard rezultatele in modul interactiv ca si cum optiunea
nu a fost specificata. Puteti modifica acest lucru
furnizand ca argument al optiunii caracterul cratima (“-”) la unul din
tipurile de formate de afisare. Acest lucru face ca Nmap sa dezactiveze
formatul interactiv, si sa afiseze in schimb rezultatele in formatul
specificat la iesirea standard. Comanda
nmap -oX - tintava trimite rezultatele
in format XML la iesirea standard. Erorile mari pot fi scrise in mod
normal in sirul de erori, stderr.Spre deosebire de argumentele Nmap, spatiul dintre optiune (cum
este
) si numele fisierului sau cratima este obligatoriu.
In caz contrar, in situatii ca
sau
, o functie de compatibilitate cu versiunile
anterioare va face ca Nmap sa creeze in
formatul normalfisiere de iesire cu numele
G-si
Xscan.xml.Nmap ofera optiuni de control al nivelului de informatii afisate si
daca la fisiere se va face adaugare de informatie sau vor fi suprascrise.
Toate optiunile sunt descrise mai josFormate de afisare a rezultatelor
(Afisare
normala)Cere ca
formatul normalsau fie
directionat catre fisierul specificat. Asa cum s-a discutat mai
sus, exista o mica diferenta fata de
formatul interactiv.
(Formatul XML)Cere ca
formatul XMLsa fie directionat
catre fisierul specificat. Nmap include o definitie a tipului de
document (DTD) care permite analizatoarelor XML sa valideze
fisierele cu rezultate in format XML. Desi este in principal
folosit in programare, el poate ajuta si oamenii sa interpreteze
rezultatele. DTD defineste elementele legale ale formatului si
adesea enumera atributele si valorile pe care le pot lua. Ultima
versiune este intotdeauna disponibila la
.XML ofera un format stabil care este usor interpretat de
software. Analizatoare XML sunt disponibile pentru majoritate
limbajelor de programare, incluzand C/C++, Perl, Python si Java.
Oamenii au scris programe pentru majoritatea acestor limbaje care
interpreteaza direct rezultatele Nmap. Exemplele sunt
Nmap::Scannersi
Nmap::Parserin Perl
CPAN. In majoritatea cazurilor in care o aplicatie interfereaza cu
Nmap, XML este formatul preferat.Formatul XML referentiaza un format de pagina XSL care poate
fi folosit pentru convertirea rezultatelor in HTML. Cea mai usoara
cale de a realiza acest lucru o reprezinta simpla incarcare a
fisierului XML intr-un browser cum ar fi Firefox sau IE. Implicit,
acest lucru functioneaza doar pe masinile pe care rulati Nmap (sau
pe cele configurate similar) din cauza caii fisierului
nmap.xsl. Folositi optiunile
sau
pentru crearea de fisiere XML
portabile care sunt randate ca HTML pe orice masina conectata la
web.
(f0rm4u1 ScRipT
KIdd|3)Formatul script kiddie este asemanator cu formatul
interactiv, cu exceptia faptului ca sirul de iesire este
post-procesat pentru a se potrivi mai bine cu stilul HaXXorZ care
au neglijat in trecut Nmapul datorita formatului corect gramatical
si ortografic de afisare a rezultatelor. Cei fara umor ar trebui sa
noteze faptul ca eu iau peste picior script kiddie, inainte de a ma
blama pentru presupusul
ajutor acordat.
(Formatul pentru
comanda grep)Acest format este lasat la urma deoarece este invechit.
Formatul XML este mult mai puternic si este aproape la fel de
convenabil pentru utilizatorii experimentati. XML este un standar
pentru care exista o multime de interpretoare, in vreme ce formatul
grep reprezinta solutia doar pentru probleme punctuale. XML este
extensibil pentru a prelua noi functionalitati ale Nmap in
versiunile urmatoare in vreme ce sunt nevoit adeseori sa omit
aceste optiuni din formatul greu din cauza lipsei de spatiu.Nu e mai putin adevarat ca formatul grep este inca destul de
popular. Este un format simplu care listeaza fiecare host pe cate o
linie si poate fi usor interpretat cu instrumente standard UNIX cum
ar fi grep, awk, cut, sed, diff si Perl. Chiar si eu il folosesc
pentru unul din testele realizate in linie de comanda. Gasirea
tuturor hosturilor cu portul ssh deschis si care ruleaza Solaris
presupune o simpla comanda grep pentru identificarea hosturilor,
imbinata cu awk sau cut pentru afisarea campurilor dorite.Formatul grep consta in comentarii (linii care incep cu diez
(#)) si linii cu tinte. O linie cu tinta include o combinatie de 6
campuri etichetate, separate prin taburi si urmate de doua puncte
(“:”). Campurile sunt
Host,
Porturi,
Protocoale,
Status ignorat,
Sistem de operare,
Index Seq,
IPID, si
Status.Cele mai importante dintre aceste campuri sunt in general
Porturile, care ofera detalii
despre fiecare port interesant. Este o lista separata prin virgule
de porturi. Fiecare port reprezinta un port interesant, si ia forma
unui subcamp separat in sapte de caracterul slash (/). Subcampurile
sunt:
Numarul portului,
Status,
Protocol,
Detinator,
Serviciu,
informatii SunRPC, si
Informatii despre
versiune.Ca si pentru formaul XML, aceasta pagina man nu permite
documentarea intregului format. O detaliere a formatului pentru
comanda grep este disponibila la
.
(Scrie in toate
formatele)Pentru usurinta, puteti specifica
pentru stocarea
rezultatelor in formatele normal, XML si pentru comanda grep, toate
odata. Ele sunt stocate in
nume_de_baza.nmap,
nume_de_baza.xml, si
nume_de_baza.gnmap. La fel ca in
majoritatea programelor puteti adauga si calea inaintea numelor
fisierelor, ca in exemplele
~/logurinmap/foocorp/sub UNIX
sau
c:\hacking\scosub
Windows.Optiuni privind cantitatea de informatii afisate si
depanare
(Creste cantitatea de informatii afisate)Creste cantitatea de informatii afisate, facand ca Nmap sa
afiseze mai multe date despre scanarea in curs. Porturile deschise
sunt afisate pe masura ce sunt descoperite si un timp estimat al
terminarii este furnizat atunci cand Nmap constata ca scanarea va
dura mai mult decat cateva minute. Folositi de doua ori optiunea
pentru un efect si mai puternic. Folosirea mai mult de doua ori nu
are nici un efect.Majoritatea modificarilor vor afecta doar afisarea
interactiva si unele mai pot afecta formatul script kiddie.
Celelalte formate sunt concepute pentru a fi procesate de masini,
asa ca Nmap ofera implicit un nivel detaliat de informatii fara a
obosi utilizatorul. Totusi, exista cateva schimbari in celelalte
moduri unde dimensiunea rezultatelor poate fi redusa substantial
prin omiterea unor detalii. De exemplu, o linie ce contine
comentarii in formatul pentru comanda grep care furnizeaza o lista
cu toate porturile scanate este furnizata doar in modul de afisare
cu informatii detaliate (-v) dearece poate fi destul de
lunga.
(Creste sau seteaza nivelul de
depanare)Cand modul afisare detaliata nu va ofera suficiente
informatii, modul depanare este disponibil pentru a va inunda cu si
mai multa informatie! La fel ca si cu optiunea de vizualizare
detaliata (
), modul depanare este activat printr-un
specificator (
) si nivelul de depanare poate fi crescut prin
specificarea lui de mai multe ori. Alternativ, se poate seta un
nivel de depanare prin specificarea unui argument la
. De exemplu,
seteaza nivelul 9. Acesta este cel mai mare
nivel efectiv si va produce mii de linii, doar daca nu realizati o
scanare simpla cu cateva porturi si hosturi.Modul depanare este folositor cand se suspecteaza o problema
in Nmap, sau daca esti pur si simplu incurcat de ce si ce face
Nmap. Cum aceasta functionalitate este in general destinata
dezvoltatorilor, mesajele de depanare nu sunt intotdeauna clare.
Puteti vedea ceva de genul:
Timeoutvals: srtt: -1 rttvar: -1
to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to:
100000. Daca nu intelegeti o linie, singurele
lucruri de facut este sa o ignorati, sa cautati in codul sursa sau
sa solicitati ajutor in lista de dezvoltare (nmap-dev). Unele linii
sunt explicite, dar mesajele devin mai obscure pe masura ce nivelul
de depanare creste.
(Urmareste pachetele si datele trimise
si primite)Face ca Nmap sa afiseze un sumar cu toate pachetele trimise
sau primite. Este adesea folositoare pentru depanare, dar este si o
sursa pretioasa pentru noii utilizatori de a intelege exact ce face
Nmap. Pentru a evita printarea de mii de linii, puteti dori
specificarea unui numar limitat de porturi in vederea scanarii, cum
ar fi
. Daca va intereseaza doar ce se intampla
in timpul detectarii versiunii, folositi in schimb
.
(Listeaza interfetele si caiule de
rutare)Afiseaza interfetele si caile de rutare ale sistemului asa
cum sunt ele detectate de Nmap. Este folositor pentru depanarea
cailor de rutare sau interpretarea gresita a dispozitivelor (cum ar
fi tratarea de catre Nmap a unei conexiuni PPP ca una
Ethernet).Optiuni pentru afisare unor informatii diverse
(Adauga la fisierul de rezultate in
loc sa il inlocuiasca)Cand specificati un nume de fisier la optiuni cum ar fi
sau
, acel fisier este suprascris implicit. Daca
prefereati pastrarea continutului si adaugarea la sfarsitul lui de
noi informatii, specificati optiunea
. Toate fisierele de rezultate
specificate la executia Nmap vor fi deschise in modul adaugare in
loc sa fie suprascrise. Acest lucru nu functioneaza bine cu
formatul XML (
) deoarece rezultatul nu va fi interpretat
corect pana nu aranjati fisierul manual.
(Reia o scanare
intrerupta)Unele scanari Nmap pot lua un timp foarte mare – de ordinul
zilelor. Asemenea scanari nu ruleaza pana la sfarsit. Anumite
restrictii pot face Nmapul sa nu ruleze in orele cu trafic intens,
reteaua poate fi cazuta, masina pe care ruleaza Nmap poate suferii
o restartare planificata sau neplanificata, sau Nmap poate sa se
blocheze. Administratorul care ruleaza Nmap poate opri scanarea
pentru orice alt motiv, apasand
ctrl-C. Refacerea intregii scanari
de la inceput nu este de dorit. Din fericire, in modul normal (
) sau cel pentru comanda grep (
) logurile sunt pastrate, utilizatorul poate
solicita Nmap reluarea scanarii de la ultima tinta care era scanata
in momentul intreruperii. Specificati optiunea
si furnizati ca argument fisierul de
rezultate in formatul normal sau grep. Nici un alt argument nu este
permis, pentru ca Nmap citeste fisierul de rezultate si foloseste
aceleasi optiuni specificate. Rulati Nmap cu
nmap --resume
numele_fisierului_log. Nmap va
adauga la fisier noile rezultate. Reluarea nu este suportata de
formatul XML deoarece combinarea a doua rulari succesive intr-un
singur fisier XML valid este dificila.
(Seteaza formatul
XSL pentru transformarea rezultatului XML)Nmap este furnizat cu un format XSL numit
nmap.xslpentru vizualizarea
sau traducerea rezultatelor XML in HTML. Rezultatele in formatul
XML includ o directiva
xml-stylesheetdirective care
indica fisierul
nmap.xmldin locatia in care a
fost instalat Nmap (sau din directorul curent in Windows).
Incarcati rezultatul scanarii cu Nmap in format XML intr-un browser
si acesta ar trebui sa aleaga
nmap.xsldin sistemul de
fisiere si sa-l foloseasca pentru afisarea rezultatelor. Daca
doriti specificarea unui alt format de afisare, specificati-l ca
argument pentru
. Trebuie sa furnizati calea completa
sau URLul. O apelare uzuala este
.
Aceasta aplelare spune browserului sa incarce cel mai nou format de
afisare de la Insecure.Org. Optiunea
realizeaza acelasi lucru cu mai putine
lucruri de tastat si memorat. Incarcand fisierul XSL de la
Insecure.Org face vizualizarea mai facila pentru un calculator care
nu are Nmap instalat (si implicit nici
nmap.xsl) Astfel URLul este
adesea mult mai folositor, dar fisierul local nmap.xsl este
utilizat implicit din motive de securitate.
(Incarca formatul stylesheet de la
Insecure.Org)Este un sinonim covenabil pentru
.
(Se omite declaratia stylesheetului
XSL din XML)Specificati aceasta optiune daca vreti sa preveniti Nmapul sa
asocieze vreun format XSL cu fisierul XML. Directiva
xml-stylesheeteste omisa.Optiuni diverseAceasta sectiune descrie cateva optiuni importante (si mai putin
importante) care nu si-au gasit locul in nici o alta sectiune
(Activeaza scanarea IPv6)Din 2002, Nmap ofera suport IPv6 pentru majoritatea
functionalitatilor sale. In particular, scanarea ping (doar TCP),
scanarea connect() si detectarea versiunii suporta toate IPv6.
Sintaxa comenzii este aceeasi cu exceptia adaugarii optiunii
. Desigur, trebuie sa folositi sintaxa IPv6 daca
specificati o adresa in locul unui hostname. O adresa poate arata
3ffe:7501:4819:2000:210:f3ff:fe03:14d0, asa ca
hostnameurile sunt recomandate. Rezultatul arata in mod normal, cu
adresa IPv6 pe linia
porturi_interesanteca singura adresa.Desi IPv6 nu a revolutionat lumea, are parte de o folosire
semnificativa in unele tari (in special in Asia) si majoritatea
sistemelor moderne de operare ofera suport. Pentru folosirea Nmap
cu IPv6, atat sursa cat si tinta scanarii trebuie sa fie
configurate in IPv6. Daca ISPul dumneavoastra nu aloca o adresa
IPv6 (multi nu o fac), tunele de trecere sunt disponibile gratuit
si functioneaza bine cu Nmap. Unul dintre cele mai bune este cel
rulat de BT Exact. Am folosit si
cel furnizat de Hurricane Electric la
. Tunelele 6la4 sunt de
asemenea folosite, existand si optiuni gratuite.
(Optiuni de scanare agresive)Aceasta optiune activeaza alte optiuni avansate si agresive.
Nu m-am decis inca de la ce vine litera de specificare. In prezent
activeaza detectia sistemului de operare (
) si scanarea versiunii (
). Mai multe functionalitati pot fi inglobate
pe viitor. Ideea este de a activa un set cuprinzator de optiuni de
scanare fara ca oamenii sa fie nevoiti sa tina minte un set intreg
de optiuni. Aceasta optiune activeaza functionalitatile, nu si
optiunile de timp (cum ar fi
) sau nivelul de informatii afisat (
) pe care le-ati dori.
(Specifica un anumit
director pentru localizarea fisierelor Nmap)Nmap obtine anumite date in momentul rularii in fisierele
numite
nmap-service-probes,
nmap-services,
nmap-protocols,
nmap-rpc,
nmap-mac-prefixes, si
nmap-os-fingerprints. Nmap
incearca intai sa caute aceste fisiere in directorul specificat cu
optiunea
(daca exista). Orice fisier negasit aici
este cautat in directorul specificat de directiva NMAPDIR. La rand
vin apoi
~/.nmappentru sisteme POSIX
sau locatia executabilului Nmap (pe sistemele Win32), si apoi o
locatie precompilata cum ar fi
/usr/local/share/nmapsau
/usr/share/nmap. Ca o ultima
optiune, Nmap va cauta in directorul curent.
(Foloseste trimiterea bruta
ethernet)Cere Nmapului sa trimita pachete brute ethernet (la nivelul
legaturii de date) in locul trimiterii de la nivelul IP superior.
Implicit, Nmap alege pe cel care este in general potrivit pentru
platforma de rulare. Socketuri brute (nivelul IP) sunt in general
mult mai eficiente pe masinile UNIX, in timp ce cadre ethernet sunt
necesare pentru operatii sub Windows, din moment ce Microsoft a
dezactivat suportul pentru suport de socketuri brute. Nmap
foloseste pachete IP brute pe UNIX in ciuda acestei optiunii cand
nu exista nici o alta alegere (conexiuni non-ethernet).
(Trimite pachete brute la nivelul
IP)Cere Nmapului sa trimita pachete brute prin socketuri IP in
locul trimiterii lor la nivelul cadrelor ethernet. Este
complementul optiunii
discutata anterior.
(Se presupune ca utilizatorul are
privilegii depline)Spune Nmapului sa presupuna ca are privilegii suficiente
pentru a trimite pachete brute, sa intercepteze pachete si alte
operatii similare care in general necesita privilegii de root pe
sisteme UNIX. Implicit Nmap renunta la astfel de operatii daca
getuid() nu este zero.
este o optiune folositoare impreuna cu
capacitatea kernelului de Linux de a permite utilizatorilor
neprivilegiati sa realizeze scanari cu pachete brute. Asigurativa
ca ati mentionat aceasta optiune inaintea oricarei optiuni care
necesita privilegii (scanare SYN, detectia sistemului de operare,
etc.). Variabila NMAP_PRIVILEGED poate fi setata ca o alternativa
la
.
;
(Afiseaza numarul versiunii)Afiseaza versiunea de Nmap si iese.
;
(Afiseaza o pagina sumara de ajutor)Afiseaza un ecran de ajutor cu principalele optiuni. Rularea
Nmap fara nici un argument face exact acelasi lucru.Interactiune in timpul rulariiAceasta functionalitate nu exista inca in Nmap. Fie voi adauga
suport, fie voi scoate aceasta sectiune.In timpul executiei Nmap, toate tastele apasate sunt inregistrate.
Acest lucru va perite interactiunea cu programul fara oprirea si
restartarea lui. Anumite taste vor schimba optiuni in vreme ce altele vor
afisa mesaje despre scanarea in curs. Conventia este ca
literele mici crescnivelul de afisare si
literele mari scadacest nivel.
/
Cresc / Descresc cantitatea de informatii afisate
/
Cresc /Descresc cantitatea de informatii de depanare
/
Activeaza / Dezactiveaza urmarirea pachetelorAnything else (Orice altceva)Afiseaza un mesaj de genul:Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5
undergoing Service ScanService scan Timing: About 28.00% done; ETC: 16:18 (0:00:15
remaining)ExempleAici sunt cateva exemple de utilizare a Nmap, de la unele simple si
de rutina pana la altele mai complexe si ezoterice. Unele adrese IP si
nume de domenii sunt folosite pentru a face lucrurile mai concrete. In
locul lor trebuie sa puneti adresele/numele din
reteaua dumneavoastra.. Desi nu cred ca scanarea de
porturi a altor retele este sau ar trebui sa fie ilegala, unii
administratori de retea nu apreciaza scanari nesolicitate ale retelelor
lor si pot depune plangere. Obtinerea mai intai a permisiunii este cea
mai buna abordare.Pentru testare, aveti permisiunea sa scanati hostul
scanme.nmap.org. Aceasta permisiune
include doar scanarea cu Nmap si nu testarea gaurilor de securitate sau
atacuri de tip DOS. Pentru conservarea latimii de banda, va rog sa nu
initiati mai multe scanari zilnic. Daca aceasta tinta este abuzata, va fi
indisponibila in retea si Nmap va raporta imposibilitatea de a gasi
hostul
Failed to resolve given hostname/IP:
scanme.nmap.org. Aceasta permisiune se aplica si
hosturilor
scanme2.nmap.org,
scanme3.nmap.org, si asa mai departe,
desi acestea nu exista inca.nmap -v scanme.nmap.orgAceasta linie de comanda scaneaza toate porturile TCP rezervate de
pe masina
scanme.nmap.org. Optiunea
activeaza modul de afisare in timp real a
rezultateor.nmap -sS -O scanme.nmap.org/24Lanseaza o scanare SYN impotriva tuturor celor 255 masini din
reteaua de
clasa Cunde isi are locul hostul scanme. De asemenea
incearca determinarea sistemului de operare a fiecarui host activ. Acesta
lansare necesita privilegii root din cauza scanarii SYN si a detectarii
sistemului de operare.nmap -sV -p 22,53,110,143,4564
198.116.0-255.1-127Lanseaza enumerarea hosturilor si o scanare TCP in prima jumatate a
celor 255 de subretele 198.116 de clasa B. Testeaza daca sistemul ruleaza
sshd, DNS, pop3d, imapd sau portul 4546. Pentru fiecare dintre porturile
gasite deschise, detectia versiunii este pusa in functiune pentru a se
determina aplicatia care ruleaza.nmap -v -iR 100000 -P0 -p 80Cere Nmapului sa aleaga aleator 100.000 tinte si sa le scaneze in
cautarea serverelor web (portul 80). Enumerarea hosturilor este
dezactivata cu
din moment ce trimiterea unui cuplu de probe pentru a
determina daca hostul este activ este o pierdere de timp atata vreme cat
se cauta un singur port al fiecarei tinte.nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG
logs/pb-port80scan.gnmap 216.163.128.20/20Scaneaza cele 4096 IPuri dupa servere web (fara ping) si salveaza
rezultatele in formatul pentru comanda grep si in formatul XML.host -l company.com | cut -d -f 4 | nmap -v
-iL -Realizeaza un transfer de zona DNS pentru a gasi toate hosturile
din company.com si apoi furnizeaza adresele Nmapului. Comanda de mai sus
este valabila pentru un sistem Linux – alte sisteme beneficiaza de
comenzi diferite pentru realizarea transferului DNS.ProblemeAsemeni autorului, Nmap nu este perfect. Dar ilputeti face mai bun
trimitand rapoarte despre problemele aparute si chiar scriind patchuri.
daca Nmap nu se comporta in modul in care va asteptati, faceti upgradeul
la ultima versiune disponibila la
. Daca problema
persista, faceti munca de cercetare pentru a vedea daca problema a fost
descoperita si discutata. Incercati cautarea in Google a mesajului de
eroare sau navigand prin arhivele Nmap-dev la
. Cititi acest manual in
intregime de asemenea. Daca nimic nu se rezolva, trimiteti un mail la
dev@nmap.org. Va rog sa includeti tot ce ati
aflat despre problema, precum si versiunea de Nmap pe care o folositi si
sistemul de operare. Problemele si intrebarile legate de utilizarea
Nmapului trimise la dev@nmap.org au sanse mult mai mari de a li
se raspunde decat cele trimise direct la Fyodor.Patchurile de rezolvare a problemelor sunt si mai bune decat
rapoartele despre problema in sine. Instructiuni de baza pentru crearea
patchurilor sunt disponibile la
.
Patchurile pot fi trimise la nmap-dev (recomandat) sau direct la
Fyodor.AutorFyodor
fyodor@nmap.org(
)Sute de oameni au facut contributii importante la Nmap de-a lungul
timpului. Ei sunt mentionati in fisierul
CHANGELOGdistribuit cu Nmap si
disponibil la
.Aspecte legaleUnofficial Translation Disclaimer / Disculparea fata de
traducerea neoficialaThis is an unnofficial translation of the
Nmap
license detailsinto Romanian. It was not written by
Insecure.Com LLC, and does not legally state the distribution terms for
Nmap -- only the original English text does that. However, we hope that
this translation helps Romanian speakers understand the Nmap license
better.Aceasta este traducerea neoficiala a
detaliilor
de licenta ale Nmapin limba romana. Nu a fost scrisa de
Insecure.Com LLC si nu statueaza in mod legal termenii distributiei
Nmap – numai textul original in limba engleza realizeaza acest lucru.
Oricum speram ca aceasta traducere sa ajute vorbitorii de limba romana
sa inteleaga termenii licentei Nmap mai bine.Dreptul de autor si licentiereScanerul de securitate Nmap este (C) 1996-2005 a Insecure.Com
LLC. Nmap este marca inregistrata a Insecure.Com LLC. Acest program
este software liber; il puteti redistribui si/sau modifica sub termenii
Licentei Publice Generale (GNU General Public License) asa cum este
publicata de Free Software Foundation; Versiunea 2. Aceasta va
garanteaza dreptul de folosire, modificare si redistribuire sub anumite
conditii. Daca doriti sa incorporati tehnologie Nmap in software
proprietar, suntem dispusi sa vindem licente alternative (contact
sales@insecure.com). Multi producatori de scanere de
securitate au licentiat deja tehnologie Nmap cum ar fi descoperirea
hosturilor, scanare de porturi, detectia sistemului de operare si
detectia serviciului/versiunii.Notati ca GPL pune restrictii importante asupra
produselor derivate, desi nu furnizeaza o definitie
detaliata a termenului. Pentru a evita neintelegerile, consideram ca o
aplicatie este
produs derivatin termenii licentei daca realizeaza unul
din urmatoarele lucruri:Integreaza cod sursa din NmapCiteste sau include fisiere Nmap proteja de drepturi de
autor, cum ar fi
nmap-os-fingerprintssau
nmap-service-probes.Executa Nmap si interpreteaza rezultatele (spre deosebire de
aplicatiile shell care afiseaza outputul brut al Nmapului si nu
reprezinta produse derivate).Integreaza/include/agregheaza Nmap intr-un executabil de
instalare proprietar, cum sunt cele produse de
InstallShield.Face legatura la o biblioteca sau executa un program care
realizeaza oricare dintre cele enumerate.Termenul
Nmapinclude si portiuni din produse derivate din Nmap.
Lista nu este exclusiva, dar este menita a clarifica interpretarea
noastra a produselor derivate cu exemple comune. Aceste restrictii se
aplica doar pentru cazul in care redistribuiti Nmap. De exemplu, nimic
nu va impiedica sa scrieti interfete grafice proprietare pentru Nmap.
Distribuiti-o independent si invitati oamenii la
pentru a descarca
Nmap.Nu consideram aceste ca restrictii adugate peste GPL ci doar o
clarificare a modului in care interpretam termenul de
produs derivatasa cum se aplica el la produsul Nmap
licentiat GPL. Este similar modului in care Linus Torvalds a anuntat
interpretarea sa asupra a cum se aplica termenul de
produs derivatla modulele kernellului Linux.
Interpretarea noastra se refera doar la Nmap – nu vorbim in numele nici
unui alt produs GPL.Daca aveti intrebari despre restrictiile licentei GPL in ceea ce
priveste folosirea Nmap in produse non-GPL, sunt bucurosi sa va ajutam.
Asa cum am mentionat, oferim licente alternative pentru integrarea Nmap
in aplicatii si aplicari proprietare. Astfel de contracte au fost
vandute majoritatii producatorilor de software de securitate si in
general includ o licenta perpetua precum si furnizarea prioritara de
suport si actualizari, dupa cum ne si ajuta sa finantam dezvoltarea
tehnologiei Nmap. Va rugam sa trimiteti un email la
sales@insecure.compentru mai multe informatii.Ca o exceptie speciala de la termenii GPL, Insecure.Com LLC
permite legarea acestui cod cu orice versiune de biblioteca OpenSSL
distribuita sub o licenta identica cu cea din fiserul Copying.OpenSSL
si distribuirea codului legat a celor doua. Trebuie sa va supuneti GNU
GPL pentru orice cod in afara de OpenSSL. Daca modificati acest fisier,
puteti extinde aceasta exceptie si asupra fisierului dumneavoastra,
desi nu sunteti obligati sa o faceti.Daca primiti aceste fisiere cu o alta licenta scrisa sau contract
care specifica alti termeni decat cei precizati aici, atunci licenta
alternativa ia locul celei de fata.Disponibilitatea codului sursa si contributiile
comunitatiiSursa este furnizata cu acest software deoarece consideram ca
utilizatorii au dreptul de a stii exact ce face un program inainte de
a-l rula. Acest lucru permite si auditul softwareului in vederea
descoperirii gaurilor de securitate (nici una nu a fost descoperita
pana acum).Codul sursa permite portarea Nmap pe noi platforme, rezolvarea
problemelor si adaugarea de noi functionalitati. Sunteti incurajati sa
trimiteti modificarile dumneavoastra la
fyodor@nmap.orgpentru o posibila incorporare in
distributia principala. Prin trimiterea acestor modificari catre Fyodor
sau la una din listele de dezvoltare de la Insecure.Org, se presupune
ca oferiti lui Fyodor si Insecure.Com LLC dreptul neliitat, neexclusiv
de reutilizare, modificare si relicentiere a codului. Nmap va fi
intotdeauna disponibil ca software cu sursa disponibila, dar acest
lucru este important din cauza imposibilitatii relicentierii ce a creat
probleme devastatoare pentru alte proiecte cu software liber (cum sunt
KDE si NASM). Ocazional relicentiam codul catre terti asa cum s-a
discutat mai devreme. Daca doriti sa specificati conditii speciale de
licentiere a contributiei dumneavoastra, precizati acest lucru cand o
trimiteti.Nici o garantieAcest program este distribuit in speranta ca va fi folositor, dar
FARA NICI O GARANTIE; fara macar a garantiei de COMERCIABILITATE sau
POTRIVIRE PENTRU UN SCOP PARTICULAR. Vezi GNU GPL pentru mai multe
detalii la
, sau in
fisierul COPYING inclus in Nmap.Notati si faptul ca Nmap, ocazional, blocheaza aplicatii prost
scrise, stive TCP/IP si chiar sisteme de operare. Desi este un lucru
extrem de rar, este important sa tinteti minte ca
Nmap nu trebuie niciodata rulat impotriva sistemelor cu
aplicatii criticedecat daca sunteti pregatit sa suferiti
eventuale blocari. Statuam aici faptul ca Nmap poate bloca sistemele
sau retelele dumneavoastra si ne disculpam de orice paguba sau problema
pe care Nmap o poate cauza.Utilizare inadecvataDatorita micului risc de blocare si pentru ca unele personaje
negative folosesc Nmap in cunoasterea tintelor premergator atacului,
exista administratori care devin suparati si pot depune plangere daca
sistemele lor sunt scanate. Asadar, este recomandata solicitarea
permisiunii chiar si inaintea unei scanari superficiale a
retelei.Din ratiuni de securitate Nmap nu ar trebui instalat niciodata cu
privilegii speciale (ex: suid root)Software de la tertiAcest produs iclude software dezvoltat de
Apache Software Foundation.
O versiune modificata a
bibliotecii de captura a pachetelor
Libpcapportableeste distribuita impreuna cu Nmap. Versiunea de
Windows a Nmap utilizeaza biblioteca derivata din libpcap,
WinPcap. Suportul pentru
expresiile regulate este furnizat de
PCRE library, software open
source, scris de Philip Hazel. Anumite functii brute de retea folosesc
biblioteca
Libdnet, scrisa de
Dug Song. O versiune modificata este distribuita cu Nmap. Optional Nmap
se poate lega de
Trusa criptografica
OpenSSLpentru suportul de detectare a versiunii SSL. Toate
softurile de la terti descrise in acest paragraf sunt redistribuibile
gratuit sub licente de tipul BSD.Clasificarea de control al exportului din SUAClasificarea de control al exportului din SUA: Insecure.Com LLC
considera ca Nmap cade sub incidenta US ECCN (numarul de control al
clasificarii de export) 5D992. Aceasta categorie este denumita
Software de securitate a informatiilor necontrolat de
5D002. Singurele restrictii ale acestei clasificari sunt AT
(anti-terrorism) care se aplica aproape tuturor bunurilor si interzic
exportul catre cateva natiuni ca Iranul si Coreea de Nord. Asadar
exportul Nmapului nu necesita licente speciale, permisiuni sau
autorizari guvernamentale.