You are on page 1of 41

Nmap en Ligne de Commande

Cl aude DUTREI LLY


cl aude. dut r ei l l y@uni v- nant es . f r
Laboratoire de Plantologie et Godynamique
de Nantes
UMR 6112
Nmap

Dfinition
*

Fonctionnement
*

Principes et interprtation des rsultats

Diffrentes options

Conclusion

Annexes
* source !i"ipedia #traduction du site $ttp%%nmap&or'%man%man()riefoptions&$tml*
Dfinition

Nmap = Network Mapper


Nmap est un scanner de ports open source cr par Fyodor et
distribu par Insecure.org.
Il est conu pour dtecter les ports ouverts, les services hbergs et
les informations sur le systme d'exploitation d'un ordinateur
distant.
Ce logiciel est devenu une rfrence pour les administrateurs
rseaux car l'audit des rsultats de Nmap fournit des indications
sur la scurit d'un rseau
Fonctionnement

Pour scanner les ports d'un ordinateur distant, Nmap utilise


diverses techniques d'analyse bases sur des protocoles tels que
TCP, IP, UDP ou ICMP.

Par dfaut Nmap scanne les port de 1 1!" et les ports


indiqus dans le fichier nmap-services.

e m!me, il se base sur les rponses particulires qu'il obtient "


des requtes particulires pour obtenir une empreinte de #a pi#e
IP, souvent spcifique du systme qui l'utilise. #'est par cette
mthode que l'outil permet de reconna$tre la version d'un syst%me
d'e&ploitation et aussi la version des services en coute.

'e code source est disponible sous la licence GN G!".


Principes $1%
&'t de Nmap( )olliciter des rponses de la machine cible pour
montrer la prsence ou non d'une application ou d'un service
* tats de ports reconnus par Nmap

