NOTE Post Réécriture : Cet article, et bien dâautres, fait parti de la sĂ©rie âScript kiddieâ. Il a Ă©tĂ© Ă©crit il y a plusieurs annĂ©es. Son contenu nâest pas Ă jour et il contient potentiellement des erreurs. Plus dâinformation sur la page de prĂ©sentation de la sĂ©rie.
Nmap et le FootPrinting
Nmap est un logiciel permettant dâeffectuer plusieurs opĂ©rations de reconnaissances sur les rĂ©seaux.
Pour lâinstaller sur une machine se basant sur Debian (Ubuntu, Kali) :
apt install nmap
Utilisation de Nmap
Avant de viser une machine en particulier, ils nous faut déjà faire la liste de celle présente sur le réseau. Pour ce faire :
nmap -sP [ipDuRéseau]/[masque]
Astuce : enregistrez vos dĂ©couvertes Ă lâintĂ©rieur dâun fichier texte ou dâun logiciel comme CherryTree, vous pourrez les retrouver plus facilement pour les rĂ©utiliser.
Cette commande est bien pratique mais sâavĂšre rapidement peu utile quand nous sommes en face dâun trĂšs grand rĂ©seau avec plusieurs centaines de machines. Vous ne vous servirez pas souvent de la commande suivante, cependant elle peut sâavĂ©rer pratique dans ce cas prĂ©cis pour trouver des ports ouverts spĂ©cifiques :
nmap -sT -p [ports sĂ©parĂ©s dâune virgule] [ip]/[masque]
Pour aller plus loin dans la reconnaissance, nous allons lister tous les porst ouverts dâune machine :
nmap -sT [ip]
Il se peut parfois quâil nous faille plus dâinformations sur une machine, par exemple : son os, son domaine, etcâŠ
nmap -A [ip]
Pour obtenir plus dâactions possibles avec nmap, consultez la documentation en ligne.
Ou alors lisez le putain de manuel :
man nmap
A quoi servent tous ces ports ouverts ?
Les ports sont utilisĂ©s en rĂ©seau pour quâune application puisse dialoguer sur votre connexion. Par exemple, le port 80 est utilisĂ© par HTTP, le protocole de transmission non-chiffrĂ© des documents HTML. Quand votre machine possĂšde ce port ouvert, cela signifie quâelle est Ă lâĂ©coute et rĂ©pondra Ă toutes requĂȘtes, avec lâapplication qui lui sert de serveur (apache2, nginx, etc.), quand elles se prĂ©sentent sur le port 80.
Beaucoup de ports sont standardisĂ©s, câest Ă dire quâils sont trĂšs souvent les mĂȘmes sur toutes les machines et je vous encourage Ă retourner voir la partie sur les services pour les reconnaĂźtre. Internet est Ă©galement votre meilleur alliĂ© face Ă une application inconnue au bataillon.
Ce sont les plus courants et ceux qui vous intéresseront le plus bien souvent.
Aller plus loin : NSE
NSE : Nmap scripting engine
Comme son nom anglais lâexprime si bien, il sâagit dâun systĂšme de script qui va permettre lâautomatisation de certaines tĂąches par nmap.
Ces scripts sont écrits en Lua, langage de programmation assez simple à comprendre et assez proche du python.
Pas besoin de forcĂ©ment lâapprendre car des scripts complets existent en ligne.
De plus, ils en existent Ă©galement Ă lâintĂ©rieur de votre ordinateur dans le rĂ©pertoire /usr/share/nmap/scripts.
Vous pouvez obtenir la liste avec :
ls /usr/share/nmap/scripts
Dans un premier temps, placez-vous dans le répertoire des scripts :
cd /usr/share/nmap/scripts
Sans plus tarder, la commande permettant dâutiliser :
nmap --script [nom du script] [ip]
Petits exemples :
Je souhaite utiliser le script par défaut (qui porte le nom default) sur la machine 192.168.1.107 :
nmap --script=default 192.168.1.107
Je souhaite utiliser le script vulners.nse sur lâIP 192.168.1.107 :
nmap --script=vulners.nse 192.168.1.107
A quoi ça sert ?
Nmap vous a permis de faire votre reconnaissance du rĂ©seau. Vous savez dĂšs Ă prĂ©sent quels ports sont ouverts sur quelles machines. Avec certains scripts, vous allez pouvoir ĂȘtre en mesure de dĂ©tecter certaines failles pour certains ports. Les failles que vous pourrez analiser avec nmap seront toujours prĂ©sentes dans les applications et ne concernent pas la partie rĂ©seau.
Je rajouterai pour les phobiques de la console quâune version graphique existe aussi : zenmap