SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Skipfish

Rapport du projet :

-Scanner de vulnérabilités-

Proposé par :


Mr. ABOU EL KALAM Anas

Réalisé par :


EL ANBAL Mounia



MOUACHI Raja



NKILA Bouchra

Ecole Nationale des Sciences Appliquées – Marrakech
GRT5- 2013/2014-
SOMMAIRE

1-Introduction

3

2- Tests d’intrusion

3

2-1 Qu’est ce qu’un test d’intrusion ?
2-2 Les limites des tests d’intrusions
3-Etude théorique

3
4
4

3-1 Présentation de Skipfish

4

3-2 Pourquoi utiliser Skipfish?

4

4-Mise en pratique : Skipfish

5

4-1

Prérequis nécessaires

5

4-2

Installation

6

4-3

Utilisation

7

4-4

Vulnérabilités détectées

9

4-Conclusion

2

10
1-Introduction :
La sécurité des serveurs Web est un problème désormais récurrent. Le nombre de vulnérabilités
recensées dans ce type de logiciels s’accroît constamment. Nous pouvons l’expliquer par plusieurs
raisons : la complexité sans cesse croissante des technologies du Web, les délais sans cesse plus
courts de mise sur le marché de logiciels, les compétences parfois limitées et le manque de culture
en sécurité des développeurs. En conséquence, bon nombre de ces applications contiennent de
multiples vulnérabilités qui peuvent être exploitées par des pirates informatiques. Ces attaques
peuvent leur permettre, par exemple, d’obtenir des données confidentielles (numéros de cartes de
crédit, mots de passe, etc.) qui sont manipulées par l’application, voire même de modifier ou
détruire certaines de ces données. La complexité des technologies utilisées aujourd’hui pour réaliser
les applications Web (Java, JavaScript, PHP, Ruby, J2E, etc.) fait qu’il est particulièrement difficile :
d’empêcher l’introduction de vulnérabilité dans ces applications et puis d’estimer ou de prévoir leur
présence. De plus, la sécurisation des réseaux ainsi que l’installation de pare-feux ne fournit pas de
protection satisfaisante contre les attaques Web car ces applications sont par définition publiques et
accessibles à tous. Il est donc nécessaire d’auditer régulièrement les applications Web pour vérifier la
présence de vulnérabilités exploitables et ceci peut être réalisé notamment par des scanners de
vulnérabilités Web. Enfin, il est également fondamental de pouvoir détecter les tentatives d’attaques
à l’aide de systèmes de détection d’intrusions.

2- Tests d’intrusion
2-1 Qu’est ce qu’un test d’intrusion ?
Les tests d’intrusion constituent une tentative autorisée de simuler les activités d’un pirate qui veut
s’approprier des ressources qui ne sont pas les siennes, ou nuire au bon fonctionnement d’un
système d’informations, par exemple en le rendant indisponible.
Ces tests permettent d’avoir une image claire de la sécurité globale d’une entreprise ou d’un accès
Internet chez un particulier. Ils correspondent à des attaques simulées d’un réseau.
Ils permettent de tester la robustesse de la sécurité, d’apprécier l’efficacité des mécanismes mis en
œuvre. Il est ainsi possible de savoir si les mécanismes mis en place permettent de stopper ou non
un attaquant malintentionné.
Les tests d’intrusion ne peuvent pas se réduire à la simple utilisation d’un logiciel de détection
automatique de vulnérabilités par balayage. Ils sont bien plus, en particulier ils nécessitent
l’intervention d’une équipe de professionnels compétents qui eux vont identifier et qualifier les failles
de manière plus réfléchie et auront à l’esprit les conséquences des tests qu’ils effectueront.
Néanmoins, les scanners de vulnérabilité présentent un certain intérêt dans leur caractère
automatique mais ils ne suffisent pas à eux seuls à obtenir une bonne détermination des failles de
vulnérabilité que présente un réseau.

Figure 1 : la demarche utilisée dans les tests d’intrusion

3
2-2 Les limites des tests d’intrusions :
Les tests d’intrusion peuvent échouer, ce qui ne signifie pas que le système ne présente pas de faille
de vulnérabilité.
Il est difficile voire impossible de tester toutes les failles de vulnérabilité présentes dans un réseau.
Les scanners de vulnérabilité par exemple ne simulent pas toutes les nouvelles failles. Certaines des
vulnérabilités ne sont pas prises en compte par ces derniers, soit parce que la vulnérabilité est
totalement inconnue, soit parce que la mise à jour du logiciel prenant en compte cette vulnérabilité
n’est pas encore disponible.
De plus, il est nécessaire de répéter de façon régulière ces tests. Tout ajout de matériel, l’apparition
de nouveaux outils de piratage ou de nouvelles technologies remettent en cause les résultats des
tests d’intrusion.

