Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WTM-20 - Qu'est-ce que le pentest web ? par Gab...

WTM-20 - Qu'est-ce que le pentest web ? par Gabrielle Botbol

Cette présentation abordera les tests d’intrusion web et présentera quelques techniques utilisées pour découvrir des vulnérabilités dans une application web. Des outils utilisés aux injections de code. Vous découvrirez un des aspect excitant du métier de pentester.

Gabrielle Botbol
Montréal, QC, Canada / Okiok
Pentester chez Okiok

Gabrielle Botbol est pentesteuse, blogueuse en cybersécurité (How to become an ethical hacker ? https://gabrielleb.fr/blog/) et cofondatrice du Laboratoire de recherche citoyenne en culture numérique. Elle fait partie depuis peu de l’équipe d’OKIOK, firme lavaloise, pionnière mondiale et chef de file canadien en matière de sécurité de l’information. Gabrielle Botbol concentre ses efforts à démocratiser la sécurité de l’information pour tous, plus particulièrement pour les femmes afin de les inciter à s’engager dans le domaine de la cybersécurité. Elle est d’ailleurs leader du chapitre Paris de Women of security qui a gagné, cet été le premier prix du Spying Challenge à la convention Le Hack Paris et fait partie depuis peu du comité d’organisation de Nous Sommes Cyber Montréal. # Qu’est-ce que le pentest web et quelques exemples d’exploitation de vulnérabilités. Cette présentation abordera les tests d’intrusion web et présentera quelques techniques utilisées pour découvrir des vulnérabilités dans une application web. Des outils utilisés aux injections de code. Vous découvrirez un des aspect excitant du métier de pentester. Et qui sait, peut-être que vous même vous deviendrez pentesteuse!

Women Techmakers Montreal

March 19, 2020
Tweet

More Decks by Women Techmakers Montreal

Other Decks in Technology

Transcript

  1. Comme avant toute expédition il fallait se préparer à l’aventure

    qui se dessinait... De Bloggeuse à Pentesteuse
  2. Qu’est-ce que le pentest? •Tenter de s’introduire dans un système

    pour en vérifier la sécurité •Différents types de pentests Crédits images:https://image.shutterstock.com/image-vector/furious-frustated-businessman-hitting-computer-260nw-200466014.jpg
  3. Outils utilisés pour la démonstration Nous travaillerons avec Mutillidae pour

    hacker légalement installé via Metasploitable 2. Metasploitable 2 VM: https://sourceforge.net/projects/metasploitable/ Mutillidae seule: https://github.com/webpwnized/mutillidae Attention il faut toujours avoir l’autorisation du propriétaire du site avant de tenter quoi que ce soit, sinon c’est hors la loi! !
  4. Cross Site Scripting Définition: Injection de code malicieux qui permettra

    par exemple de récupérer le cookie de session d’un administrateur. La documentation de OWASP est très complète: https://owasp.org/www-community/attacks/xss/ Les points d’injection sont les inputs permettant à l’utilisateur de saisir des informations. Lien utilisé pour l’exemple sur Mutillidae: http://<votre-serveur-web>/mutillidae/index.php?page=dns-lookup.php
  5. Voyons d’abord ce qu’il se passe lors de l’envoi du

    formulaire: Cross Site Scripting / Démo
  6. Notre saisie s’affiche sur la page: Ceci indique un point

    d’injection potentiel. Essayons le payload suivant: <script>alert(“WomenTechMakers”)</script> Cross Site Scripting / Démo
  7. Regardons le code de plus près <p class="report-header">Results for <script>alert("WomenTechMakers")</script><p><pre

    class="report-header" style="text-align:left;"></pre> Cross Site Scripting / Démo
  8. Cross Site Scripting / Mitigation Mitigation: Pour éviter le Cross

    Site Scripting il faut faire de la validation de saisie. Il n’y a pas de méthode toute simple mais la documentation de OWASP et très utile, notamment la Cheat Sheet qui couvre la faille XSS: https://owasp.org/www-project-cheat-sheets/cheatsheets/Cross_Site_Scri pting_Prevention_Cheat_Sheet
  9. Définition: Injection de code SQL qui peut permettre entre autres

    d’extraire des informations de la base de données ou d’outrepasser une page d’authentification. Voici la page d’OWASP concernant cette attaque: https://owasp.org/www-community/attacks/SQL_Injection SQL Injection
  10. Voyons à quoi ressemble la requête que nous avons envoyée:

    SELECT * FROM users WHERE username = '' OR 1=1-- ' AND password = ' OR 1=1-- - Partie en orange commentée à cause des caractères: -- Requête interprétée: SELECT * FROM users WHERE username = '' OR 1=1-- La condition 1=1 est toujours vraie donc la requête est “cassée” et le login nous est permis même sans les bons identifiants. SQL Injection / Demo
  11. SQL Injection / Mitigation Mitigation: Il y a plusieurs possibilités:

    utiliser des prepared statements, utiliser des procédures storées, faire de la validation de saisie avec des whitelist, etc… Encore une fois OWASP propose une documentation très précise: https://owasp.org/www-project-cheat-sheets/cheatsheets/SQL_Injection_ Prevention_Cheat_Sheet
  12. Définition: Accéder au système de fichier dont à des fichiers

    qu’un utilisateur sans privilèges n’est pas censé voir. Page OWASP: https://owasp.org/www-community/attacks/Path_Traversal Directory traversal
  13. Directory traversal / Demo Regardons de plus près l’url: http://10.0.2.4/mutillidae/index.php?page=home.

    php On accède à la page via un paramètre dans l’url ce qui indique que la fonction PHP utilisée (include) pourrait être vulnérable.
  14. Directory traversal / Demo Essayons le payload suivant: ../../../../../etc/passwd On

    va tenter d’accéder au fichier contenant les informations sur les utilisateurs du serveur (pour un serveur sous linux) Il faut l’ajouter à la place du paramètre comme ceci: http://10.0.2.4/mutillidae/index.php?page=../../../.. /../etc/passwd
  15. Directory traversal / Mitigation Mitigation: Il s’agit encore de faire

    de la validation de saisie. Voici la page OWASP concernant cette attaque: https://owasp.org/www-community/attacks/Path_Traversal
  16. Les proxies - OWASP ZAP et Burpsuite - Objectif principal:

    Intercepter les requêtes, les analyser et/ou les modifier - OWASP Zap: Open source - BurpSuite: propriétaire, version community gratuite et version pro payante - Lors de notre navigation dans l’application cible les proxys vont relever des éléments potentiellement vulnérable et nous pourrons les analyser et valider s’ils sont effectivement vulnérables.
  17. Les fuzzers Outil permettant d’envoyer une série de payloads ou

    de brute forcer des pages d’administration. - Peut se faire avec Burp intruder, dirb - Avec burp intruder on peut essayer différents payloads XSS sur un point d’injection par exemple. - On peut aussi tenter de brute forcer un formulaire d’authentification - Avec dirb on peut énumérer les répertoires d’un site avec une liste de mots prédéfinie.
  18. Voici un exemple de résultat de fuzzing avec dirb pour

    énumérer les pages et les répertoires de l’application cible Les fuzzers
  19. Autres outils Il y a énormément d’outils utiles et cela

    n’aurait pas de sens de tous les présenter ici. Mais je peux en mentionner quelques uns. - Beef pour XSS - SQL Map pour les injections SQL - WPScan pour WordPress - Tous les outils préinstallés sur kali linux.
  20. - Listes de ressources utiles Hackthebox, Certified Secure, OWASP projects,

    Cybrary … Trouvez plus de ressources ici: https://gabrielleb.fr/blog/2018/09/16/ressources-resources/ - Le Mossé Institute propose une formation à distance pour les femmes qui souhaitent se former à la cyber. Contactez moi en dm sur Linkedin: Gabrielle Botbol Ressources
  21. Questions? Merci pour votre attention! Contact Info • Twitter: ◦

    @Gabrielle_BGB • Linkedin ◦ Gabrielle Botbol • Blog ◦ https://gabrielleb.fr/blog