Les 2 types de reconnaissances
Une fois que vous avez installé votre système d'exploitation Kali Linux, vous êtes prêt à débuter votre test d'intrusion.
Rappelez-vous, nous avons déjà évoqué la méthodologie à suivre pour mener à bien un pentest.
Si vos Rules of Engagement (règles d'engagement) sont bien établies, que vous avez défini votre cible, les adresses IP à tester, etc., vous pouvez alors lancer votre système d'exploitation.
Nous allons commencer par la première phase : la reconnaissance.
Durant cette phase de reconnaissance, nous allons tout simplement essayer de récolter un maximum d'informations sur notre ou nos cibles.
Généralement, on divise la reconnaissance en deux parties : la reconnaissance passive et la reconnaissance active.
Vous consacrerez un temps défini à la collecte d'informations passives, puis vous ferez de même pour la partie active.
Pour rester orgzacké, il est indispensable de documenter toutes les informations récoltées au fur et à mesure.
C'est très important de savoir comment documenter ses trouvailles car à la fin de votre test d'intrusion, vous devrez rédiger un rapport.
Plus votre documentation sera orgzackée et structurée, plus la rédaction de votre rapport sera efficace et productive.
La reconnaissance passive consiste à collecter des informations sans jamais interagir directement avec la cible.
Imaginons que votre cible soit un serveur web et que vous deviez effectuer un test d'intrusion sur celui-ci.
Lorsque vous commencez votre reconnaissance passive, vous ne devez en aucun cas interagir directement avec ce serveur.
Vous n'allez pas lancer de scan, ni lui envoyer des paquets depuis votre adresse IP ou votre machine d'attaque.
Vous allez uniquement chercher des informations accessibles publiquement, que ce soit sur les moteurs de recherche (Google, Bing, etc.) ou sur les réseaux sociaux.
Les informations que vous recherchez sont des adresses e-mail, des mots de passe, des noms d'utilisateurs ou toute autre donnée publique utile.
Par exemple, si vous allez sur les réseaux sociaux professionnels, vous pouvez trouver des informations sur les employés de l'entreprise ciblée.
Ces informations sont précieuses.
Si vous trouvez des adresses e-mail professionnelles, vous pouvez ensuite vérifier dans des bases de données publiques sur Internet (comme les sites de fuites de données) si ces adresses ont été compromises lors de piratages passés (des data breaches).
En consultant ces bases de données de fuites, vous pourrez parfois retrouver les mots de passe associés à ces adresses e-mail.
Toutes ces informations sont d'une importance capitale.
De manière passive, vous pouvez également découvrir des informations sur les technologies utilisées par l'entreprise ou son serveur.
En consultant des forums techniques ou des sites d'échange, vous pourriez apprendre que l'entreprise teste ou utilise une version spécifique de PHP, une version particulière de Django pour le back-end, ou un type précis de SGBD (système de gestion de base de données).
Toutes ces informations vous seront extrêmement utiles lors de la phase d'exploitation.
Tout cela s'effectue sans aucune interaction avec le serveur cible.
La seconde approche est la reconnaissance active, dans laquelle vous allez interagir directement avec le système cible.
Certains appellent cette phase le scanning, mais nous allons bien différencier les deux.
Nous allons traiter la reconnaissance passive et active d'un côté, puis le scanning de l'autre, afin de simplifier notre progression, même si la reconnaissance active fait techniquement partie du scanning.
Dans cette phase, vous interagissez donc avec le serveur cible.
Vous utiliserez des outils comme Nmap, Nessus, OpenVAS, ainsi que d'autres scanners de serveurs web pour obtenir des détails plus précis.
En effet, la reconnaissance passive est limitée par nature.
On la complète donc par de la reconnaissance active avec des outils comme Nmap.
Cela consiste à envoyer des paquets de test au serveur cible pour analyser ses réponses, ce qui nous permet d'identifier les protocoles et services en cours d'exécution, ainsi que l'état des ports (ports ouverts, fermés, filtrés, etc.).
L'avantage de la reconnaissance active est qu'elle fournit des informations très précises et techniques.
L'inconvénient est que vous pouvez être détecté ou bloqué par un pare-feu (firewall) ou un système de détection d'intrusion si vous envoyez un trop grand nombre de paquets suspects.
Il faut donc toujours en tenir compte.
La reconnaissance passive donne des résultats plus limités mais présente l'avantage d'être totalement indétectable.
N'importe quelle information trouvée en ligne peut s'avérer cruciale lors de l'exploitation.
Voilà pour l'orgzackation de notre phase de reconnaissance.
Nous allons maintenant voir les outils qui vont nous aider à la réaliser.