3-Etude théorique :
1-1 Présentation de Skipfish :
Skipfish est un scanner Open Source destiné à auditer la sécurité des sites et des applications Web. Il a
été mis en œuvre par Google et est destiné à aider les développeurs et les professionnels de la sécurité
dans leurs tâches d'audit des sites et des applications Web. Développé entièrement en C et
spécifiquement optimisé pour le protocole HTTP, Skipfish devrait avant tout se caractériser par ses
hautes performances. En effet, il arrive à envoyer près de 2000 requêtes http sur un serveur distant, si
bien sûr le serveur le supporte, et arrive à 7000 requêtes sur un serveur local.
Skipfish utilise des méthodes heuristiques automatisées, ce qui pourrait ainsi réduire le taux de faux
positifs. En effet, les résultats se basent sur une longue liste de vulnérabilités connues qui aurait été
établie sur la seule identification d'une bannière applicative, éventuellement usurpée. Parmi les tests
critiques (compromission du système), on notera les injections SQL, de commandes Shell et XPATH ,
ainsi que l'exploitation des vulnérabilités liées aux chaînes de format et aux dépassements d'entiers.
Les attaques XSS, Directory Traversal et CSS sont quant à elles classées dans les impacts modérés
(compromission de données). Skipfish est compatible avec les systèmes d'exploitation GNU/Linux,
FreeBSD et Mac OS X. Il peut également être utilisé avec les systèmes de type Microsoft Windows.
3-2 Pourquoi utiliser Skipfish?
Un certain nombre d'outils de commerciaux et open source avec des fonctions analogues sont
facilement accessibles (par exemple, Nikto ,Websecurify , Netsparker , w3af , Arachni ); s'en tenir à
celle qui vous convient le mieux. Cela dit, skipfish tente de répondre à certains des problèmes
courants associés aux scanners de sécurité Web. Avantages spécifiques comprennent:
Haute performance :Plus de 500 requêtes par seconde contre des cibles sensibles sur Internet, plus
de 2000 requêtes par seconde sur les réseaux LAN / MAN, et + de 7000 demandes à des instances
locales ont été observées, avec un très modeste processeur, réseau, et l'empreinte mémoire. Cela peut
être attribué à:



Multiplexage single-thread, réseau entièrement asynchrone E / S et le modèle de traitement
de données qui élimine gestion de la mémoire, la planification et l'inefficacité de la CIB
présente dans certains clients multi-thread.
Caractéristiques HTTP/1.1 avancées telles que les demandes de plage, la compression du
contenu et des connexions keep-alive, ainsi que la taille de réponse forcée de limiter, à
garder en tête au niveau du réseau en échec.

4



Smart cache de réponse et le comportement de serveur avancé heuristiques sont utilisés
pour réduire le trafic inutile.
Axé sur la performance, la mise en œuvre de C pur, y compris une pile HTTP personnalisé.

Facilité d'utilisation: skipfish est très adaptable et fiable. Les fonctions de numérisation:





Reconnaissance heuristique des régimes de chemin et manipulation des paramètres basés sur
une requête obscure.
Manipulation gracieux des sites multi-cadres où certains chemins obéissent un tout autre
sémantique, ou sont soumis à des règles de filtrage.
Construction de liste de mots automatique basée sur l'analyse de contenu de site.
Balayage probabiliste dispose pour permettre des évaluations périodiques, assortis de délais
de sites arbitrairement complexes.

Contrôles de sécurité bien conçus: l'outil est censé fournir des résultats précis et significatifs:





Sondes différentielles trois étapes sont préférés à des contrôles de signature pour la
détection de vulnérabilités.
Contrôles de sécurité groupés sont conçus pour gérer des scénarios difficiles: XSS stockée
(chemin, paramètres, en-têtes), SQL aveugle ou injection XML, ou la coquille aveugle
injection.
Rapport de post-traitement réduit considérablement le bruit causé par les faux positifs
restants ou des trucs du serveur par l'identification des motifs répétitifs.

Skipfish se révèlerait moins gourmand en mémoire que les solutions existantes telles que Niktot ou
Nessus mais également plus facile d'utilisation et présentant des résultats de meilleure qualité. Son
créateur ajoute tout de même : « Skipfish n'est pas pour autant le remède miracle et peut ne pas
être adapté à certains cas de figure. ».

4-Mise en pratique de : Skipfish
4-1-Prérequis nécessaires

Il faut disposer :



Machine virtuelle : Backtrack 5
D’accès Internet

