La phase de reconnaissance
Introduction
Comme évoqué lors de la description de la méthodologie PTES (cf. chapitre Introduction aux tests d’intrusion, section Quelles sont les différentes phases d’un test d’intrusion ?), le but de la phase de reconnaissance est d’obtenir le maximum d’informations sur le périmètre cible afin de disposer du plus grand nombre de scénarios d’attaque possible.
Plus cette phase est consolidée, plus la possibilité d’obtenir un scénario d’attaque fonctionnel devient importante. En effet, il est important de garder en tête que les administrateurs réseau ainsi que les administrateurs système doivent couvrir la sécurité de la totalité de leur périmètre alors qu’un attaquant n’a besoin que d’une seule vulnérabilité pour éventuellement mettre à mal l’ensemble du système d’information.
Généralement, la phase de reconnaissance peut être divisée en deux :
-
La phase de reconnaissance passive. Cette phase permet d’obtenir des informations sur un périmètre cible sans interaction directe avec ce dernier. En effet, de nombreuses techniques et de nombreux outils permettent de ne pas interagir directement avec la cible tout en récoltant des informations intéressantes pour la suite. Cette...
Phase de reconnaissance passive
Au sein de la phase de reconnaissance passive, il n’est pas rare d’entendre parler d’OSINT (Open Source INTelligence) ou de ROSO (renseignement d’origine source ouverte), un concept signifiant : « toute information obtenue grâce à des données publiques ». En effet, l’objectif est d’obtenir le maximum d’informations sur le périmètre cible sans avoir à réaliser de connexion directe.
1. Informations sur la société
Dès lors que l’on souhaite s’attaquer à une société, il peut être intéressant d’obtenir des informations sur cette dernière (adresse, date de création, événements marquants, etc.) ainsi que sur les collaborateurs à risque (dirigeants, assistants de direction, employés mécontents, etc.). Le module auxiliary/gather/corpwatch_lookup_name permet d’obtenir des informations sur une société grâce à son nom. L’obtention de ces informations se fait de manière totalement passive en interrogeant un rapport annuel (Form 10-K) exigé par le SEC (Securities and Exchange Commission) incluant les informations de chaque société américaine cotée en Bourse :
msf6 > use auxiliary/gather/corpwatch_lookup_name
msf6 auxiliary(gather/corpwatch_lookup_name) > show options
Module options (auxiliary/gather/corpwatch_lookup_name):
Name Current Setting Required Description
---- --------------- -------- -----------
COMPANY_NAME yes Search for companies
CORPWATCH_APIKEY no Use this API key
LIMIT 5 yes Limit...
Phase de reconnaissance active
Avant toute chose, il est nécessaire d’apporter une précision sur la reconnaissance active. L’anonymat et la reconnaissance active n’ont aucun rapport. Ce n’est pas parce qu’un attaquant se cache derrière un serveur proxy ou bien un réseau d’anonymat tel que TOR que ses actions ne seront pas considérées comme actives.
1. La phase de scan
Au cours du chapitre La base de données de Metasploit, l’utilisation de Nmap ou bien de db_nmap a brièvement été abordée. Nmap est un scanneur de ports permettant de détecter les ports ouverts ainsi que d’identifier les services hébergés sur le système d’exploitation cible :
msf6 > db_nmap -sV --open 192.168.171.128
[*] Nmap: Starting Nmap 7.60 ( https://nmap.org ) at 2019-01-11
21:30 CET
[*] Nmap: Nmap scan report for 192.168.171.128
[*] Nmap: Host is up (0.00086s latency).
[*] Nmap: Not shown: 966 closed ports
[*] Nmap: PORT STATE SERVICE VERSION
[*] Nmap: 21/tcp open ftp vsftpd 2.3.4
[*] Nmap: 22/tcp open ssh OpenSSH 4.7p1 Debian
8ubuntu1 (protocol 2.0)
[*] Nmap: 23/tcp open telnet Linux telnetd
[*] Nmap: 25/tcp open smtp Postfix smtpd
[*] Nmap: 53/tcp open domain ISC BIND 9.4.2
[*] Nmap: 80/tcp open http Apache httpd 2.2.8
(Ubuntu)
[*] Nmap: 111/tcp open rpcbind 2 (RPC #100000)
[*] Nmap: 139/tcp open netbios-ssn Samba smbd 3.X - 4.X
[...]
Cette première phase permet dès lors d’obtenir une idée très claire de l’ensemble des...