IMA5 2020/2021 P3

De Wiki de Projets IMA
Révision datée du 3 janvier 2021 à 15:10 par Sbenayed (discussion | contributions) (Travail réalisé)

Présentation générale

Description

Dans le cadre de notre Projet de Fin d'Etudes nous nous préparons pour les olympiades nationales des métiers en Cybersécurité.

Ce projet nous demandera de développer des compétences en sécurisation d'équipements réseaux, sécurisation d'environnement Linux (principalement CentOS), Windows. La deuxième partie de l'épreuve consiste à utiliser des méthodes Forensics et reverse engineering pour analyser des malwares ou des dumps de disques dur. La troisième partie est une attaque d'un environnement Windows et Linux où l'objectif est l'élévation de privilèges afin de devenir administrateur du réseau. La quatrième et dernière partie consiste à une cyberdéfense en temps réel, il s'agira de bloquer des attaques grâce à Palo Alto (une solution de pare-feu).

Ce projet est encadré par M. Thomas VANTROYS

Organisation du projet

Dans un premier temps nous avons choisi de nous familiariser avec tous les exercices fournis par l'expert métier (le guide de préparation est disponible sur le wiki) et nous ferons donc des fiches récapitulant les commandes à exécuter pour chaque exercice. L'objectif étant d'être capable de réaliser ces tâches le plus rapidement possible.



Au cours de ce projet nous installerons en salle E306 un Network Service Monitoring afin de surveiller l’activité des utilisateurs et de détecter d’éventuelles failles ou diffusion de malwares. Il faudra donc installer un port forwarding vers la machine pour intercepter toute l’activité du réseau et mettre en place des outils de monitoring comme Kibana pour visualiser cette activité et qualifier les menaces potentielles. Nous serons amené à réaliser un guide d’utilisation de ces outils afin de permettre la prise en main de cette solution après notre installation.


Travail réalisé

Prise en main des utilitaires de la compétition

Dans le cadre de la compétition, l'expert métier national Damien NAVILLIAT nous a transmis des exercices à réaliser pour s'assurer d'un niveau décent. Ces exercices (que vous pouvez retrouver dans le guide de préparation au bas du wiki) nous demande de savoir utiliser des utilitaires tels que certtool, OpenVPN, OpenSSL etc.

Nous avons donc réalisé chacun de ces exercices et fait des fiches qui nous permettront de nous entraîner et de réviser rapidement une solution.

Pour des raisons de lisibilité ces fiches seront uploadés par la suite sur ce wiki sous format pdf.

Cette étape a constitué la première grande partie de ce projet. La suite consistera à s'entraîner sur le sujet officiel de l'épreuve (disponible en bas de page également).

Mise en place de supervision de la salle E306

Nous avons mis en place sur la VM security.plil.info un service de monitoring via Splunk.

Snort

Splunk Forwarder

Visualisation des alertes

Familiarisation des failles de sécurité

Root Me

