Académique Documents
Professionnel Documents
Culture Documents
RAPPORT
D’AUDIT
WECKEL Théo
BENHAMOUCHE Jilani
Contacts
www.hackazon.trackflaw.com
Table des matières
Contacts...................................................................................................2
Introduction..............................................................................................4
Contexte et objectifs................................................................................4
Tableau de vulnérabilités............................................................................4
Synthèse managériale................................................................................5
Synthèse technique....................................................................................6
Sections et tests OWASP.............................................................................7
1. Collecte d’informations....................................................................7
2. Configuration et mécanismes de déploiement.....................................7
2.1 Entêtes de sécurité HTTP manquants.................................................7
2.2 Divulgation d'informations techniques dans les entêtes HTTP................8
2.3 Absence d’antivirus.........................................................................8
3. Gestion des identités.......................................................................9
3.1 Définition des rôles.........................................................................9
3.2 Absence de confirmation lors de la création de compte.........................9
4. Authentification.............................................................................10
4.1 Absence de modification de mot de passe une fois connecter..............10
4.2 Absence de politique de mot de passe..............................................10
4.3 Absence de protection anti force brute.............................................10
5. Autorisations................................................................................12
5.1 Défaut d’autorisation : accès aux commandes d'autres utilisateurs.......12
5.2 Inclusion de fichiers locaux.............................................................13
6. Gestion des sessions......................................................................14
6.1 Cookies non sécurisés....................................................................14
7. Validation des entrées utilisateurs...................................................15
7.1 Application vulnérable aux attaques CSRF.........................................15
7.2 Application vulnérable aux attaques de type XSS...............................16
7.3 Injection de commandes systèmes..................................................17
7.4 Application vulnérable aux injections SQL.........................................17
8. Gestion des erreurs.......................................................................18
9. Cryptographie...............................................................................18
10. Processus métier...........................................................................19
10.1 Fonctionnalité de téléversement de fichiers non sécurisés.................19
11. Côté client....................................................................................20
www.hackazon.trackflaw.com
Introduction
Contexte et objectifs
L'ESGI a mandaté Theo WAECKEL et Jilani BENHAMOUCHE pour réaliser un test
d’intrusion sur leur site www.hackazon.trackflaw.com.
L’audit sera effectué en mode boite noir, il sera donc réalisé dans les conditions
les plus proches d’une attaque externe perpétrée par un inconnu distant. Cela
signifie qu’aucune information (ou quasiment aucune) nous est fournie aux avant
de commencer les tests.
Tableau de vulnérabilités
Voici notre tableau comportant l’ensemble des vulnérabilités trouver lors
de notre test d’intrusion.
www.hackazon.trackflaw.com
Fonctionnalité de téléversement de fichiers non
sécurisé Haut Faible CRITIQUE
Synthèse managériale
www.hackazon.trackflaw.com
Synthèse technique
www.hackazon.trackflaw.com
Sections et tests OWASP
1. Collecte d’informations
Github : Le code source de Hackazon est disponible sur GitHub à l’adresse
suivante : https://github.com/rapid7/hackazon.
On effectue une requête GET au serveur pour analyser les en-têtes http.
www.hackazon.trackflaw.com
Remédiation : La vulnérabilité peut être remédié avec la configuration en-têtes
ci-dessus.
Vous pouvez voir que les informations sur le serveur sont spécifiées dans les en-
têtes X-Powered-By et Server. Ces en-têtes révèlent le type de serveur Web
(Nginx) et la version de PHP (5.6.40).
Nous avons constaté qu’il n’y avait pas d’antivirus par suite des différents tests
de l’audit.
www.hackazon.trackflaw.com
3. Gestion des identités
3.1 Définition des rôles
Il existe deux niveaux de privilèges sur l’application :
www.hackazon.trackflaw.com
4. Authentification
4.1 Absence de modification de mot de passe une fois connecter
Intitulé Exploitation Impacte Criticité
Absence de modification de mot de
Faible Faible Faible
passe une fois connecter
Aucune politique de robustesse des mots de passe est en place. Cela signifie que
tous les mots de passe sont acceptés peu importe leur nombre de caractère ou
dureté. Les mots de passe comme : « motdepasse » ; « 12345 » ; « azerty »
sont acceptés.
Nous avons testé le formulaire d'inscription pour analyser s'il est protégé contre
les attaques par force brute.
www.hackazon.trackflaw.com
Nous avons donc testé avec l’outil Hydra, une attaque par force brute afin de
deviner le mot de passe à partir d’un dictionnaire.
Nous avons donc remarqué qu’aucune protection n’est mise en place, et que le
compte n’est pas verrouillé après plusieurs tentatives en échec.
www.hackazon.trackflaw.com
5. Autorisations
5.1 Défaut d’autorisation : accès aux commandes d'autres utilisateurs
Intitulé Exploitation Impacte Criticité
Défaut d’autorisation : accès aux
Faible Faible Moyen
commandes d'autres utilisateurs
Lorsque l’utilisateur fait une commande, il peut la visualiser sur son profil. On
voit que le numéro de la commande apparaît dans l’url. Si on change ce numéro,
on peut visualiser la commande d’une autre personne.
Notre commande :
Remédiation : Meilleure gestion des droits afin que les commandes soient
accessibles uniquement par les comptes qui en sont à l’origine.
www.hackazon.trackflaw.com
5.2 Inclusion de fichiers locaux
Intitulé Exploitation Impacte Criticité
Inclusion de fichiers locaux Moyen Faible Moyen
Nous avons parcouru les différentes pages auxquelles nous avions accès afin de
déceler de potentielles inclusion de fichier locaux.
Après avoir testé plusieurs possibilités nous avons découvert une url exploitable :
/account/help_articles?page=/etc/passwd%00
Nous pouvons donc lire n’importe quel fichier du serveur lisible par l’utilisateur
www-data en ajoutant un octet nul à la fin du fichier que l’on souhaite lire :
www.hackazon.trackflaw.com
6. Gestion des sessions
6.1 Cookies non sécurisés
Intitulé Exploitation Impacte Criticité
Cookies non sécurisés Moyen Moyen Moyen
Après avoir analysé le cookie de session PHP, nous avons remarqué que les
attributs de sécurité “Secure”, “HTTP-Only” et “Domain” sont manquants.
“HTTP-Only” protège contre le vol de cookie lors d’une attaque de type XSS.
“Domain” vérifie si le domaine du site est bien celui inscrit dans le cookie afin
d’éviter sa récupération par un tiers malveillant.
www.hackazon.trackflaw.com
7. Validation des entrées utilisateurs
7.1 Application vulnérable aux attaques CSRF
Intitulé Exploitation Impacte Criticité
Application vulnérable aux attaques CSRF Faible Faible Moyen
L'attaquant incite ensuite l'utilisateur à visiter son site Web et à ajouter les
articles souhaités au panier de l'utilisateur. J'ai utilisé l'outil CSRF-PoC-Generator
pour générer une page HTML qui effectue cette action.
Remédiation : Nous vous recommandons d'ajouter des jetons CSRF à toutes les
requêtes qui entraînent des changements d'état et de les valider dans le backend
de votre application.
www.hackazon.trackflaw.com
7.2 Application vulnérable aux attaques de type XSS
Intitulé Exploitation Impacte Criticité
Application vulnérable aux attaques CSRF Faible Faible Moyen
XSS réfléchies :
XSS stockées :
www.hackazon.trackflaw.com
7.3 Injection de commandes systèmes
Intitulé Exploitation Impacte Criticité
Injection de commandes systèmes Haut Faible CRITIQUE
Une vulnérabilité sur la page My account > My Documents > Delivery permet
d’injecter des commandes systèmes.
Un attaquant peut donc effectuer toutes les commandes système qu’il souhaite
en tant que www-data.
Nous avons testé diverses entrées utilisateur pour analyser si notre application
est vulnérable à l'injection SQL. J'ai trouvé une page /product/view qui utilise 'id'
comme paramètre vulnérable à l'injection SQL.
Les tests ont été effectués à l'aide de l'outil Sqlmap. La commande à utiliser est :
www.hackazon.trackflaw.com
L’outil nous indique que le paramètre id est vulnérable à 3 types d’injection SQL.
9. Cryptographie
Nous n’avons pas trouvé de vulnérabilités cryptographiques sur l’application.
www.hackazon.trackflaw.com
10. Processus métier
10.1 Fonctionnalité de téléversement de fichiers non sécurisés
Intitulé Exploitation Impacte Criticité
Fonctionnalité de téléversement de fichiers non
sécurisé Haut Faible CRITIQUE
Notre reverse shell a bien été envoyée et exécuté avec succès lors de la visite de
la page de notre profil. Nous avons bien reçu la connexion, qui nous a permis
d’obtenir un shell en tant que www-data.
Cette vulnérabilité est très critique car elle permet à un attaquant possédant un
compte sur l’application d’obtenir un shell interactif sur le serveur. Il pourrait
modifier le contenu de l’application, identifier de potentiels mot de passe en clair
www.hackazon.trackflaw.com
dans des fichiers de configuration ou bien même identifier d'autres vulnérabilités
lui permettant une élévation de privilège.
www.hackazon.trackflaw.com