Vous êtes sur la page 1sur 25

Pentesting

Footprinting & Enumeration

Dr. Nihel Ben Youssef

Références
CEH Certified Ethical Hacking 10

Dr. Nihel Ben Youssef Pentesting 1 / 26


1 Footprinting
Définitions
Méthodologie Footprinting
Web Search Footprinting
Website Footprinting
Email Footprinting
DNS Footprinting
Network Footprinting

2 Enumeration
Netbios Enumeration
SNMP Enumeration
Linux Enumeration
Banner Enumeration
Footprinting

Footprinting ou Reconnaissance est La collecte de toute


information possible sur la cible et son réseau.
Cette étape permet d’identifier les différentes manière de pénétrer le
réseau cible.
Les informations incluent (Contacts des employés, site web de
l’entreprise, Noms de domaines, adresses IP, mécanismes
d’authentification, mots de passes, tables de routage, noms et groupes
d’utilisateurs, protocoles réseau, Les OS, plateformes, versions des
serveurs webs...)
La reconnaissance peut être catégorisée en:
Reconnaissance Passive: Collecte d’informations à partir des sources
publiques
Reconnaissance Active: Collecte d’informations à partir de
l’ingénierie sociale, Visite locale, interviews, questionnaires

Dr. Nihel Ben Youssef Pentesting 3 / 26


Méthodologie Footprinting

Le Footprinting peut être conduit via différentes techniques et


sources comme:
Footprinting via site de recherche (Google)
Footprinting via site web (Website)
Footprinting via réseaux sociaux
Footprinting via réseau (Network Footprinting)
Footprinting via Email
Footprinting via Ingénierie sociale (Social Engineering)
Footprinting via DNS

Dr. Nihel Ben Youssef Pentesting 4 / 26


Web Search Footprinting

Dr. Nihel Ben Youssef Pentesting 5 / 26


Website Footprinting- WebdataExtractor
WebdataExtractor (Web spider ou Web crawler) permet récolter des
informations à partir du site web officiel de la cible(Numéros de téléphone,
email...).

Dr. Nihel Ben Youssef Pentesting 6 / 26


Website Footprinting- Netcraft
Utilisant Netcraft.com, on peut récupérer les systèmes d’exploitation (OS)
et la version des serveurs Web utilisés

Dr. Nihel Ben Youssef Pentesting 7 / 26


Website Footprinting- Shodan
Utilisant le site web Shodan.io, on peut récolter des informations
concernant tout objets connectés au niveau de la cible (Caméras, routeurs,
serveurs...)

Dr. Nihel Ben Youssef Pentesting 8 / 26


Email Footprinting- EmailTrackPro
Il s’agit de tracer un email suivant son en-tête (Email Header)

Dr. Nihel Ben Youssef Pentesting 9 / 26


DNS/whois Footprinting- whois.domaintools.com

Il s’agit de collecter les informations publiques publiées au niveau des


serveurs DNS( adresse physiques, emails personnels, numéros de
téléphone..)

Dr. Nihel Ben Youssef Pentesting 10 / 26


Network Footprinting

Il s’agit de collecter des informations sur le réseau cible(map),


particulièrement sur le périmètre réseau (routeur edge, firewalls...).

Figure: Source: CEH

Dr. Nihel Ben Youssef Pentesting 11 / 26


Network Footprinting-traceroute
Traceroute(linux) ou tracert(win) permet de collecter les informations seuil
par seuil (routeur) sur le chemin entre la machine du pentester et une cible,
en l’occurence un serveur web hebergé au sein de l’entreprise, par exemple
dans une zone démilitarisée DMZ, protégée par un firewall. Par défaut,
traceroute fonctionne en envoyant des paquets ICMP ou UDP en
incrémentant le champs TTL à chaque saut pour récupérer l’adresse IP des
routeursà travers un message ICMP de retour (Destination unreachable).

Figure: Source:CEH
Dr. Nihel Ben Youssef Pentesting 12 / 26
Network Footprinting-traceroute(2)

En utilisant l’outil traceroute, Certains adresses IP des routeurs seuils ne


sont pas affichés (*). Les causes sont variées (Problème d’accès réseau,
routeurs non configurés pour fonctionner avec le protocole icmp, routeurs
filtrants ... )

Dr. Nihel Ben Youssef Pentesting 13 / 26


Network Footprinting-traceroute(3)
Parmi les solutions qui permettent de minimiser l’affichage de (*) est
d’utiliser d’autres protocoles comme TCP pour que certains routeurs ou
firewalls puissent envoyer des réponses à la machine source. Par exemple,
dans cette figure, nous pouvons repérer un firewall au niveau du périmètre.
A travers traceroute, on peut aussi détecter le type de routeur en
remarquant par exemple les première lettre des noms des seuils, par exemple
(ae: réfère à un routeur juniper, Te,Pos refèrent à un routeur Cisco)

Dr. Nihel Ben Youssef Pentesting 14 / 26


Network Footprinting-traceroute(4)

En utilisant les informations du périmètre réseau de la cible à travers


traceroute, le pentester peut investiguer d’autre serveurs dans la DMZ en
posant un masque réseau, en occurence 193.252.118.0/22 en utilisant des
requêtes DNS inverse (nslookup ou dig). Dans notre cas,le pentester peut
repérer un serveur smtp.

