Bienvenue à tous dans cette vidéo, je vais vous présenter quatre outils et ressources pour progresser en sécurité web. Evidemment, je dois vous le rappeler, cette vidéo est un but uniquement éducatif, n'utilisez pas les connaissances que je vous enseigne pour commettre des actes illégaux. Sur ce, on peut commencer. En général, en sécurité web, ce sont les injections qui sont les failles les plus courantes et les plus dangereuses, que ce soit des injections SQL, des XSS, des injections de templates et plein d'autres qui permettent dans beaucoup de cas de voler des informations très importantes, d'accéder à la session de l'admin ou encore pire, exécuter votre propre code sur le serveur de la victime. Mais la question c'est, comment les hackers font-ils pour trouver et exploiter ces failles à injection ?
En pratique, la méthode est relativement simple. La première étape c'est de localiser où on peut injecter les trucs. c'est-à-dire toutes les entrées où l'utilisateur rentre des données, comme par exemple les champs de formulaire, mais aussi certains paramètres dans l'URL, voire même certains headers HTTP. La deuxième étape, c'est d'essayer d'injecter plein de trucs et de regarder comment le serveur se comporte avec les données pour voir s'il y a un comportement étrange. Étape numéro 3, si le serveur se comporte de façon étrange avec certaines entrées, il affiche une erreur par exemple, alors il est peut-être possible de créer le bon...
payload pour exploiter le serveur et lui faire faire ce que l'on veut. Ici c'est l'étape 2 qui va nous intéresser, c'est à dire à s'assurer qu'il y ait vraiment une faille. Et plus précisément cela s'appelle le fusing.
Dans chaque donnée qu'on peut entrer on va essayer d'envoyer un peu n'importe quoi dans le but de faire crasher le serveur ou en tout cas d'avoir une réponse qui soit différente de la norme. Il y a pas mal d'outils sous Linux pour faire du fusing, cependant moi j'utilise Fuf. Donc après avoir installé Fuf, si vous tapez Fuf sur le terminal, vous avez la liste des options et un petit tutoriel pour pouvoir l'utiliser.
Donc là je vais vous montrer un petit exemple. Je vais d'abord me rendre sur un site vulnérable, ici. Et là on a deux champs de formulaire, username et password. Donc c'est probablement ici qu'on devra injecter nos données vulnérables.
Le problème c'est que dans un environnement réel, je ne sais pas si cette page est vraiment vulnérable ou pas, et si oui, je ne sais pas quelle faille exploiter. Je peux essayer d'injecter moi-même plein de payloads et de faire le fusing à la main ici pour voir si cette page est vraiment vulnérable ou pas. Mais le problème c'est que ça va me prendre trop de temps.
Du coup, moi je vais utiliser le logiciel Fuff pour le faire à ma place de façon beaucoup plus rapide. Donc pour ceci, voici la commande pour faire du fusing sur cette page web. Donc on a bien l'option"-u", qui indique la page web que je vais fuser, donc c'est juste l'URL. Après, on a l'option"-w", c'est la word list que je vais utiliser pour faire du fusing.
Donc, on va faire du fusing. Ici j'ai utilisé les wordlists de chez Seclist, ici je vais vous montrer. Si je vais sur le GitHub de Seclist, ici j'ai plein de wordlists différentes, notamment pour faire du fusing ici.
On a par exemple plein de payloads pour par exemple tenter de détecter des injections SQL, ici. On a également de même pour les XSS, ici il y en a vraiment pas mal, ainsi que plein d'autres failles différentes. Moi perso je vais utiliser alphanum case extra, ici je vais juste injecter tous les caractères de la table ASCII.
Ici pour voir si cela déclenche une erreur. Donc si je reviens à mon terminal et que j'exécute la commande ici, cela teste tous les payloads que je vais indiquer dans la wordlist. Et à côté on a les résultats, donc le statut, la taille de la réponse etc. Donc là on va essayer de chercher les réponses un peu différentes. Ici on regarde d'un peu plus près.
On voit qu'avec le guillemet simple, il y a un statut de 500. Cela veut dire qu'il y a une erreur et la page a une taille différente. Donc ça, ça paraît bizarre. On peut essayer de faire ça sur notre username et password. Je vais mettre un guillemet simple ici. Et là, on voit qu'il y a eu une erreur.
Et donc, cela veut le coup d'investiguer si je peux exploiter cette faille ou pas. Quand vous êtes connecté sur votre compte dans un site web, la plupart du temps c'est grâce à une donnée présente dans les cookies qui est envoyée à chaque requête HTTP vers le site web. C'est le Session ID.
C'est juste une simple donnée aléatoire générée par le serveur quand vous vous connectez, qui grossièrement sert à vous identifier. Mais parfois le site web n'utilise pas de Session ID mais plutôt un JSON Web Token. Mais alors à quoi sert le JSON Web Token et quelle est la différence avec le Session ID ?
Le JWT sert à vous autoriser mais le fonctionnement est un peu différent. En fait c'est un token encodé en base 64 avec votre nom d'utilisateur, l'algorithme utilisé pour signer le token et surtout la signature du token. Le serveur va vérifier la signature du token.
token que vous avez envoyé et regarder si la signature est valide. Si vous changez le name en admin alors la signature sera invalide et le serveur va rejeter le token. Cela fonctionne un peu différemment des session ID mais le but reste le même.
Et c'est là que j'en viens à l'outil Jwt. Avec cet outil, il sera possible d'altérer les données du token, de faire du fuzzing, de tester les différentes failles JWT, de bruteforcer les clés pour trouver les bonnes signatures, etc. En bref, il va vous aider. aider à trouver les vulnérabilités relatives au token JWT grâce à plusieurs méthodes différentes. Je ne peux pas vous montrer comment il fonctionne ici, je devrais faire une vidéo spéciale sur les JSON Web Token mais heureusement.
En plus de cet outil sur la page GitHub du projet JWT Tool, vous avez un tutoriel complet sur qu'est-ce que c'est concrètement qu'un token JWT en détail, comment utiliser JWT Tool et surtout quelles sont les principales failles possibles avec ce token JWT. C'est vraiment super intéressant, vous allez apprendre vraiment. beaucoup de connaissances en plus. Cette phrase, vous l'entendez partout.
Lisez la documentation, lisez le manuel, lisez le machin, etc. Le problème, vous le connaissez, les documentations sont parfois vraiment très techniques et ne sont pas toujours conçues pour l'utilisateur final. et parfois même encore moins pour les débutants. La doc faisait donc peur, et presque tout le monde préférait fuir pour trouver un tuto sur internet.
Mais heureusement, pas toutes les documentations sont ultra compliquées. Imaginons par exemple que je suis sur le site Cible, La première chose qu'on pourrait faire, c'est inspecter la réponse HTTP pour voir s'il y a des informations intéressantes. Donc pour ceci, je peux faire un CTRL-MASH-I et je vais dans l'onglet Network ou Réseau en français.
Je vais recharger la page. Ici, j'ai donc toutes les requêtes HTTP et je vais cliquer sur la première requête, ici. Là, j'ai les headers de la réponse.
Il y a d'ailleurs pas mal de headers qui nous renseignent sur la sécurité du site. Mais le problème, c'est que comme je suis un peu nul, je ne connais pas tous ces headers HTTP. Et donc, je peux peut-être passer à...
à côté d'une faille. Et en particulier ce header là, xcontent type options no sniffs, cela me paraît complètement étranger. Donc qu'est ce que je fais ? Je clique sur le point d'interrogation juste avant, ici, et cela me renvoie vers une autre page.
Et plus précisément, c'est une documentation, la documentation de Mozilla. A l'origine, cette documentation a été rédigée pour les développeurs web, mais elle est également très importante pour les personnes dans le milieu de la cybersécurité, c'est à dire les personnes comme nous, car elle nous permet de beaucoup mieux comprendre. le web et notamment ici on vous explique très clairement que fait le header xcontent type options à quoi il sert et quelle valeur il prend notamment ici le nosniff évidemment cela ne s'arrête pas qu'à cela ici si je vais dans l'onglet référence on a la documentation pour apprendre l'html le css le javascript le protocole http les api web les technologies web etc etc ce n'est pas du contenu pure cybersécurité ici le but de cette documentation c'est de vous faire mieux comprendre le web et en mieux comprenant le web, vous allez beaucoup mieux comprendre les différentes sites web et devenir beaucoup plus compétent. Cependant, à mon sens, la partie la plus importante, c'est vraiment celle sur le protocole HTTP.
Ici, on vous montre clairement comment fonctionne le cache, l'authentification HTTP, les cookies, la compression, les redirections. Vous avez également la liste des headers de sécurité HTTP et à quoi ils servent. Très, très important à maîtriser. Bref, c'est l'une des meilleures ressources pour apprendre comment fonctionne le cache. le web.
Et d'ailleurs, la prochaine fois qu'il y a quelque chose que vous ne comprenez pas, vous allez dans la barre recherchée ici et vous tapez cette chose. Par exemple, le header e-tag, ici, je clique et là, on explique exactement comment il fonctionne. Donc, plus besoin d'aller regarder des tutos sur Internet. Vous savez probablement ce qu'est un CTF, ce sont des challenges de sécurité informatique réalisés dans des environnements contrôlés, où le but est d'exploiter une machine ou une application afin d'obtenir un flag qui prouve que vous avez réussi le challenge. Il existe des dizaines de plateformes, de challenge de sécurité informatique sur plein de domaines différents cela ne manque pas mais le problème c'est qu'on est assez vite perdu et cela peut être difficile de choisir laquelle prendre à mon sens pentester lab est vraiment la meilleure plateforme pour apprendre la sécurité web car vous avez plus de 15 ans et vous avez plus 400 challenges en tout d'une difficulté très incrémentale et surtout les challenges sont très variés.
Le site couvre les protocoles HTTP, les différentes CVE, les API, les protocoles comme OAuth2 et SAML, l'énumération, les tokens JWT, les injections SQL, les files CSS, les injections template, etc. Il y a vraiment tout ce qu'il vous faut pour devenir compétent. Autre avantage, vous avez la correction des CTF en vidéo, ce qui vous permet de ne pas être bloqué sur un challenge pendant des heures voire même des jours. Évidemment, il faut toujours chercher à comprendre et à résoudre par soi même pendant au moins plusieurs heures Le challenge, c'est vrai, c'est comme ça que l'on découvre de nouvelles connaissances et que l'on apprend.
Mais au bout d'un moment, si l'on n'y arrive vraiment pas, il faut quand même la correction pour ne pas se démotiver et perdre de temps pour rien. Et malheureusement, vous ne trouverez pas des write-ups sur toutes les plateformes de CTF. moins en vidéo. Pentester Lab est cependant une plateforme payante. Le prix est de 20 par mois, mais si vous êtes sérieux dans votre apprentissage, j'estime que pour 400 exercices, ce n'est pas très cher payé.
Sinon, il y a aussi une alternative gratuite avec pas mal de d'exercices que j'aime bien c'est la web security academy conçu par l'entreprise a créé burpsu avec plein de challenges divers et variés il n'y a pas 400 exercices mais il y a en tout cas largement de quoi faire en tout cas je vous laisse découvrir tous ces outils et ressources c'était les quatre outils et ressources pour progresser en sécurité web rien qu'avec ça vous savez déjà de quoi très largement progresser si vous êtes sérieux dans votre apprentissage du hacking je vous conseille tout de suite de mettre ces quatre sites en bookmarks et de fixer tout de suite une heure dans votre agenda pour pouvoir vous former avec. Notez que je n'ai pas fait un top 10 ou un top 20 des meilleurs outils car vous n'avez pas besoin de 10 000 ressources et outils. En fait, une personne qui comprend le web, qui comprend les protocoles et qui comprend les différentes failles, elle, elle pourra se débrouiller avec presque n'importe quel outil, voire même sans outil.
Alors qu'une personne qui ne connait pas grand chose, vous pourrez lui donner les meilleurs outils du monde, elle ne sera capable d'absolument rien. De plus, il vaut mieux bien maîtriser quelques outils. outils de sécurité spécialisés plutôt qu'en connaître vaguement 50. Enfin bref, je vous dis à bientôt pour une prochaine vidéo.