4-2-Installation
Skipfish n'étant pas disponible dans les dépots Linux (ubuntu ou autres), on ne pourra pas l'installer
par un simple apt-get install, pour cela il faut suivre les étapes suivantes :
Etape 1 : téléchargement de skipfish
On télécharge le dossier compressé des dépôts de google

5
# wget http://skipfish.googlecode.com/files/skipfish-1.26.tgz
Capture d’écran:

Etape 2 : Décompression du dossier
On utilise la commande :
# tar zxvf skipfish-1.26b.tgz
Signification:
z: type d’archive gzip
v : (verbose/parlant) permet d'obtenir une description des fichiers désarchivés (facultatif)
x : (extract/extraire) pour extraire les fichiers
f : (file/fichier) pour désigner l'archive contenant les fichiers (donnée en paramètre)
Capture d’écran:

Étape 3 : Installation de la bibliothèque que Skipfish aurait besoin pour son exécution
Par les commandes :
#apt-get install libidn11-dev
#apt-get install libssl-dev

Capture d’écran :

6
Étape 4 : installation
On se met dans le répertoire skipfish puis on exécute la commande make pour lancer la denière
étape d’installation :
# cd skipfish
# make
Capture d’écran:

4-3-Utilisation
Étape 1 : fichier dictionnaire
Il est nécessaire de copier et renommer le fichier dictionnaire à utiliser (minimal, default, complete,
etc.) dans le répertoire skipfish.

La commande:
#cp dictionaries/default.wl skipfish.wl

Étape 2 : Création du dossier où nous allons placer le rapport du Scan
Capture d’écran :

7
Étape 3 : Lancement de l’analyse du site web de l’ENS A
Pour lancer le scan, il suffit tout simplement de se rendre dans le dossier Skipfish en mode super
utilisateur (root) et d'exécuter la commande suivante :
# ./skipfish –o /home/Skipfish_User/scan_Report/ http://www.ensa.ac.ma

Les options que nous pouvons utiliser dans skipfish sont :
-o
-m
-B
-L
-V
-Y

indique le dossier dans lequel le fichier de rapport sera enregistré
nombre maximal de connexions établies
ne va pas dans les sous domaines
interdire un auto_aprentissage de nouveaux mots clés
ne pas mettre à jour la liste de mot extraite du scan
inclure les extensions dans le dossier de brute-force

4-4-Vulnérabilités détectées
Les vulnérabilités sont classées selon un degré de dangerosité pour le site web : les couleurs devant
les failles détectées expliquent cela et on a bien sûr dans le rapport une légende pour expliquer à
quel type de vulnérabilité appartiennent les vulnérabilités détectées.
On se met dans le répertoire où nous avons les résultats du scan et on lance firefox pour voir les
résultats :

Résultat du scan de www.ensa.ac.ma:

