Macro-processus du bon pentester

Compréhension des Processus dans les Tests d’Intrusion

Définition Générale des Processus

Dans les sciences sociales, un processus est défini comme une séquence d’événements dirigée.
Dans les contextes opérationnels et organisationnels, cela se réfère plus spécifiquement à :

  • Processus de travail
  • Processus d’affaires
  • Processus de production
  • Processus de création de valeur

Dans les systèmes informatiques, les processus désignent les programmes exécutés sur les systèmes, souvent dans le cadre des logiciels système.

Processus Déterministes vs Stochastiques

Il est crucial de distinguer les processus déterministes des processus stochastiques :

  • Processus déterministes : Chaque état dépend de manière causale et est déterminé par les états et événements précédents. Il existe une relation de cause à effet prévisible.
  • Processus stochastiques : Les états suivent d’autres états avec une certaine probabilité. Les résultats sont gouvernés par des conditions statistiques, sans certitude absolue.

Processus dans les Tests d’Intrusion

Les tests d’intrusion empruntent leur définition de processus aux sciences sociales, en se concentrant sur une séquence d’événements basée sur des principes déterministes :

  • Le processus est structuré par des étapes successives et des événements entrepris par le testeur.
  • Chaque étape dépend des résultats des actions ou découvertes précédentes, formant ainsi une séquence dirigée.

Cependant, le processus de test d’intrusion reste général et flexible, et non une recette rigide étape par étape. Chaque client possède une infrastructure, des objectifs et des attentes uniques :

  • Infrastructure : Matériel, logiciels et configurations réseau.
  • Objectifs : Les buts spécifiques, comme identifier des vulnérabilités ou répondre à des exigences de conformité.
  • Attentes : Les résultats qu’ils anticipent des tests.

Caractéristiques Clés du Processus de Test d’Intrusion

  1. Défini par des Objectifs : Le processus est orienté par un objectif ou une cible prédéfinis.
  2. Dynamique et Adaptatif : Bien que structuré, il s’adapte aux caractéristiques uniques de l’environnement testé.
  3. Axé sur les Résultats : La séquence d’opérations est conçue pour atteindre le résultat souhaité dans les limites définies.
  4. Pas une Recette Figée : Il n’existe pas de formule universelle ; l’approche varie selon les circonstances.

Cette flexibilité garantit que le processus de test d’intrusion peut s’adapter à divers scénarios, offrant des résultats efficaces et personnalisés pour chaque client.

Pré-Engagement

La phase de pré-engagement est celle où les principaux engagements, tâches, périmètres, limitations et accords connexes sont documentés par écrit. C’est ici qu’on rédige les documents contractuels et qu’on échange les informations essentielles pour les testeurs d’intrusion et le client, en fonction du type d’évaluation.


Collecte d’Informations

La collecte d’informations est une phase essentielle de toute évaluation. Les données collectées, les connaissances en découlant, les conclusions tirées, et les actions entreprises reposent sur la qualité des informations disponibles. Il est donc primordial de savoir comment obtenir ces données et les exploiter au mieux selon les objectifs de l’évaluation.


Évaluation des Vulnérabilités

Cette étape se divise en deux approches principales :
D’une part, le scan des vulnérabilités connues à l’aide d’outils automatisés. D’autre part, l’analyse des vulnérabilités potentielles à partir des informations recueillies. Beaucoup d’entreprises procèdent à des audits réguliers pour comparer leurs infrastructures aux bases de données des vulnérabilités connues les plus récentes.

Cette analyse va plus loin que les outils : il s’agit d’un exercice d’innovation et de réflexion. On cherche à identifier des failles inattendues en manipulant les systèmes et applications pour en tirer parti de manière non prévue. Cela requiert de la créativité et une compréhension technique approfondie, en connectant les informations collectées pour en dévoiler les processus sous-jacents.


Exploitation

L’exploitation consiste à lancer une attaque contre un système ou une application sur la base des vulnérabilités découvertes lors des phases précédentes. Les informations issues de la Collecte d’Informations sont analysées lors de l’Évaluation des Vulnérabilités, et on prépare alors des attaques ciblées. Bien que de nombreuses organisations utilisent des applications similaires, leurs configurations diffèrent, ce qui crée des opportunités variées pour exploiter ces failles en fonction des objectifs propres à chaque environnement.


Post-Exploitation

