EITC/IS/WAPT Web Applications Penetration Testing est le programme européen de certification informatique sur les aspects théoriques et pratiques des tests de pénétration des applications Web (piratage blanc), y compris diverses techniques pour les techniques de spidering, d'analyse et d'attaque de sites Web, y compris des outils et des suites de tests d'intrusion spécialisés. .
Le programme du test de pénétration des applications Web EITC/IS/WAPT couvre l'introduction à Burp Suite, le spridering Web et DVWA, les tests de force brute avec Burp Suite, la détection de pare-feu d'application Web (WAF) avec WAFW00F, la portée cible et le spidering, la découverte de fichiers cachés avec ZAP, analyse des vulnérabilités WordPress et énumération des noms d'utilisateur, analyse de l'équilibreur de charge, scripts intersites, XSS - réfléchi, stocké et DOM, attaques par proxy, configuration du proxy dans ZAP, attaques de fichiers et de répertoires, découverte de fichiers et de répertoires avec DirBuster, pratique des attaques Web , OWASP Juice Shop, CSRF – Cross Site Request Forgery, collecte de cookies et ingénierie inverse, Attributs HTTP – vol de cookies, injection SQL, DotDotPwn – fuzzing de traversée de répertoire, injection iframe et injection HTML, Exploit Heartbleed – découverte et exploitation, injection de code PHP, bWAPP - Injection HTML, POST réfléchi, injection de commandes OS avec Commix, injection SSI côté serveur, test de pente dans Docker, OverTheWire Natas, LFI et injection de commandes, Google hacking pour les tests de pente, Google Dorks pour les tests de pénétration, Apache2 ModSecurity, ainsi que Nginx ModSecurity, au sein de la structure suivante, englobant un contenu didactique vidéo complet comme référence pour cette certification EITC.
La sécurité des applications Web (souvent appelée Web AppSec) est le concept consistant à concevoir des sites Web pour qu'ils fonctionnent normalement même lorsqu'ils sont attaqués. L'idée est d'intégrer un ensemble de mesures de sécurité dans une application Web pour protéger ses actifs contre les agents hostiles. Les applications Web, comme tous les logiciels, sont sujettes à des défauts. Certaines de ces failles sont des vulnérabilités réelles qui peuvent être exploitées, présentant un risque pour les entreprises. De telles failles sont protégées par la sécurité des applications Web. Cela implique l'utilisation d'approches de développement sécurisées et la mise en place de contrôles de sécurité tout au long du cycle de vie du développement logiciel (SDLC), garantissant que les défauts de conception et les problèmes de mise en œuvre sont résolus. Les tests d'intrusion en ligne, qui sont effectués par des experts qui visent à découvrir et à exploiter les vulnérabilités des applications Web à l'aide d'une approche dite de piratage blanc, est une pratique essentielle pour permettre une défense appropriée.
Un test d'intrusion Web, également appelé test d'intrusion Web, simule une cyberattaque sur une application Web afin de trouver des failles exploitables. Les tests d'intrusion sont fréquemment utilisés pour compléter un pare-feu d'application Web dans le contexte de la sécurité des applications Web (WAF). Les tests d'intrusion, en général, impliquent de tenter de pénétrer un nombre quelconque de systèmes d'application (par exemple, des API, des serveurs frontaux/principaux) afin de trouver des vulnérabilités, telles que des entrées non nettoyées qui sont vulnérables aux attaques par injection de code.
Les résultats du test de pénétration en ligne peuvent être utilisés pour configurer les politiques de sécurité WAF et corriger les vulnérabilités découvertes.
Le test d'intrusion comporte cinq étapes.
La procédure de test d'intrusion est divisée en cinq étapes.
- Planification et repérage
Définir la portée et les objectifs d'un test, y compris les systèmes à traiter et les méthodologies de test à utiliser, est la première étape.
Pour mieux comprendre le fonctionnement d'une cible et ses faiblesses potentielles, rassemblez des informations (par exemple, noms de réseau et de domaine, serveur de messagerie). - Balayage
L'étape suivante consiste à déterminer comment l'application cible réagira aux différents types de tentatives d'intrusion. Ceci est généralement accompli en utilisant les méthodes suivantes :
Analyse statique – Examen du code d'une application pour prédire son comportement lors de son exécution. En un seul passage, ces outils peuvent scanner l'intégralité du code.
L'analyse dynamique est le processus d'inspection du code d'une application pendant son fonctionnement. Cette méthode d'analyse est plus pratique car elle fournit une vue en temps réel des performances d'une application. - Obtenir l'accès
Pour trouver les faiblesses d'une cible, cette étape utilise des attaques d'applications Web telles que les scripts intersites, l'injection SQL et les portes dérobées. Pour comprendre les dommages que ces vulnérabilités pourraient infliger, les testeurs tentent de les exploiter en augmentant les privilèges, en volant des données, en interceptant le trafic, etc. - Garder l'accès
Le but de cette étape est d'évaluer si la vulnérabilité peut être exploitée pour établir une présence à long terme dans le système compromis, permettant à un acteur malveillant d'obtenir un accès en profondeur. L'objectif est d'imiter les menaces persistantes avancées, qui peuvent rester dans un système pendant des mois afin de voler les informations les plus sensibles d'une entreprise. -
Les résultats des tests d'intrusion sont ensuite consignés dans un rapport contenant des informations telles que :
Des vulnérabilités exploitées en détail
Données qui ont été obtenues qui étaient sensibles
La durée pendant laquelle le stylo testeur a pu rester inaperçu dans le système.
Les experts en sécurité utilisent ces données pour aider à configurer les paramètres WAF d'une entreprise et d'autres solutions de sécurité des applications afin de corriger les vulnérabilités et d'empêcher de nouvelles attaques.
Méthodes de test d'intrusion
- Les tests d'intrusion externes se concentrent sur les actifs d'une entreprise visibles sur Internet, tels que l'application Web elle-même, le site Web de l'entreprise, ainsi que les serveurs de messagerie et de noms de domaine (DNS). L'objectif est d'accéder et d'extraire des informations utiles.
- Les tests internes impliquent qu'un testeur ait accès à une application derrière le pare-feu d'une entreprise simulant une attaque d'initié hostile. Ce n'est pas nécessairement une simulation d'employé malhonnête. Un employé dont les informations d'identification ont été obtenues à la suite d'une tentative de phishing est un point de départ courant.
- Le test à l'aveugle consiste à fournir simplement à un testeur le nom de l'entreprise testée. Cela permet aux experts en sécurité de voir comment une attaque d'application réelle pourrait se dérouler en temps réel.
- Test en double aveugle : Dans un test en double aveugle, les professionnels de la sécurité ne sont pas au courant de l'attaque simulée. Ils n'auront pas le temps de consolider leurs fortifications avant une tentative de brèche, comme dans le monde réel.
- Tests ciblés : dans ce scénario, le testeur et le personnel de sécurité collaborent et suivent les mouvements de chacun. Il s'agit d'un excellent exercice de formation qui donne à une équipe de sécurité un retour en temps réel du point de vue d'un pirate informatique.
Pare-feu d'applications Web et tests d'intrusion
Les tests d'intrusion et les WAF sont deux techniques de sécurité distinctes mais complémentaires. Le testeur est susceptible d'exploiter les données WAF, telles que les journaux, pour trouver et exploiter les points faibles d'une application dans de nombreux types de tests d'intrusion (à l'exception des tests en aveugle et en double aveugle).
À leur tour, les données de test d'intrusion peuvent aider les administrateurs WAF. Suite à l'achèvement d'un test, les configurations WAF peuvent être modifiées pour se protéger contre les défauts détectés lors du test.
Enfin, les tests d'intrusion répondent à certaines exigences de conformité des méthodes d'audit de sécurité, telles que PCI DSS et SOC 2. Certaines exigences, telles que PCI-DSS 6.6, ne peuvent être satisfaites que si un WAF certifié est utilisé. Cependant, en raison des avantages susmentionnés et de la possibilité de modifier les paramètres WAF, cela ne rend pas les tests d'intrusion moins utiles.
Quelle est l'importance des tests de sécurité Web ?
L'objectif des tests de sécurité Web est d'identifier les failles de sécurité dans les applications Web et leur configuration. La couche application est la cible principale (c'est-à-dire ce qui s'exécute sur le protocole HTTP). L'envoi de différentes formes d'entrée à une application Web pour provoquer des problèmes et faire réagir le système de manière inattendue est une approche courante pour tester sa sécurité. Ces « tests négatifs » vérifient si le système fait quelque chose qu'il n'était pas censé accomplir.
Il est également essentiel de réaliser que les tests de sécurité Web impliquent plus que la simple vérification des fonctionnalités de sécurité de l'application (telles que l'authentification et l'autorisation). Il est également crucial de s'assurer que les autres fonctionnalités sont déployées en toute sécurité (par exemple, la logique métier et l'utilisation d'une validation d'entrée et d'un codage de sortie appropriés). Le but est de s'assurer que les fonctions de l'application Web sont sûres.
Quels sont les nombreux types d'évaluations de sécurité?
- Testez la sécurité dynamique des applications (DAST). Ce test automatisé de sécurité des applications est le mieux adapté aux applications internes à faible risque qui doivent répondre aux exigences de sécurité réglementaires. La combinaison de DAST avec des tests de sécurité en ligne manuels pour les vulnérabilités courantes est la meilleure stratégie pour les applications à risque moyen et les applications cruciales subissant des modifications mineures.
- Contrôle de sécurité pour les applications statiques (SAST). Cette stratégie de sécurité des applications comprend à la fois des méthodes de test automatisées et manuelles. Il est idéal pour détecter les bogues sans avoir à exécuter des applications dans un environnement réel. Il permet également aux ingénieurs de scanner le code source pour détecter et corriger les failles de sécurité logicielles de manière systématique.
- Examen de pénétration. Ce test manuel de sécurité des applications est idéal pour les applications essentielles, en particulier celles qui subissent des changements importants. Pour trouver des scénarios d'attaque avancés, l'évaluation utilise une logique métier et des tests basés sur l'adversaire.
- Autoprotection de l'application au cours de l'exécution (RASP). Cette méthode de sécurité des applications en pleine croissance intègre une variété de techniques technologiques pour instrumenter une application afin que les menaces puissent être surveillées et, espérons-le, empêchées en temps réel au fur et à mesure qu'elles se produisent.
Quel rôle les tests de sécurité des applications jouent-ils dans la réduction des risques de l'entreprise ?
La grande majorité des attaques contre les applications Web incluent :
- Injection SQL
- XSS (script intersite)
- Exécution de commandes à distance
- Attaque de traversée de chemin
- Accès au contenu restreint
- Comptes d'utilisateurs compromis
- Installation de code malveillant
- Chiffre d'affaires perdu
- La confiance des clients s'érode
- La réputation de la marque porte atteinte
- Et bien d'autres attaques
Dans l'environnement Internet d'aujourd'hui, une application Web peut être affectée par divers défis. Le graphique ci-dessus décrit quelques-unes des attaques les plus courantes perpétrées par des attaquants, chacune pouvant causer des dommages importants à une application individuelle ou à l'ensemble de l'entreprise. Connaître les nombreuses attaques qui rendent une application vulnérable, ainsi que les résultats possibles d'une attaque, permet à l'entreprise de résoudre les vulnérabilités à l'avance et de les tester efficacement.
Des contrôles d'atténuation peuvent être établis tout au long des premières phases du SDLC pour éviter tout problème en identifiant la cause première de la vulnérabilité. Lors d'un test de sécurité d'application Web, la connaissance du fonctionnement de ces menaces peut également être utilisée pour cibler des lieux d'intérêt connus.
Reconnaître l'impact d'une attaque est également important pour gérer les risques de l'entreprise, car les impacts d'une attaque réussie peuvent être utilisés pour déterminer la gravité de la vulnérabilité globale. Si des vulnérabilités sont découvertes lors d'un test de sécurité, la détermination de leur gravité permet à l'entreprise de hiérarchiser plus efficacement les efforts de correction. Pour réduire les risques pour l'entreprise, commencez par les problèmes de gravité critique et descendez jusqu'à ceux qui ont un impact moindre.
Avant d'identifier un problème, l'évaluation de l'impact possible de chaque programme dans la bibliothèque d'applications de l'entreprise vous aidera à hiérarchiser les tests de sécurité des applications. Les tests de sécurité Wenb peuvent être programmés pour cibler les applications critiques de l'entreprise en premier, avec des tests plus ciblés pour réduire les risques pour l'entreprise. Avec une liste établie d'applications de premier plan, les tests de sécurité wenb peuvent être programmés pour cibler les applications critiques de l'entreprise en premier, avec des tests plus ciblés pour réduire les risques pour l'entreprise.
Lors d'un test de sécurité d'application Web, quelles fonctionnalités doivent être examinées ?
Lors des tests de sécurité des applications Web, tenez compte de la liste non exhaustive de fonctionnalités suivante. Une mise en œuvre inefficace de chacun pourrait entraîner des faiblesses, mettant l'entreprise en danger.
- Configuration de l'application et du serveur. Les configurations de chiffrement/cryptographie, les configurations de serveur Web, etc. sont autant d'exemples de failles potentielles.
- Validation de la gestion des entrées et des erreurs Un mauvais traitement des entrées et des sorties entraîne une injection SQL, des scripts intersites (XSS) et d'autres problèmes d'injection typiques.
- Authentification et maintenance des sessions. Vulnérabilités pouvant conduire à l'usurpation d'identité de l'utilisateur. La force et la protection des informations d'identification doivent également être prises en compte.
- Autorisation. La capacité de l'application à se protéger contre les escalades de privilèges verticales et horizontales est en cours de test.
- Logique en entreprise. La plupart des programmes qui fournissent des fonctionnalités commerciales s'appuient sur ces derniers.
- Logique côté client. Ce type de fonctionnalité est de plus en plus courant avec les pages Web modernes contenant beaucoup de JavaScript, ainsi que les pages Web utilisant d'autres types de technologies côté client (par exemple, Silverlight, Flash, les applets Java).
Pour vous familiariser en détail avec le programme de certification, vous pouvez développer et analyser le tableau ci-dessous.
Le programme de certification des tests de pénétration des applications Web EITC/IS/WAPT fait référence à du matériel didactique en libre accès sous forme de vidéo. Le processus d'apprentissage est divisé en une structure étape par étape (programmes -> leçons -> sujets) couvrant les parties pertinentes du programme. Des conseils illimités avec des experts du domaine sont également fournis.
Pour plus de détails sur la procédure de certification, consultez Comment cela fonctionne.
Téléchargez le matériel préparatoire complet d'auto-apprentissage hors ligne pour le programme de tests d'intrusion des applications Web EITC/IS/WAPT dans un fichier PDF.
Matériel préparatoire EITC/IS/WAPT – version standard
Matériel préparatoire EITC/IS/WAPT – version étendue avec questions de révision