8
On commencera donc par expliquer la vulnérabilité haut risque (High risk flaws (potentially leading
to system compromise):



Integer overflow : L'affectation d'un entier non-signé 32 bits à un entier non-signé 16 bits
permettait de modifier l'index d'une table dans laquelle des valeurs étaient écrites pour cibler
des endroits non-autorisés dans la mémoire.
SQL injection: Un programme permettant de soumettre à une base de données des requêtes
SQL malformées ou trop génériques.

Nous avons ensuite les failles de bas rique (Low risk issues (limited impact or low specificity)), c'est
à dire qui ont un impact limité ou spécifique sur le serveur:



HTML forms with no XSRF protection: Les attaques de type XSRF utilisent l'utilisateur
comme déclencheur, celui-ci devient complice sans en être conscient. L'attaque étant
actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.
External content embedded on a page : Un contenu externe est intégré dans la page.

Nous avons également des failles qui concernent des données entrées comme par exemple à la base
de données (Non-specific informational entries):





Server error triggered: nous pouvons là avoir deux types d'erreurs :
- Error establishing a database connection : problème sur la base de données ou
problème de configuration
- 500 Internal Server Error : mauvaise configuration du site
Resource not directly accessible : Les erreurs de la Base de Données
New 'X-*' header value seen : ici aussi nous avons relevé deux types de failles qui sont
- X-Powered-By : informe sur les failles du serveur (affiche la version de php utilisée)
- X-Pingback : notifie l'auteur lorsque quelqu'un accède à l'article

9


New HTTP cookie added
- PHPSESSID : En cas d'ouverture de session, si les cookies ne sont pas disponibles,
alors le paramètre PHPSESSID est ajouté à l'url.

5-Conclusion :
De nos jours, les applications Web sont à la fois beaucoup plus répandues et beaucoup plus
complexes que celles des années 2000. Le développement du Web dynamique et la richesse
fonctionnelle qu’offrent les nouvelles technologies du Web permettent de répondre à un grand
nombre de besoins. Néanmoins, cette richesse fonctionnelle s’accompagne d’une complexité
grandissante, et cette progression va de pair avec une multiplication de nombre de vulnérabilités
informatiques publiées, offrant une surface d’attaque conséquente. De ce fait, aucun serveur Web
n’est sûr à 100% et les applications Web sont devenues de plus en plus vulnérables et exposées à des
attaques malveillantes pouvant porter atteinte à des propriétés essentielles telles que la
confidentialité, l’intégrité ou la disponibilité des informations. Pour faire face à ces menaces, il est
primordial de développer des techniques efficaces permettant d’aider les développeurs et les
administrateurs des applications Web à identifier les vulnérabilités résiduelles dans ces applications
et aussi à évaluer l’efficacité des outils de détection d’intrusions qui sont conçus pour faire face à des
attaques visant à exploiter ces vulnérabilités.

10

Contenu connexe

Tendances

OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésFranck Franchin
 
Gouvernance du système d'information et parties prenantes
Gouvernance du système d'information et parties prenantesGouvernance du système d'information et parties prenantes
Gouvernance du système d'information et parties prenantesAbdeslam Menacere
 
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseEyesOpen Association
 
Guide audit du SI - 2nd édition 2019
Guide audit du SI - 2nd édition 2019Guide audit du SI - 2nd édition 2019
Guide audit du SI - 2nd édition 2019CHARLES Frédéric
 
Les Schémas Directeurs SI par la pratique - IAE Paris - 10 septembre 2013
Les Schémas Directeurs SI par la pratique -  IAE Paris - 10 septembre 2013Les Schémas Directeurs SI par la pratique -  IAE Paris - 10 septembre 2013
Les Schémas Directeurs SI par la pratique - IAE Paris - 10 septembre 2013ArielleMeffre
 
Présentation GLPI
Présentation GLPIPrésentation GLPI
Présentation GLPIINTEGER SPRL
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURIMansouri Khalifa
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites webSaid Sadik
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseAntonio Fontes
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
PFE : ITIL - Gestion de parc informatique
PFE : ITIL - Gestion de parc informatiquePFE : ITIL - Gestion de parc informatique
PFE : ITIL - Gestion de parc informatiquechammem
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxZakariyaa AIT ELMOUDEN
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'informationFranck Franchin
 

Tendances (20)

OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Gestion des incidents ITIL
Gestion des incidents ITILGestion des incidents ITIL
Gestion des incidents ITIL
 
Urbanisation
UrbanisationUrbanisation
Urbanisation
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts Clés
 
Gouvernance du système d'information et parties prenantes
Gouvernance du système d'information et parties prenantesGouvernance du système d'information et parties prenantes
Gouvernance du système d'information et parties prenantes
 
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
 
Mehari
MehariMehari
Mehari
 
Guide audit du SI - 2nd édition 2019
Guide audit du SI - 2nd édition 2019Guide audit du SI - 2nd édition 2019
Guide audit du SI - 2nd édition 2019
 
Les Schémas Directeurs SI par la pratique - IAE Paris - 10 septembre 2013
Les Schémas Directeurs SI par la pratique -  IAE Paris - 10 septembre 2013Les Schémas Directeurs SI par la pratique -  IAE Paris - 10 septembre 2013
Les Schémas Directeurs SI par la pratique - IAE Paris - 10 septembre 2013
 
Présentation GLPI
Présentation GLPIPrésentation GLPI
Présentation GLPI
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
ISO 27001
ISO 27001ISO 27001
ISO 27001
 
Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites web
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
PFE : ITIL - Gestion de parc informatique
PFE : ITIL - Gestion de parc informatiquePFE : ITIL - Gestion de parc informatique
PFE : ITIL - Gestion de parc informatique
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linux
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'information
 

En vedette

Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesBee_Ware
 
Le pentest face au droit - Cyber@Hack 2015
Le pentest face au droit - Cyber@Hack 2015Le pentest face au droit - Cyber@Hack 2015
Le pentest face au droit - Cyber@Hack 2015Benjamin Benifei
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Christophe Pekar
 
Tiki-VUL-ARTICLE-DO-final-AS1mai2016
Tiki-VUL-ARTICLE-DO-final-AS1mai2016Tiki-VUL-ARTICLE-DO-final-AS1mai2016
Tiki-VUL-ARTICLE-DO-final-AS1mai2016Dany Ouellet
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01Cyber Security Alliance
 
Foxstream Detection d'intrusion
Foxstream  Detection d'intrusionFoxstream  Detection d'intrusion
Foxstream Detection d'intrusionFoxstream
 
Article_pentest_Secus 10 12
Article_pentest_Secus 10 12Article_pentest_Secus 10 12
Article_pentest_Secus 10 12michelcusin
 
PTES: PenTest Execution Standard
PTES: PenTest Execution StandardPTES: PenTest Execution Standard
PTES: PenTest Execution StandardSource Conference
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceSébastien GIORIA
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesXavier Kress
 
2 aaz fonctionnement d'un nids
2 aaz   fonctionnement d'un nids2 aaz   fonctionnement d'un nids
2 aaz fonctionnement d'un nidskaser info2aaz
 
Présentation pfe inchaallah
Présentation pfe inchaallahPrésentation pfe inchaallah
Présentation pfe inchaallahIlyass_rebla
 
Protection perimetrique
Protection perimetriqueProtection perimetrique
Protection perimetriqueMATECH
 

En vedette (16)

Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
Le pentest face au droit - Cyber@Hack 2015
Le pentest face au droit - Cyber@Hack 2015Le pentest face au droit - Cyber@Hack 2015
Le pentest face au droit - Cyber@Hack 2015
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
 
ASFWS 11 - Nos partenaires et sponsors
ASFWS 11 - Nos partenaires et sponsorsASFWS 11 - Nos partenaires et sponsors
ASFWS 11 - Nos partenaires et sponsors
 
Tiki-VUL-ARTICLE-DO-final-AS1mai2016
Tiki-VUL-ARTICLE-DO-final-AS1mai2016Tiki-VUL-ARTICLE-DO-final-AS1mai2016
Tiki-VUL-ARTICLE-DO-final-AS1mai2016
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
 
Foxstream Detection d'intrusion
Foxstream  Detection d'intrusionFoxstream  Detection d'intrusion
Foxstream Detection d'intrusion
 
Article_pentest_Secus 10 12
Article_pentest_Secus 10 12Article_pentest_Secus 10 12
Article_pentest_Secus 10 12
 
Pres 0
Pres 0Pres 0
Pres 0
 
PTES: PenTest Execution Standard
PTES: PenTest Execution StandardPTES: PenTest Execution Standard
PTES: PenTest Execution Standard
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
Prés kais
Prés kaisPrés kais
Prés kais
 
2 aaz fonctionnement d'un nids
2 aaz   fonctionnement d'un nids2 aaz   fonctionnement d'un nids
2 aaz fonctionnement d'un nids
 
Présentation pfe inchaallah
Présentation pfe inchaallahPrésentation pfe inchaallah
Présentation pfe inchaallah
 
Protection perimetrique
Protection perimetriqueProtection perimetrique
Protection perimetrique
 

Similaire à mise en pratique de l'outil Skipfish

Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internetwaggaland
 
Management des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVasManagement des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVasEyesOpen Association
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatifLeClubQualiteLogicielle
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFSylvain Maret
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilCyber Security Alliance
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01Sébastien GIORIA
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Mame Cheikh Ibra Niang
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDMohamet Lamine DIOP
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFManfred Touron
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebCyrille Grandval
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAGILLY
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Frederic Leger
 
Mon Cloud - Présentation des services
Mon Cloud - Présentation des servicesMon Cloud - Présentation des services
Mon Cloud - Présentation des servicesGARRIDOJulien
 

Similaire à mise en pratique de l'outil Skipfish (20)

Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internet
 
20100114 Waf V0.7
20100114 Waf V0.720100114 Waf V0.7
20100114 Waf V0.7
 
Les tests de securite devops
Les tests de securite devopsLes tests de securite devops
Les tests de securite devops
 
IKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FRIKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FR
 
Management des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVasManagement des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVas
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAF
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARD
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRF
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Snort
SnortSnort
Snort
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuri
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
Mon Cloud - Présentation des services
Mon Cloud - Présentation des servicesMon Cloud - Présentation des services
Mon Cloud - Présentation des services
 

mise en pratique de l'outil Skipfish

  • 1. Skipfish Rapport du projet : -Scanner de vulnérabilités- Proposé par :  Mr. ABOU EL KALAM Anas Réalisé par :  EL ANBAL Mounia  MOUACHI Raja  NKILA Bouchra Ecole Nationale des Sciences Appliquées – Marrakech GRT5- 2013/2014-
  • 2. SOMMAIRE 1-Introduction 3 2- Tests d’intrusion 3 2-1 Qu’est ce qu’un test d’intrusion ? 2-2 Les limites des tests d’intrusions 3-Etude théorique 3 4 4 3-1 Présentation de Skipfish 4 3-2 Pourquoi utiliser Skipfish? 4 4-Mise en pratique : Skipfish 5 4-1 Prérequis nécessaires 5 4-2 Installation 6 4-3 Utilisation 7 4-4 Vulnérabilités détectées 9 4-Conclusion 2 10
  • 3. 1-Introduction : La sécurité des serveurs Web est un problème désormais récurrent. Le nombre de vulnérabilités recensées dans ce type de logiciels s’accroît constamment. Nous pouvons l’expliquer par plusieurs raisons : la complexité sans cesse croissante des technologies du Web, les délais sans cesse plus courts de mise sur le marché de logiciels, les compétences parfois limitées et le manque de culture en sécurité des développeurs. En conséquence, bon nombre de ces applications contiennent de multiples vulnérabilités qui peuvent être exploitées par des pirates informatiques. Ces attaques peuvent leur permettre, par exemple, d’obtenir des données confidentielles (numéros de cartes de crédit, mots de passe, etc.) qui sont manipulées par l’application, voire même de modifier ou détruire certaines de ces données. La complexité des technologies utilisées aujourd’hui pour réaliser les applications Web (Java, JavaScript, PHP, Ruby, J2E, etc.) fait qu’il est particulièrement difficile : d’empêcher l’introduction de vulnérabilité dans ces applications et puis d’estimer ou de prévoir leur présence. De plus, la sécurisation des réseaux ainsi que l’installation de pare-feux ne fournit pas de protection satisfaisante contre les attaques Web car ces applications sont par définition publiques et accessibles à tous. Il est donc nécessaire d’auditer régulièrement les applications Web pour vérifier la présence de vulnérabilités exploitables et ceci peut être réalisé notamment par des scanners de vulnérabilités Web. Enfin, il est également fondamental de pouvoir détecter les tentatives d’attaques à l’aide de systèmes de détection d’intrusions. 2- Tests d’intrusion 2-1 Qu’est ce qu’un test d’intrusion ? Les tests d’intrusion constituent une tentative autorisée de simuler les activités d’un pirate qui veut s’approprier des ressources qui ne sont pas les siennes, ou nuire au bon fonctionnement d’un système d’informations, par exemple en le rendant indisponible. Ces tests permettent d’avoir une image claire de la sécurité globale d’une entreprise ou d’un accès Internet chez un particulier. Ils correspondent à des attaques simulées d’un réseau. Ils permettent de tester la robustesse de la sécurité, d’apprécier l’efficacité des mécanismes mis en œuvre. Il est ainsi possible de savoir si les mécanismes mis en place permettent de stopper ou non un attaquant malintentionné. Les tests d’intrusion ne peuvent pas se réduire à la simple utilisation d’un logiciel de détection automatique de vulnérabilités par balayage. Ils sont bien plus, en particulier ils nécessitent l’intervention d’une équipe de professionnels compétents qui eux vont identifier et qualifier les failles de manière plus réfléchie et auront à l’esprit les conséquences des tests qu’ils effectueront. Néanmoins, les scanners de vulnérabilité présentent un certain intérêt dans leur caractère automatique mais ils ne suffisent pas à eux seuls à obtenir une bonne détermination des failles de vulnérabilité que présente un réseau. Figure 1 : la demarche utilisée dans les tests d’intrusion 3
  • 4. 2-2 Les limites des tests d’intrusions : Les tests d’intrusion peuvent échouer, ce qui ne signifie pas que le système ne présente pas de faille de vulnérabilité. Il est difficile voire impossible de tester toutes les failles de vulnérabilité présentes dans un réseau. Les scanners de vulnérabilité par exemple ne simulent pas toutes les nouvelles failles. Certaines des vulnérabilités ne sont pas prises en compte par ces derniers, soit parce que la vulnérabilité est totalement inconnue, soit parce que la mise à jour du logiciel prenant en compte cette vulnérabilité n’est pas encore disponible. De plus, il est nécessaire de répéter de façon régulière ces tests. Tout ajout de matériel, l’apparition de nouveaux outils de piratage ou de nouvelles technologies remettent en cause les résultats des tests d’intrusion. 3-Etude théorique : 1-1 Présentation de Skipfish : Skipfish est un scanner Open Source destiné à auditer la sécurité des sites et des applications Web. Il a été mis en œuvre par Google et est destiné à aider les développeurs et les professionnels de la sécurité dans leurs tâches d'audit des sites et des applications Web. Développé entièrement en C et spécifiquement optimisé pour le protocole HTTP, Skipfish devrait avant tout se caractériser par ses hautes performances. En effet, il arrive à envoyer près de 2000 requêtes http sur un serveur distant, si bien sûr le serveur le supporte, et arrive à 7000 requêtes sur un serveur local. Skipfish utilise des méthodes heuristiques automatisées, ce qui pourrait ainsi réduire le taux de faux positifs. En effet, les résultats se basent sur une longue liste de vulnérabilités connues qui aurait été établie sur la seule identification d'une bannière applicative, éventuellement usurpée. Parmi les tests critiques (compromission du système), on notera les injections SQL, de commandes Shell et XPATH , ainsi que l'exploitation des vulnérabilités liées aux chaînes de format et aux dépassements d'entiers. Les attaques XSS, Directory Traversal et CSS sont quant à elles classées dans les impacts modérés (compromission de données). Skipfish est compatible avec les systèmes d'exploitation GNU/Linux, FreeBSD et Mac OS X. Il peut également être utilisé avec les systèmes de type Microsoft Windows. 3-2 Pourquoi utiliser Skipfish? Un certain nombre d'outils de commerciaux et open source avec des fonctions analogues sont facilement accessibles (par exemple, Nikto ,Websecurify , Netsparker , w3af , Arachni ); s'en tenir à celle qui vous convient le mieux. Cela dit, skipfish tente de répondre à certains des problèmes courants associés aux scanners de sécurité Web. Avantages spécifiques comprennent: Haute performance :Plus de 500 requêtes par seconde contre des cibles sensibles sur Internet, plus de 2000 requêtes par seconde sur les réseaux LAN / MAN, et + de 7000 demandes à des instances locales ont été observées, avec un très modeste processeur, réseau, et l'empreinte mémoire. Cela peut être attribué à:   Multiplexage single-thread, réseau entièrement asynchrone E / S et le modèle de traitement de données qui élimine gestion de la mémoire, la planification et l'inefficacité de la CIB présente dans certains clients multi-thread. Caractéristiques HTTP/1.1 avancées telles que les demandes de plage, la compression du contenu et des connexions keep-alive, ainsi que la taille de réponse forcée de limiter, à garder en tête au niveau du réseau en échec. 4
  • 5.   Smart cache de réponse et le comportement de serveur avancé heuristiques sont utilisés pour réduire le trafic inutile. Axé sur la performance, la mise en œuvre de C pur, y compris une pile HTTP personnalisé. Facilité d'utilisation: skipfish est très adaptable et fiable. Les fonctions de numérisation:     Reconnaissance heuristique des régimes de chemin et manipulation des paramètres basés sur une requête obscure. Manipulation gracieux des sites multi-cadres où certains chemins obéissent un tout autre sémantique, ou sont soumis à des règles de filtrage. Construction de liste de mots automatique basée sur l'analyse de contenu de site. Balayage probabiliste dispose pour permettre des évaluations périodiques, assortis de délais de sites arbitrairement complexes. Contrôles de sécurité bien conçus: l'outil est censé fournir des résultats précis et significatifs:    Sondes différentielles trois étapes sont préférés à des contrôles de signature pour la détection de vulnérabilités. Contrôles de sécurité groupés sont conçus pour gérer des scénarios difficiles: XSS stockée (chemin, paramètres, en-têtes), SQL aveugle ou injection XML, ou la coquille aveugle injection. Rapport de post-traitement réduit considérablement le bruit causé par les faux positifs restants ou des trucs du serveur par l'identification des motifs répétitifs. Skipfish se révèlerait moins gourmand en mémoire que les solutions existantes telles que Niktot ou Nessus mais également plus facile d'utilisation et présentant des résultats de meilleure qualité. Son créateur ajoute tout de même : « Skipfish n'est pas pour autant le remède miracle et peut ne pas être adapté à certains cas de figure. ». 4-Mise en pratique de : Skipfish 4-1-Prérequis nécessaires Il faut disposer :   Machine virtuelle : Backtrack 5 D’accès Internet 4-2-Installation Skipfish n'étant pas disponible dans les dépots Linux (ubuntu ou autres), on ne pourra pas l'installer par un simple apt-get install, pour cela il faut suivre les étapes suivantes : Etape 1 : téléchargement de skipfish On télécharge le dossier compressé des dépôts de google 5
  • 6. # wget http://skipfish.googlecode.com/files/skipfish-1.26.tgz Capture d’écran: Etape 2 : Décompression du dossier On utilise la commande : # tar zxvf skipfish-1.26b.tgz Signification: z: type d’archive gzip v : (verbose/parlant) permet d'obtenir une description des fichiers désarchivés (facultatif) x : (extract/extraire) pour extraire les fichiers f : (file/fichier) pour désigner l'archive contenant les fichiers (donnée en paramètre) Capture d’écran: Étape 3 : Installation de la bibliothèque que Skipfish aurait besoin pour son exécution Par les commandes : #apt-get install libidn11-dev #apt-get install libssl-dev Capture d’écran : 6
  • 7. Étape 4 : installation On se met dans le répertoire skipfish puis on exécute la commande make pour lancer la denière étape d’installation : # cd skipfish # make Capture d’écran: 4-3-Utilisation Étape 1 : fichier dictionnaire Il est nécessaire de copier et renommer le fichier dictionnaire à utiliser (minimal, default, complete, etc.) dans le répertoire skipfish. La commande: #cp dictionaries/default.wl skipfish.wl Étape 2 : Création du dossier où nous allons placer le rapport du Scan Capture d’écran : 7
  • 8. Étape 3 : Lancement de l’analyse du site web de l’ENS A Pour lancer le scan, il suffit tout simplement de se rendre dans le dossier Skipfish en mode super utilisateur (root) et d'exécuter la commande suivante : # ./skipfish –o /home/Skipfish_User/scan_Report/ http://www.ensa.ac.ma Les options que nous pouvons utiliser dans skipfish sont : -o -m -B -L -V -Y indique le dossier dans lequel le fichier de rapport sera enregistré nombre maximal de connexions établies ne va pas dans les sous domaines interdire un auto_aprentissage de nouveaux mots clés ne pas mettre à jour la liste de mot extraite du scan inclure les extensions dans le dossier de brute-force 4-4-Vulnérabilités détectées Les vulnérabilités sont classées selon un degré de dangerosité pour le site web : les couleurs devant les failles détectées expliquent cela et on a bien sûr dans le rapport une légende pour expliquer à quel type de vulnérabilité appartiennent les vulnérabilités détectées. On se met dans le répertoire où nous avons les résultats du scan et on lance firefox pour voir les résultats : Résultat du scan de www.ensa.ac.ma: 8
  • 9. On commencera donc par expliquer la vulnérabilité haut risque (High risk flaws (potentially leading to system compromise):   Integer overflow : L'affectation d'un entier non-signé 32 bits à un entier non-signé 16 bits permettait de modifier l'index d'une table dans laquelle des valeurs étaient écrites pour cibler des endroits non-autorisés dans la mémoire. SQL injection: Un programme permettant de soumettre à une base de données des requêtes SQL malformées ou trop génériques. Nous avons ensuite les failles de bas rique (Low risk issues (limited impact or low specificity)), c'est à dire qui ont un impact limité ou spécifique sur le serveur:   HTML forms with no XSRF protection: Les attaques de type XSRF utilisent l'utilisateur comme déclencheur, celui-ci devient complice sans en être conscient. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés. External content embedded on a page : Un contenu externe est intégré dans la page. Nous avons également des failles qui concernent des données entrées comme par exemple à la base de données (Non-specific informational entries):    Server error triggered: nous pouvons là avoir deux types d'erreurs : - Error establishing a database connection : problème sur la base de données ou problème de configuration - 500 Internal Server Error : mauvaise configuration du site Resource not directly accessible : Les erreurs de la Base de Données New 'X-*' header value seen : ici aussi nous avons relevé deux types de failles qui sont - X-Powered-By : informe sur les failles du serveur (affiche la version de php utilisée) - X-Pingback : notifie l'auteur lorsque quelqu'un accède à l'article 9
  • 10.  New HTTP cookie added - PHPSESSID : En cas d'ouverture de session, si les cookies ne sont pas disponibles, alors le paramètre PHPSESSID est ajouté à l'url. 5-Conclusion : De nos jours, les applications Web sont à la fois beaucoup plus répandues et beaucoup plus complexes que celles des années 2000. Le développement du Web dynamique et la richesse fonctionnelle qu’offrent les nouvelles technologies du Web permettent de répondre à un grand nombre de besoins. Néanmoins, cette richesse fonctionnelle s’accompagne d’une complexité grandissante, et cette progression va de pair avec une multiplication de nombre de vulnérabilités informatiques publiées, offrant une surface d’attaque conséquente. De ce fait, aucun serveur Web n’est sûr à 100% et les applications Web sont devenues de plus en plus vulnérables et exposées à des attaques malveillantes pouvant porter atteinte à des propriétés essentielles telles que la confidentialité, l’intégrité ou la disponibilité des informations. Pour faire face à ces menaces, il est primordial de développer des techniques efficaces permettant d’aider les développeurs et les administrateurs des applications Web à identifier les vulnérabilités résiduelles dans ces applications et aussi à évaluer l’efficacité des outils de détection d’intrusions qui sont conçus pour faire face à des attaques visant à exploiter ces vulnérabilités. 10