(pen

C#osed

Fi#tered

Unfi#tered

(pen ) Fi#tered

C#osed ) Fi#tered.
Principes $!%
1% (pen
+ne application qui tourne sur la machine cible accepte les conne&ions
,#P ou les paquets +P sur ce port.
'es ports ouverts montrent galement les services disponibles sur le
rseau
!% C#osed
-ccessible .reoit et rpond au& paquets envoys par Nmap/ mais il n'y a
pas d'application " l'coute sur ce port.
+tilit( machine cible 0+P2. dtection de l'3) par Nmap
4emarque( il peut !tre utile de bloquer de tels ports avec un fire5all
Principes $*%
*% Fi#tered
Nmap ne peut dterminer si le port est ouvert car il est intercept avant
d'atteindre le port.
Peut !tre caus par un fire5all, des r%gles de routage ou bien un fire5all
intgr " la machine cible.
#onsquences( ralentissement du scan .nmap rit%re plusieurs fois son
scan/
"% Unfi#tered
'e port est accessible, mais nmap est incapable de dterminer s'il est
ouvert6ferm.
Il faut alors tester avec d'autres types de scan( 7indo5s scan, ou FIN
scan pour savoir si le port est ouvert.
Principes $"%
+% (pen ) Fi#tered
Nmap est incapable de dterminer si le port est ouvert ou filtr.
89 cela arrive, par e&, lorsqu'un port ouvert ne donne pas de rponse :
89 l'absence de rponse peut vouloir dire galement qu'un filtrage a
0dropp2 le paquet gnr par Nmap ou la rponse obtenue.
,% C#osed ) Fi#tered
#et tat est utilis quand Nmap est incapable de dterminer si un port est
ferm ou filtr.
Diffrentes options $1%

commande de base(
nmap -mac.ine/ci0#e1
nmap 2P -mac.ine/ci0#e1 ...... passe le fire5all
;root<localhost =>? nmap 8P@ himalia
)tarting Nmap A.B@ . http(66insecure.org / at B@@C8@D8B* @C(BC #E,
Interesting ports on himalia(
Not sho5n( F*GA closed ports
P34, ),-,E )E4HI#E
BB6tcp open ssh
FFF6tcp open rpcbind
*@@@6tcp open IFF
Nmap finished( F IP address .F host up/ scanned in @.@GD seconds
Diffrentes options $!%

couvrir application6services en coute sur les ports ,#P(


nmap 2s3 -mac.ine/ci0#e1
;root<localhost =>? nmap 8sH himalia
)tarting Nmap A.B@ . http(66insecure.org / at B@@C8@D8B* @C(DF #E,
Interesting ports on himalia(
Not sho5n( F*GA closed ports
P34, ),-,E )E4HI#E HE4)I3N
BB6tcp open ssh 3pen))J D.*.FpB .protocol F.GG/
FFF6tcp open rpcbind B .rpc ?F@@@@@/
*@@@6tcp open IFF .access denied/
)ervice Info( 3)( +ni&
)ervice detection performed. Please report any incorrect results at http(66insecure.org6nmap6submit6 .
Nmap finished( F IP address .F host up/ scanned in *.D@@ seconds
Diffrentes options $*%

couvrir le syst%me d'e&ploitation(


nmap 2s( -mac.ine/ci0#e1
;root<localhost =>? nmap 83 himalia
)tarting Nmap A.B@ . http(66insecure.org / at B@@C8@D8B* @C(DB #E,
Interesting ports on himalia(
Not sho5n( F*GA closed ports
P34, ),-,E )E4HI#E
BB6tcp open ssh
FFF6tcp open rpcbind
*@@@6tcp open IFF
evice type( general purposeK7-PKstorage8misc
4unning( 'inu& B.A.I, 'inLsys 'inu& B.A.I, -sus 'inu& B.A.I, Ma&tor 'inu& B.A.I
3) details( 'inu& B.A.B@ 8 B.A.DB, 'inu&8based embedded device .'inLsys 74,NAO' 7-P, Puffalo
-ir)tation 7'-8ONA 7-P, Ma&tor )hared )torage rive, or -sus 7ireless )torage 4outer/
+ptime( *C.*A@ days .since ,hu Qan FR FR(FF(@C B@@C/
Net5orL istance( F hop
3) detection performed. Please report any incorrect results at http(66insecure.org6nmap6submit6 .
Nmap finished( F IP address .F host up/ scanned in F.RCN seconds
Diffrentes options $"%
balayage sur des rseau& entiers(rechercher les serveurs 7eb present sur un '-N, par e&
nmap 2s4 2s3 2p 5 -6rsea'/c#asseC 7 !"1 o' -89:9;95 2 ""*1
;root<localhost =>? nmap 8P@ 8sH 8p C@ FRB.F*.FD.F*8DB
)tarting Nmap A.B@ . http(66insecure.org / at B@@C8@D8B* FF(FD #E,
Interesting ports on FRB.F*.FD.F*(
P34, ),-,E )E4HI#E HE4)I3N
C@6tcp open http -pache httpd B.B.D ..#ent3)//
M-# -ddress( @@(FA(NE(NR(-B(N# .IPM/
Interesting ports on venus .FRB.F*.FD.FC/(
P34, ),-,E )E4HI#E HE4)I3N
C@6tcp closed http
M-# -ddress( A@(FD(GR(G(@@(FA .+nLno5n/
Interesting ports on pc8sig .FRB.F*.FD.BB/(
P34, ),-,E )E4HI#E HE4)I3N
C@6tcp filtered http
M-# -ddress( @@(FA(BB(B*(F(FB .ell/
Interesting ports on pleiades .FRB.F*.FD.BN/(
P34, ),-,E )E4HI#E HE4)I3N
C@6tcp open http -pache httpd F.D.DF ..+ni&/ modSperl6F.BA -pacheQserv6F.F.B/
M-# -ddress( @@(@D(P-(FA(-A(FA .)un Microsystems/
Interesting ports on glpi .FRB.F*.FD.BG/(
P34, ),-,E )E4HI#E HE4)I3N
C@6tcp open http -pache httpd B.B.D ..Mandriva 'inu&6P4EF34T8FmdvB@@R.@//
M-# -ddress( @@(@B(-N(*B(EN(ER .#ompaq #omputer/
)ervice detection performed. Please report any incorrect results at http(66insecure.org6nmap6submit6 .
Nmap finished( FR IP addresses .FD hosts up/ scanned in *.GFA seconds
(ption <2n> permet de dsacti?er #a rso#'tion DN4 et ainsi accro@tre #a rapidit d' 0a#aAage9
Conc#'sions $1%
Nmap est un outil puissant, versatile, indispensable tout ASR.
En combinant ses diverses options, il offre une grande souplesse qui permet d'analyser
tout rseau, tester le filtrage, les filtres !, de dcouvrir les ports ouverts, de
dcouvrir de nouvelles mac"ines #$%
&n petit plus, il est libre et gratuit et c''est le meilleur outil pour faire cela #source
'S(%
)*&)E+*S il faut ,tre prudent, un scan est quivalent une tentative d'intrusion, et
certaines mt"odes de scan peuvent entra-ner des dysfonctionnements sur une
mac"ine.
.Scanme.nmap.org est gracieusement fourni par l'auteur de Nmap afin de tests $0
Conc#'sions $!%
1ames 2esser, auteur de Secrets of a Network Cartography, crit3
)"e bad guys are already using nmap for reconnaissance, because a single scan can tell
you a lot about t"e open doors and 4indo4s in a computer's "ouse.
)"e good guys are using nmap to ma5e t"eir net4or5 safer.
Comment empcher les scans ?
&n scan prcde souvent une attaque .... utilisation d'un 6S.
e7 la +ac sciences 3 6etescan
&i0#io

prsentation de nmap par 2arie (laude 8uido9 : *utils de scurit.


;<=;;=>??; @

doc officielle de Nmap sur "ttp3==444.insecure.org=nmap=man

N2A! *pen Source Security )ools for nformation )ec"nology


!rofessional par Aron )rauring : A=;;=>??<

N2A! v;.B par CaDl Eeauquin (NRS=&RE( >B=F=>??G

Article paru dans CN& Hinu7 2aga9ine Avril >??< nIA; (yril
Nocton pFJ BJ

et surtout3 Secrets *f Net4or5 (artograp"y, A compre"ensive guide


to nmap. 1ames 2esser
(ptions disponi0#es $1%
Pour Nmap A.B@, voici les options que nous pouvons utiliser (

'es cibles peuvent !tre spcifies par des noms d'hUtes, des adresses IP .vA ou
v*/, des adresses de rseau&...
e&( 555.cnrs.fr, FGB.F*C.F.F, FGB.F*C.F.@6BA, microsoft.com6BA, F@.@8BNN.@8BNN.F8BNA

Dcouverte des htes :

2sL( 'ist )can 8 'iste simplement les cibles " scanner

2sP( Ping )can 8 Ne fait que dterminer si les hUtes sont en ligne 8P@( #onsid%re que tous les
hUtes sont en ligne88 vite la dcouverte des hUtes

2PN( #onsidrer tous les hUtes comme tant connects 88 saute l'tape de dcouverte des hUtes

2P47PB7PU Cport#istD( couverte ,#P )VN6-#T ou +P des ports en param%tre

2PE7PP7PM( couverte de type requ!te I#MP echo, timestamp ou netmasL

2P( ;num de protocole>( Ping IP .par type/

2n72F( Ne Wamais rsoudre les noms N)6,ouWours rsoudre ;rsout les cibles actives par dfaut>

88dns8servers XservF;,servB>,...9( )pcifier des serveurs N) particuliers

88system8dns( +tilise le resolveur N) du syst%me d'e&ploitation

(ptions disponi0#es $!%

Techniques de scan :

2s47sT6s-6s76sM( )cans ,#P )VN6#onnect./6-#T67indo56Maimon

8sN6sF6sI( )cans ,#P Null, FIN et Imas

2sU( )can +P .#ette option ne fonctionne pas en IPv*/


88scanflags Xflags9( Personnalise les flags des scans ,#P

2sI XYombie host;(probeport>9( Idlescan .scan passif/

2s(( )can des protocoles supports par la couche IP

20 -ftp re#aA .ost1( )can par rebond F,P


88traceroute( termine une route vers chaque hUte
88reason( onne la raison pour laquelle tel port appara$t " tel tat
(ptions disponi0#es $*%

Spcifications des ports et ordre de scan :

2p -p#age de ports1( Ne scanne que les ports spcifis


E&emple( 8pBBZ 8pF8*NNDNZ 8p+(ND,FFF,FDR,,(BF8BN,C@,FDG,C@C@

2F( Fast 8 Ne scanne que les ports lists dans le fichier nmap8services

2r( )can squentiel des ports, ne mlange pas leur ordre


88top8ports Xnombre9( )can Xnombre9 de ports parmis les plus courants
88port8ratio Xratio9( )can Xratio9 pourcent des ports les plus courants

Dtection de service/version :

2s3( ,este les ports ouverts pour dterminer le service en coute et sa version
88version8light( 'imite les tests au& plus probables pour une identification plus rapide
88version8intensity Xniveau9( e @ .lger/ " G .tout essayer/
88version8all( Essaie un " un tous les tests possibles pour la dtection des versions
88version8trace( -ffiche des informations dtailles du scan de versions .pour dbogage/
(ptions disponi0#es $"%

Script scan (

2sC( quivalent de 88script[safe,intrusive


88script[Xlua scripts9( Xlua scripts9 est une liste de rpertoires ou de scripts spars par
des virgules
88script8args[XnF[vF,;nB[vB,...>9( passer des arguments au& scripts
88script8trace( Montre toutes les donnes envoyes ou recues
88script8updatedb( Met " Wour la base de donnes des scripts. )eulement fait si 8s# ou
88script a t aussi donn.

Dtection de systme d'exploitation (

2(( -ctive la dtection d'3)


88osscan8limit( 'imite la dtection au& cibles promteuses
88osscan8guess( evine l'3) de facon plus agressive
(ptions disponi0#es $+%

Temporisation et performance (
'es options qui prennent un argument de temps sont en milisecondes a moins que vous ne
spcifiieY 's' .secondes/, 'm' .minutes/, ou 'h' .heures/ " la valeur .e.g. D@m/.

2TC2+D( #hoisit une politique de temporisation .plus leve, plus rapide/


88min8hostgroup6ma&8hostgroup Xmsec9( ,ailles des groupes d'hUtes " scanner en parall%le
88min8parallelism6ma&8parallelism Xmsec9( Paralllisation des paquets de tests .probes/
88minSrttStimeout6ma&8rtt8timeout6initial8rtt8timeout Xmsec9( )pcifie le temps d'aller8retour
des paquets de tests
88minSrttStimeout6ma&8rtt8timeout6initial8rtt8timeout Xmsec9( )pcifie le temps d'aller8retour
des paquets detests
88min8rtt8timeout6ma&8rtt8timeout6initial8rtt8timeout Xtime9( Prcise le round trip time des
paquets de tests.
88ma&8retries Xtries9( Nombre de retransmissions des paquets de tests des scans de ports.
88host8timeout Xmsec9( lai d'e&piration du scan d'un hUte
88scan8delay688ma&8scan8delay Xtime9( -Wuste le dlais entre les paquets de tests.
(ptions disponi0#es $,%

Evasion parefeu/ids et usurpation d'identit :

2fZ 88mtu Xval9( Fragmente les paquets .en spcifiant ventuellement la M,+/

2D -decoA1GdecoA!CGMEDG9991( 3bscurci le scan avec des leurres

24 -IP/Bddress1( +surpe l'adresse source

2e -iface1( +tilise l'interface rseau spcifie

2g722so'rce2port -portn'm1( +tilise le numro de port comme source


88data8length Xnum9( -Woute des donnes au hasard au& paquets mis
88ip8options Xoptions9( Envoi des paquets avec les options IP spcifies.
88ttl Xval9( )pcifie le champ time8to8live IP
88spoof8mac Xadresse M-#, prfi&e ou nom du fabriquant9( +surpe une adresse M-#
88badsum( Envoi des paquets ,#P6+P avec une somme de contrUle errone.
(ptions disponi0#es $H%

Sortie :

2oN72o872o472oI -fi#e1( )ortie dans le fichier en param%tre des rsultats du scan au format
normal, IM', sKXrIpt LIddiD et Orepable, respectivement

2oB -0asename1( )ortie dans les trois formats maWeurs en m!me temps

2?( 4end Nmap plus verbeu& .8vv pour plus d'effet/

2dC#e?e#D( )lectionne ou augmente le niveau de dbogage .significatif Wusqu'" G/


88pacLet8trace( -ffiche tous les paquets mis et reus
88iflist( -ffiche les interfaces et les routes de l'hUte .pour dbogage/
88log8errors( Qournalise les erreurs6alertes dans un fichier au format normal
88append8output( -Woute la sortie au fichier plutUt que de l'craser
88resume Xfilename9( 4eprend un scan interrompu
88stylesheet Xpath6+4'9( Feuille de styles I)' pour transformer la sortie IM' en
J,M'
885eb&ml( Feuille de styles de rfrences de Insecure.3rg pour un IM' plus portable
88noSstylesheet( Nmap n'associe pas la feuille de styles I)' " la sortie IM'
(ptions disponi0#es $5%

Divers :

2,( -ctive le scan IPv*

2B( -ctive la dtection du syst%me d'e&ploitation et des versions


88datadir Xdirname9( )pcifie un dossier pour les fichiers de donnes de Nmap
88send8eth688send8ip( Envoie des paquets en utilisant des trames Ethernet ou des paquets IP
bruts
88privileged( )uppose que l'utilisateur est enti%rement privilgi 8H( -ffiche le numro de
version
88unprivileged( )uppose que l'utilisateur n'a pas les privil%ges d'usage des ra5 socLet

2.( -ffiche ce rsum de l'aide


Fs'm des tec.niJ'es de 4can
eKemp#e de mai# en?oA par detescan
Analyse du fichier : /var/stats/firewall.tmp
Taille du fichier : 42 Mb
Destinataire : support@sciences.univnantes.fr!claude.dutreilly@univnantes.fr
"i#nes : 2$2%%4
Debut de l&analyse : 2'/()/2((* (':((:$(
+in de l&analyse : 2'/()/2((* (':%$:)*
,arametres pour detection scans : nb machines minimum -. )! nb ports minimum -. %
Detescan v2((4()(* a detecte les scans suivants a partir des lo#s du routeur iptables
/tatisti0ues des conne1ions re2etees 3au moins 2( conne1ion3s4 par port4 :
%'52 conne1ion3s4 sur le port %)/udp 3domain4
dont $$'$ conne1ion3s4 de $52.$'.$).%6 sur $6).%2.$().2 34
dont 2)5* conne1ion3s4 de $52.$'.4(.%2 sur $62.$'*.$((.2 34
dont *$4 conne1ion3s4 de $52.$'.$$.24 sur $6).2%2.$6.4 34
dont $(*2 conne1ion3s4 de $52.$'.$$.24 sur $6).2%2.$6.) 34
TCP Lands.ake

+ne 0poigne de main2 en trois


tapes tablit une conne&ion ,#P.

Elle assure l'change .drapeau )VN/


et l'acquittement .drapeau -#T/ des
numros de squence initiau&.
4can TCP 4:N M 2s4

cas d'un port ferm

cas d'un port ouvert


4can TCP 4:N M 2s4 $s'ite%
4can TCP Connect M 2sT

cas d'un port ferm

cas d'un port ouvert


4can TCP Connect M 2sT $s'ite%
4can TCP FINM sF

cas d'un port ferm

cas d'un port ouvert


4can TCP FINM 2sF $s'ite%
4can 8mas TreeM 2s8

cas d'un port ferm

cas d'un port ouvert


4can 8mas TreeM 2s8 $s'ite%
4can NULLM 2sN

cas d'un port ferm

cas d'un port ouvert


4can NULLM 2sN $s'ite%
Dtection de ser?ices 7 ?ersionsM 2s3
Dtection de ser?ices 7 ?ersionsM s3
$re2s'ite%
Dtection de ser?ices 7 ?ersionsM 2s3
$re2s'ite%
nmap scan report M 2o8
Timing Po#icies

You might also like