Vous souhaitez donc devenir analyste dans le domaine de la sécurité des réseaux ...

La traduction de l'article a été préparée spécialement pour les étudiants du Pentest. Pratique des tests de pénétration . "




Êtes-vous intéressé à développer des méthodes de piratage et souhaitez partager vos découvertes avec la communauté de la sécurité de l'information? Dans cet article, je donnerai quelques recommandations à ceux qui veulent devenir analyste dans le domaine de la sécurité Web, ainsi que des opportunités et des pièges qu'il a rencontrés sur son chemin.

Qu'est-ce qu'un analyste de sécurité réseau?


Les analystes de la sécurité réseau sont des personnes qui vont au-delà de l'utilisation de techniques de piratage bien connues telles que SQLi et XSS et qui découvrent de nouvelles menaces pour les sites Web. Il peut s'agir de solutions innovantes qui compliquent les méthodes existantes, telles que l'approche de l'exploitation des vulnérabilités XXE locales + aveugles , ou de nouvelles classes de menaces telles que Web Cache Deception (empoisonnement du cache d'applications Web).

Il est très difficile de protéger les sites Web contre des méthodes d'attaque inconnues, ils peuvent donc souvent être utilisés pour exploiter un grand nombre d'autres sites Web sécurisés. Cela signifie que la publication de vos découvertes dans ce domaine peut aider les sites Web à éliminer les vulnérabilités, augmentant ainsi le niveau global de sécurité pour l'ensemble de l'écosystème.

Rompre pour la vie


La plupart des recherches impliquent l'utilisation de méthodes existantes, qui ont un peu avancé, donc pour commencer il serait bien de se familiariser avec la situation actuelle. La façon la plus rapide de le faire est de trouver un emploi où vous utiliserez toutes les techniques de piratage la plupart du temps. Beaucoup de bonnes personnes ont déjà donné des conseils sur la façon d'entrer dans l'industrie de la sécurité de l'information, alors je serai bref.

Je recommande une approche orientée vers la pratique, à partir de notre Network Security Academy , en passant à des tâches plus ouvertes, comme sur mon hackxor.net , pour avancer d'abord par des tâches simples avec une petite récompense pour les efforts de HackerOne et BugCrowd , puis enfin Passez à des programmes de vulnérabilité génériques généreux et bien rémunérés. Après avoir trouvé et analysé plusieurs vulnérabilités, devenir un consultant en sécurité de l'information et effectuer des piratages sur de nouveaux sites et applications Web chaque jour devrait être facile.

Il existe de nombreuses ressources en ligne gratuites qui vous seront utiles tout au long du processus, notamment notre méthodologie Burp , HackerOne Hacker 101 et le guide de test OWASP . Pour les livres, je recommanderais de lire le manuel du pirate WebApp et le Web Tangled . La Network Security Academy ci - dessus est destinée à être utilisée de manière interactive en remplacement du manuel du pirate WebApp, mais cela nous prendra un certain temps pour couvrir tous les sujets nécessaires, donc pour l'instant je recommanderais d'utiliser les deux sources.

Aller au-delà des méthodes connues


Dès que vous commencerez à travailler et que vous serez impliqué dans le piratage toute votre journée de travail, vous comprendrez le niveau de charge de travail, après un certain temps, votre expérience sera étendue et de nouvelles connaissances seront difficiles. À ce stade, l'étape la plus importante n'est pas de vous permettre de vous reposer sur nos lauriers et de continuer à apprendre et à pratiquer. Ce n'est qu'ainsi que vous deviendrez un véritable spécialiste.

La chasse au savoir oublié


Tout le monde comprend que vous devez suivre les nouveaux développements et surveiller les experts de l'industrie , les agrégateurs de nouvelles et assister à des conférences sur la sécurité. Cependant, suivre exclusivement de nouveaux développements signifie ne pas remarquer les précieuses connaissances et recherches qui ont été faites il y a longtemps et qui ont été oubliées.

Chaque fois que vous trouvez un bon article de blog, ne lésinez pas sur le temps - lisez l'intégralité des archives. Des informations inestimables et oubliées y sont souvent cachées. Par exemple, prenez cet article RSnake sur la re-liaison DNS, écrit en 2009. La reliure DNS contourne les contrôles d'accès basés sur IP / pare-feu sur les sites Web, et le seul moyen efficace de l'éviter est de mettre votre application en liste blanche dans l'en-tête HTTP de l'hôte. Les gens ont rapidement décidé que les navigateurs pouvaient gérer cela, et neuf ans plus tard, avec une nouvelle série d' exploits, il est devenu clair que cette vulnérabilité était réutilisée.

La navigation dans les archives vous aidera également à ne pas réinventer la roue que quelqu'un d'autre a déjà inventée, par exemple, comme ce fut le cas avec la réinvention des attaques CSS dix ans plus tard. Cependant, certaines études sont vraiment difficiles à trouver, donc une duplication accidentelle est inévitable. Une fois, j'ai publié une étude et découvert que kuza55 faisait déjà la même chose il y a cinq ans. Par conséquent, faites tout votre possible pour éviter la duplication des recherches, mais si cela se produit, pas de panique, cela arrive à tout le monde.

Recueillir des raretés


Pour connecter des sujets et identifier les opportunités que d'autres personnes manquent, il est très important de recueillir des informations à partir de diverses sources. Pour commencer, ne vous limitez pas à lire le contenu de la sécurité de l'information; Vous trouverez rapidement une documentation qui vous guidera à travers l'exploit. Encore une fois, l'astuce suivante peut être assez évidente, mais avant de parcourir Google ou d'essayer de formuler une question sur Twitter / Reddit / StackOverflow, assurez-vous de demander à vos collègues. Il arrive souvent que les connaissances nécessaires se trouvent quelque part à proximité, mais certaines personnes ne les partagent tout simplement pas publiquement.

De plus, essayez de maintenir la diversité dans votre expérience.

La réalisation de tests de pénétration dans la boîte noire pour les consultations sur la sécurité des informations devrait vous fournir une large gamme d'applications Web externes et internes que vous ne rencontrerez peut-être jamais dans le programme de primes aux bogues. Cependant, la limite de temps vous empêchera de plonger dans le niveau de compréhension de l'application qui vient en mois de primes de bogues dans un seul but. Bien qu'il s'agisse d'un processus lent et limité, un examen du code source de la boîte blanche peut offrir une perspective d'attaque alternative à laquelle un pentester de la boîte noire n'aurait pas pensé. Pour évoluer en tant qu'analyste, vous devez combiner les trois méthodes de travail. Des fonctionnalités supplémentaires telles que les jeux CTF et l'écriture d'applications Web élargiront également votre perspective.

Il n'y a pas d'idées trop stupides


L'un des pires pièges dans lesquels vous pouvez tomber est de laisser tomber une excellente idée, en supposant qu'elle ne fonctionnera certainement pas, et de ne pas l'essayer parce que "quelqu'un d'autre l'aurait remarqué" ou "c'est trop stupide pour au travail. " J'avais tellement souffert auparavant, à tel point qu'une partie de l'étude est apparue deux ans plus tard qu'elle n'aurait dû. Cela ne fait aucune différence que cela contourne l' authentification en ressaisissant le même mot de passe ou en piratant la page d'administration de Google à partir de votre téléphone, au lieu d'un ordinateur portable, car le prochain exploit significatif peut provenir d'une idée vraiment stupide.

Renoncer au confort


Si une technologie est considérée comme complexe, incommode ou dangereuse - c'est clairement un sujet qui doit être étudié. Après des expériences répétées de véritables percées après avoir abordé des sujets qui dépassent de loin ma zone de confort, j'ai décidé que le moyen le plus rapide vers de nouvelles découvertes était de rechercher activement des sujets qui me mettaient mal à l'aise. Très probablement, d'autres pirates évitent ces sujets, ce qui leur donne un sérieux potentiel de recherche. Pour moi, c'est la seule explication plausible pour laquelle j'ai pu prendre l'équipement, documenté pour la première fois en 2005, et à nouveau présenté au DEF CON en 2016, et l'utiliser pour gagner 70000 $ sur la prime aux bogues en 2019.

Répéter, réinventer, partager
Répéter


La façon la plus simple de commencer à travailler est de trouver la recherche prospective de quelqu'un d'autre, de construire quelque chose sur votre base, de mélanger certaines méthodes, puis d'essayer d'appliquer votre nouvelle approche sur le terrain et de voir si quelque chose d'intéressant se produit.

Par exemple, cet article sur la mauvaise configuration de CORS a souligné un comportement intéressant et il a déclaré que ce comportement est extrêmement courant, mais l'auteur s'est arrêté là et n'a pas étudié l'effet sur les sites Web individuels.

J'ai pris le concept proposé comme base et l'ai appliqué aux sites de primes aux bogues, sur lesquels je pouvais tout à fait légalement expérimenter et m'essayer à éviter toutes les manières possibles de les protéger. En cours de route, j'ai amélioré quelque chose en utilisant les techniques bien connues d'exploitation de redirection ouverte, j'ai finalement découvert l'origine de «null» en lisant la documentation de CORS et j'ai exploré les possibilités d'empoisonnement du cache.

Il n'y avait rien dans ce processus qui nécessiterait une intuition incroyable ou des connaissances techniques exceptionnelles, cependant, le résultat final a été facilement obtenu - le fonctionnement des configurations incorrectes de CORS pour les bitcoins et les primes .

Inventer


Répéter le travail des autres est cool, mais la recherche la plus cool vient de nulle part, qu'il s'agisse de réécrire le chemin d'accès relatif ou d'empoisonner le cache de l' application Web . Je crois que de telles découvertes sont causées par des expériences personnelles qui ajoutent des indices. Je les appelle des «expériences marquantes» ou des «miettes de pain», car elles sont parfois mystérieuses et peuvent en prendre beaucoup pour vous amener à une découverte utile.

Par exemple, en 2011, j'ai essayé de casser la protection CSRF utilisée par addons.mozilla.org . J'ai contourné la vérification des jetons, mais ils ont également vérifié que l'hôte dans l'en-tête Referer correspond au site actuel. Je me suis tourné vers le forum sla.ckers pour obtenir de l'aide, et 'barbarianbob' dit que Django détermine l'hôte du site actuel en regardant la valeur du champ Host dans les en-têtes HTTP, et il peut être remplacé par l'en-tête X-Forwarded-Host. Cette idée pourrait être combinée avec l'idée de la vulnérabilité de l'introduction d'en-têtes dans Flash pour contourner la vérification CSRF, mais ce qui était encore plus important était le premier fil d'Ariane. C'est elle qui a mené l'idée que les applications pouvaient s'appuyer sur l'en-tête de l'hôte pour déterminer leur emplacement actuel.
Quelque temps plus tard, j'ai regardé le code source de la fonction de réinitialisation du mot de passe Piwik et j'ai trouvé une ligne qui ressemblait à ceci:

$passwordResetLink = getCurrentUrlWithoutQueryString() + $secretToken

Ouais, je pensais. Piwik utilise PHP, qui a beaucoup de plaisir à gérer le chemin, je peux donc demander une réinitialisation du mot de passe à piwik.com/reset.php/foo;http : //evil.com, par conséquent, je reçois un e-mail avec deux liens, et le jeton secret est envoyé sur evil.com . Cette idée a fonctionné, m'a apporté des avantages et a jeté les bases des recherches ultérieures.

La troisième et dernière miette était la façon dont Piwik a essayé de corriger cette vulnérabilité. Ils ont remplacé getCurrentUrlWithoutQueryString() par getCurrentUrlWithoutFileName() . Cela signifiait que je ne pouvais plus utiliser ma méthode pour l'exploiter. Étant donné que je connaissais déjà Django, j'ai décidé de me plonger dans le code et de découvrir comment Piwik a déterminé le nom d'hôte actuel. J'ai trouvé que, comme Django, ils utilisaient l'en-tête de l'hôte, ce qui signifiait que je pouvais facilement générer des e-mails envoyés pour réinitialiser le mot de passe. Il s'est avéré que cette astuce a fonctionné sur addons.mozilla.org et Gallery, et Symfony, et Drupal, et un certain nombre d'autres sites. En conséquence, cela a conduit à la pratique des attaques avec la substitution de l'en-tête HTTP Host .

Décrivant l'apparence des découvertes si verbeuses, j'espère avoir pu dissiper le mystère autour du processus de recherche et le montrer contrairement à une idée spontanée venue de nulle part. De ce point de vue, il semble que la compétence principale (en plus des connaissances et de l'expérience existantes) est de reconnaître ces chapelures et de suivre le chemin qu'elles indiquent. Je ne peux pas formuler comment le faire de manière accessible, mais je sais comment considérer ces choses qui vous font dire "c'est inutile", encore et encore.

Partagez


Il est important de partager vos recherches avec la communauté. Cela contribuera à augmenter votre portefeuille et encouragera peut-être votre employeur à vous accorder plus de temps de travail pour la recherche. De plus, cela vous évitera de perdre du temps et stimulera la recherche. Critiquer votre travail et le commenter peut vous aider à voir ce que vous n'avez pas remarqué auparavant. Il n'y a rien de plus utile que de voir comment un autre analyste développe ses techniques en fonction des vôtres.

S'il vous plaît, ne pensez pas que la technologie ou une idée ne doit pas être partagée simplement parce qu'elle n'est pas innovante. Deux logos et une présentation - publiez tout ce que vous avez (idéalement, sur un blog, et non sur une plateforme fermée mal indexée comme Twitter).

Lorsque vous partagez votre recherche, il est toujours utile de montrer un exemple d'application de votre méthode à une véritable application Web. Sans cela, les gens auront inévitablement de la difficulté à le comprendre et ils peuvent douter de sa valeur pratique.

Enfin, les présentations sont idéales pour atteindre un public plus large, mais ne tombez pas dans un cercle vicieux et ne perdez pas votre temps à répéter sans cesse les présentations précédentes.

Conclusion


J'ai moi-même encore beaucoup à apprendre sur la sécurité des réseaux, je reviendrai donc sur ce sujet quelques années plus tard avec un nouveau regard et de nouvelles idées. De plus, je sais que d'autres analystes peuvent avoir des points de vue différents et j'ai hâte de partager des idées.

Résumé de mes conseils pour devenir analyste en sécurité réseau:

  • Recherchez les connaissances oubliées et lisez les archives;
  • Obtenez des informations du plus grand nombre possible de sources différentes;
  • Approfondissez des sujets complexes et «effrayants»;
  • Répéter, inventer, partager;
  • Il n'y a pas d'idées trop stupides.

Donc, si vous cherchez à vous lancer, je peux vous conseiller sur notre sélection annuelle des dix meilleures techniques de piratage Web . En plus de cela, j'ai créé une liste de différents blogs qui m'ont inspiré pendant de nombreuses années. Bonne chance dans vos recherches et amusez-vous!

Source: https://habr.com/ru/post/fr467923/


All Articles