Dr. Nihel Ben Youssef Pentesting 15 / 26


Enumeration
Dans la phase Enumeration, le pentester crée des connections actives sur le
système et effectue des requêtes pour collecter plus d’information sur la
cible
Ressources partagées
Noms des utilisateurs et groupes
Applications et bannières
Tables de routage
Paramètres d’audit..

Figure: Source:CEH
Dr. Nihel Ben Youssef Pentesting 16 / 26
Netbios Enumeration

NetBIOS est utilisé principalement par Microsoft. Ce n’est pas un protocole


réseau, mais un système de nommage et une interface logicielle qui permet
d’établir des sessions entre différents ordinateurs d’un réseau.Wikipedia
NBT est une implémentation de Netbios sur NetBios TCP/IP.
NetBios Name Service (UDP port 137) Ce service sert à associer
un nom d’ordinateur à une adresse IP
NetBios Datagram Service (UDP port 138) Ce service permet
d’échanger des messages en mode non connecté utilisé avant tout par
le service explorateur réseau (SMB browser service) (voisinage réseau.)
NetBios Session Service (TCP port 139) Ce service permet
d’échanger des messages en mode connecté pour accéder à ses
ressources (partages de fichiers et d’imprimantes).

Dr. Nihel Ben Youssef Pentesting 17 / 26


Netbios Enumeration

La commande nbtstat - n permet de lister entre autres les utilisateurs et


les groupes dans une machine windows.

Dr. Nihel Ben Youssef Pentesting 18 / 26


Netbios Enumeration
Netbios permet de lister entre autres les utilisateurs et les
groupes/domaines, dossiers partagés, services dans une machine windows
au niveau du réseau local.

Dr. Nihel Ben Youssef Pentesting 19 / 26


SNMP Enumeration

Le protocole SNMP(Simple Network Management Protocol) est un


protocole qui permet aux administrateurs de gérer les équipements
réseaux (switchs,routeurs, pare-feux ...) et de diagnostiquer les
disfonctionnements éventuels. Il permet de récupérer et surveiller
certains paramètres utiles aux mesures de performance comme le noms
des machines, nombre de paquets ICMP reçus, refusés ou envoyés par
interface, les translations d’adresse IP/MAC, la description de
l’équipement etc.
SNMP repose sur le protocole de communication UDP et sur les ports
161 ( polling ) et 162 ( trap ).
Le pentester utilise la communauté(community) ou mot de passe
"public" par défaut pour extraire les informations à partir de l’agent
SNMP (serveur SNMP) installé au niveau de routeurs, switchs
administrables, serveurs...

Dr. Nihel Ben Youssef Pentesting 20 / 26


SNMP Enumeration(2)
L’architecture du protocole SNMP est composé d’:
Un agent snmp ou serveur snmp , installé au niveau d’un noeud
administrable MN (Managed Node) qui peut être soit des hôtes
(stations de travail ou serveurs) ou des éléments d’interconnexion
(switchs, hubs, routeurs).
Un manager snmp ou client snmp , installé au niveau d’une station
d’administration NMS (Network Management Station) permettant
d’interroger l’agent à travers une paire clé-valeur unique qu’on appelle
OID (Object Identifer). Les OID SNMP peuvent être lus à travers la
commande snmpget ou modifés à travers la commande snmpset .
MIB ou Management Information Base est un fichier contenant un
ensemble d’informations sur un périphérique réseau ( agent )
structurées d’une manière hierarchique, sous forme d’ arbre . Chaque
information a un OID (object identifer) qui est représenté d’une
manière unique par une suite de chiffres séparés par des points. Par
exemple, l’OID .1.3.6.1.2.1.1.5.0 indique le nom de
l’équipement ( sysName ) et l’OID .1.3.6.1.2.1.1.3.0 indique la
durée d’activité d’une machine( sysUpTime ), il s’agit d’un
Dr. Nihel Ben Youssef Pentesting 21 / 26
SNMP Enumeration

Dr. Nihel Ben Youssef Pentesting 22 / 26


SNMP Enumeration

Dr. Nihel Ben Youssef Pentesting 23 / 26


Linux Enumeration
enum4linux est un script perl exécuté sur linux permettant d’énumérer des
informations sur une machine telles que le domaine, la version du système
d’exploitation...

Dr. Nihel Ben Youssef Pentesting 24 / 26


Banner Enumeration
Les services et protocoles réseaux échangent souvent leurs versions et
certains paramètres de configuration au niveau de la connexion
client/server ou à travers les messages d’erreur, comme au niveau de la
page HTTP 404 Page Not found ou on peut repérer la version de apache
installée(Signature). Il s’agit d’une information importante à exploiter par
le pentester. To avoid such disclosure, the developper can use
mod_security module en installant, par example dans debian/ubuntu,
libapache-mod-security, activer le module a2enmod mod-security et ajouter
une nouvelle signature dans le fichier de configuration de apache2
SecServerSignature Apache_otherversion pour leurrer les pirates. On
pourrait aussi supprimer la signature ServerSignature Off

Dr. Nihel Ben Youssef Pentesting 25 / 26

Vous aimerez peut-être aussi