Sur la plateforme Root Me (https://www.root-me.org) nous avons à disposition des challenges et des images de machines à compromettre. Cela nous permet de nous familiariser avec des failles précises pour les challenges et de nous confronter à des situations "réelles" sur des machines à distance.

Nous avons réalisé 99 challenges (au 06/11/2020) sur ce site et 4 compromissions de machines.


TryHackMe

De la même manière le site TryHackMe met à disposition des rooms permettant de s'entraîner et de découvrir des frameworks, des méthodes et des failles à étudier.

Nous avons notamment travaillé sur le top 10 des failles OWASP (Open Web Application Security Project) qui sont des standards à maîtriser pour la compétition :

Injection

Les failles d'injections sont relativement communes dans les applications aujourd'hui. Ces défauts apparaissent lorsque le serveur traitent les inputs de l'utilisateur comme des commandes. De cette manière l'attaquant peut lancer des requêtes SQL par exemple. Ces failles peuvent êtres critiques car on peut récupérer les informations dans la base de données mais également la supprimer.

Broken Authentication

Cette faille consiste à casser ou à contourner le système de gestion de l'authentification et de la session. Cela passe par des attaques par bruteforce des utilisateurs et des mots de passes ou même des cookies de sessions qui permettent au serveur d'identifier l'utilisateur.

Sensitive Data Exposure

Les données utilisées par les applications doivent être impérativement chiffrées car un attaquant peut encore une fois récupérer les tables de la base de données et avoir accès à tous les utilisateurs, les mots de passes, les cartes de crédits etc. en clair.

XML External Entity

Permet d'exploiter les fonctionnalités d'XML pour interagir avec le back-end pour récupérer des fichiers. On peut réaliser des attaques par Déni de Service ou faire des SSRF (Server-Side Request Forgery) pour envoyer des requêtes à des applications à partir du serveur.

Broken Access Control

Si l'application est mal configuré on peut essayer d'accéder à des informations sensibles sur l'utilisation. Si un utilisateur arrive à accéder à une page de gestion du site la sécurité de l'application est compromise.

Security Misconfiguration

Les mauvaises configurations de sécurité apparaissent également souvent, si les permissions ne sont pas configurés, si les mots de passe des applications sont encore celles par défaut etc. Un attaquant n'a que quelques recherches à faire pour gagner l'accès à ces applications.

Cross-site Scripting

Aussi appelé XSS est une injection de code javascript, Flash, CSS etc. qui permet d'interagir avec le serveur. L'exploitation peut passer par exemple par l'upload d'un payload sur le serveur et la mise en place d'un reverse shell.

Insecure Deserialization

Il s'agit de remplacer des données exécuté par une application, ce qui permet d'envoyer un payload ou d'agir sur le système d'information. Ces failles sont assez difficiles à mettre en place car la méthode est propre à chaque application et l'attaquant doit donc faire beaucoup de recherches sur l'application avant de la mettre en place.

Components with Known Vulnerabilities

Beaucoup d'application aujourd'hui utilisent des versions de logiciels pas à jour. Il existe énormément de ressources (metasploit, exploit-db, les CVE) mettant en évidence les failles de logiciels avec leurs versions.

D'où l'importance de toujours faire les mises à jour de sécurité le plus rapidement possible.

Insufficent Logging & Monitoring

Toute action des utilisateurs devrait être enregistrée afin de pouvoir tracé les actions et estimer les risques de l'application.

Challenge DGSE - Brigitte Friang

Le 24 Octobre la DGSE (Direction Générale de la Sécurité Extérieure) à mis en ligne un CTF en partenariat avec l'ESIEE mettant à disposition de tous des challenges d'un niveau lycéen à expert.

https://www.defense.gouv.fr/dgse/tout-le-site/operation-brigitte-friang-prets-pour-relever-le-defi

La première partie du challenge était assez facile à réaliser : un directory traversal, une traduction en morse, l'analyse d'un schéma électronique, décrypter un message codé en AES 256 ECB etc.

La deuxième partie nous amène sur une plateforme de CTF avec des épreuves d'un tout autre niveau dans divers domaines.

texte alternatif
Challenge 2e partie


Challenge DGA - DG'Hack

A partir du 12 novembre


Installation de Security Onion en salle E306

A

Cours Sécurité des réseaux informatiques

Nous avons suivi le cours Sécurité des réseaux informatiques sur la plateforme France Université Numérique. C'est un cours qui s'étend sur 5 semaines, accessible en ligne, et mettant à disposition des vidéos de cours, des TPs, ainsi que des QCM, un bureau d'étude et une évaluation finale.


texte alternatif


C'est un cours très complet qui revient sur les couches liaison, réseau, transport et application. Il détaille les spécificités de ces couches, les protocoles utilisés ainsi que les failles possible à chaque niveau. Les TP à disposition permettent de mettre en œuvre ces attaques pour se placer du côté de l'attaquant. Le cours revient aussi sur les notions de filtrage, les différentes solutions possibles : proxy, firewall etc. Il aborde le côté cryptographique avec TLS, les méthodes symétriques et asymétriques de chiffrement, l'utilisation dans les normes de réseau wifi : WEP, WPA2, WPA-PSK, WPA-Enterprise et WPA3.

Nous avons suivi ce cours jusqu'à la fin et participé à l'évaluation finale avec une note de 15/16.


Fichier:Attestation suivi course-v1 MinesTelecom+04037+session01 5e94689935ce5a17e37b93d226b78ec5.pdf

Documents Rendus

Guide_de_préparation_métier_cybersécurité_-_Lyon_2020.pdf

Cahier_des_Charges.pdf

Cahier_des_spécifications.pdf

Fichier regroupant les différents protocoles de sécurisation de linux