Dans la plupart des cas, lorsqu’un service est exploité pour accéder à un système, on n’obtient pas immédiatement les privilèges les plus élevés. Les services sont souvent configurés de manière à limiter les dégâts potentiels. L’objectif de cette phase est de contourner ces restrictions et de tenter une escalade des privilèges. Cependant, cela exige une connaissance approfondie des systèmes d’exploitation ciblés, ainsi que des techniques adaptées, comme l’escalade de privilèges sous Linux ou sous Windows.


Mouvement Latéral

Le mouvement latéral est crucial pour naviguer au sein d’un réseau d’entreprise. Il permet de cibler d’autres hôtes internes et d’accroître ses privilèges dans un sous-réseau ou une autre partie de l’infrastructure. Cependant, comme pour le pillage, le Mouvement Latéral nécessite d’avoir un accès préalable à un ou plusieurs systèmes du réseau cible. Les privilèges obtenus lors de l’Exploitation initiale ne sont pas toujours critiques, car un déplacement peut être effectué sans droits administratifs.


Preuve de Concept

La Preuve de Concept est la démonstration qu’une vulnérabilité existe bel et bien. Une fois le rapport remis aux administrateurs, ils tenteront de reproduire les failles identifiées. Ces derniers ne modifieront jamais un processus critique sans preuve tangible. Dans un grand réseau, les systèmes interdépendants et les impacts potentiels doivent être soigneusement évalués avant tout changement. Les POCs accompagnent la documentation pour permettre aux administrateurs de vérifier et de valider les problèmes eux-mêmes.


Post-Engagement

Cette étape comprend le nettoyage des systèmes exploités afin que nos outils ne puissent pas être utilisés à mauvais escient. Par exemple, laisser un bind shell non sécurisé sur un serveur web serait une faute professionnelle. L’objectif est de restaurer le réseau à son état initial. Toutes les modifications, tentatives d’exploitation réussies, identifiants capturés et fichiers transférés doivent être documentés pour que le client puisse les croiser avec ses propres alertes et s’assurer que ces activités proviennent bien des tests réalisés et non d’un attaquant réel.

Enfin, on consolide toutes les notes et documentations intermédiaires pour produire un rapport final clair, exhaustif et professionnel, garantissant une vue d’ensemble des tests réalisés.

Mini conclusion

ÉtapeDescription
1. Pré-EngagementLa première étape consiste à créer tous les documents nécessaires pendant la phase de pré-engagement, discuter des objectifs d’évaluation et clarifier toutes les questions.
2. Collecte d’informationsUne fois les activités de pré-engagement terminées, nous examinons le site web existant de l’entreprise assigné à évaluer. Nous identifions les technologies utilisées et apprenons comment fonctionne l’application web.
3. Évaluation des vulnérabilitésAvec ces informations, nous recherchons des vulnérabilités connues et examinons les fonctionnalités douteuses pouvant permettre des actions non intentionnelles.
4. ExploitationUne fois que nous avons trouvé des vulnérabilités potentielles, nous préparons notre code d’exploitation, nos outils et notre environnement pour tester le serveur web.
5. Post-ExploitationAprès avoir exploité la cible avec succès, nous collectons des informations et examinons le serveur web de l’intérieur. Si nous trouvons des informations sensibles, nous essayons d’escalader nos privilèges (selon le système et les configurations).
6. Mouvement latéralSi d’autres serveurs et hôtes du réseau interne sont inclus dans le périmètre, nous essayons alors de nous déplacer dans le réseau et d’accéder à d’autres hôtes et serveurs grâce aux informations collectées.
7. Preuve de ConceptNous créons une preuve de concept pour démontrer que ces vulnérabilités existent, voire automatisons les étapes individuelles qui déclenchent ces vulnérabilités.
8. Post-EngagementEnfin, la documentation est finalisée et présentée au client sous forme de rapport officiel. Par la suite, nous pouvons organiser une réunion de présentation pour clarifier les tests ou les résultats et fournir un soutien aux équipes chargées de remédier aux problèmes identifiés.

Règles d’Or à garder en tête (checklist)

  • Obtenez le consentement écrit du propriétaire ou du représentant autorisé du SI.
  • Effectuez les tests uniquement dans le cadre du consentement obtenu et respectez les limites spécifiées dans le contrat.
  • Prenez des mesures appropriées pour éviter d’endommager les systèmes ou réseaux testés.
  • N’accédez pas, n’utilisez pas et ne divulguez pas les données personnelles ou toute autre information obtenue lors des tests.
  • N’interceptez pas de communications électroniques sans le consentement d’une des parties à la communication.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *