REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
Paix – Travail – Patrie Peace – Work – Fatherland
************** **************
MINISTERE DE L’ENSEIGNEMENT MINISTRY OF HIGHER EDUCATION
SUPERIEUR **************
**************
THE UNIVERSITY OF DOUALA
UNIVERSITE DE DOUALA **************
**************
UNIVERSITY INSTITUTE OF TECHNOLOGY
INSTITUT UNIVERSITAIRE DE TECHNOLOGIE
BP 8698 Douala Cameroun
BP 8698 Douala Cameroun Tel: 33 40 74 85-Fax 3402482
Tel: 33 40 74 85-Fax 3402482 Email: [Link]@[Link]
Email: [Link]@[Link] **************
**************
EXPOSE :
TECHNIQUES DE TESTS DE PENETRATION LES PLUS COURANTS
ET COMMENT LES APPLIQUER A DES SITUATIONS REELLES
Classe : GL_C
NGOS CLAIRE ( Chef de Groupe) NDEM ANDRE
MOUNCHIKPOU MALIK NDEWE ALLIANCE
MOUNE KANA NDOM DIM
MOUNE NKANA NENKAM TCHUENTE
MUKONGCHU MACIAL NGAMI NANA
MWOUANTCHEU ROLAND NGANGA IVANA
NANA TCHENDOP NGANSOP
NANGA ESSOMBA NGA TCHOU
NGOM EDEN NGOUAN ORNELA
NGANSO YOLANDE
Professeur : M. MINKA Joel
Année scolaire : 2024/2025
TESTS DE PENETRATION
Table des matières
I. GENERALITES SUR LES TESTS DE PENETRATION ................................................ 3
1. Définition ........................................................................................................................ 3
2. Objectifs .......................................................................................................................... 3
3. Types de pentest .............................................................................................................. 3
4. Les avantages d’un pentest .............................................................................................. 4
II. QUELQUES TECHNIQUES DE TEST DE PENETRATION ......................................... 4
1. Scan des ports .................................................................................................................. 4
2. Analyse des paquets (ou capture des paquets) ................................................................ 5
3. Attaques de type ‘Man-in-the-middle’ ............................................................................ 5
4. Test de Faiblesse d'un Mot de Passe ............................................................................... 6
5. Test de configuration des serveurs .................................................................................. 7
Exemples Concrets ........................................................................................................... 9
6. Test d’injection SQL ..................................................................................................... 10
7. Test de configuration d’un SE ....................................................................................... 12
8. Test droits d’accès ......................................................................................................... 14
Commandes de Gestion des Permissions ..................................................................... 14
9. Le social engineering .................................................................................................... 18
P a g e 2 | 20
TESTS DE PENETRATION
I. GENERALITES SUR LES TESTS DE PENETRATION
1. Définition
Selon l’OWASP, un PENTEST (test de pénétration ou test d’intrusion) est une évaluation
de la sécurité d’un système informatique d’un réseau ou d’une application en simulant une
attaque malveillante en détectant les vulnérabilités et les faiblesses pour les corriger avant
qu’elles ne soient exploitées par les attaquants réels.
2. Objectifs
Il a pour objectifs :
▪ L’identification des vulnérabilités et des faiblesses du système : Le pentest
permet de découvrir les failles de sécurité présentes dans un système, qu'elles
soient techniques (bugs logiciels, failles de configuration) ou humaines
(erreurs de manipulation, manque de sensibilisation).
▪ L’évaluation de la résistance du système face à des attaques malveillantes : Une
fois les vulnérabilités identifiées, le pentester évalue leur gravité et les
conséquences potentielles d'une exploitation par un attaquant (vol de données,
déni de service, etc.).
▪ La détection des failles de sécurité qui pourraient être exploitées par des
attaquants ;
▪ Fournir des recommandations pour corriger les vulnérabilités détectées et
améliorer la sécurité : Les résultats du pentest permettent de mettre en place
des mesures correctives pour renforcer la sécurité des systèmes et réduire les
risques d'attaque.
3. Types de pentest
Il existe plusieurs types de pentest parmi lesquels :
▪ Le pentest externe : qui évalue la sécurité des systèmes et réseaux
accessibles depuis l’extérieur
P a g e 3 | 20
TESTS DE PENETRATION
▪ Le pentest interne : qui évalue la sécurité des systèmes et réseaux à partir
d’un accès interne
▪ Le pentest d’application : qui évalue la sécurité d’une application spécifique
▪ Le pentest de réseau : qui évalue la sécurité d’un réseau
▪ Le pentest physique : qui évalue la sécurité physique d’un site ou d’un
bâtiment
▪ Le pentest social : qui évalue la sécurité des employés et de leurs habitudes
4. Les avantages d’un pentest
Les avantages d’un pentest sont :
▪ L’amélioration de la sécurité : En corrigeant les vulnérabilités, l'entreprise
renforce sa sécurité globale.
▪ La réduction des risques.
▪ La conformité aux réglementations : Le pentest permet de vérifier la
conformité aux normes et réglementations en vigueur.
▪ La protection des données sensibles.
▪ Le renforcement de la confiance des clients et des partenaires.
II. QUELQUES TECHNIQUES DE TEST DE PENETRATION
1. Scan des ports
Le scan des ports consiste à sonder un système de cible pour identifier les ports réseaux
ouverts et les services qui y sont associés. Chaque port représente un point d’accès potentiel à
un service ou une application sur le système (ex : port 80 pour le web, port 443 pour HTTPS …).
Un scanner de port envoie des paquets à la cible sur une plage de port et analyse la réponse pour
déterminer si le port est ouvert, fermé ou filtré.
• Objectif : Identifier les services exposés sur un système, afin de déterminer les
vulnérabilités potentielles
• Types de scans : Il existe différents types de scan, comme les scans TCP SYN, UDP,
etc…, chacun ayant des caractéristiques et un impact différent sur la cible. Certains
scans sont plus discrets que d’autre.
P a g e 4 | 20
TESTS DE PENETRATION
• Outils : Nmap est un outil très populaire et puissant pour scanner les ports.
2. Analyse des paquets (ou capture des paquets)
L’analyse des paquets consiste à capturer et à examiner le contenu des paquets réseaux qui
transitent sur un réseau ou une interface réseau spécifique. Cela permet d’inspecter le trafic
réseau pour comprendre le fonctionnement des applications, identifier les problèmes de
communication.
• Objectif : Analyser le trafic réseau pour comprendre ce qui se passe sur le réseau. Cela
peut servir à débloquer des problèmes de connexion, à identifier des attaques (malware,
intrusion), à analyser le comportement des utilisateurs.
• Méthode : L’analyse des paquets se fait à l’aide d’outil qui capture le trafic réseau, et
présentent ensuite le contenu des paquets sous différentes formes (hexadécimal, texte
lisible, etc.). L’analyse peut se faire en temps réel ou sur un fichier de capture déjà
enregistrer.
• Outils : Wireshark est un outil très répandu et puissant pour l’analyse des paquets.
3. Attaques de type ‘Man-in-the-middle’
Man-in-the-Middle (MITM) Est une cyberattaque qui se produit lorsqu'un attaquant
intercepte et éventuellement altère les communications entre deux parties sans qu'elles ne s'en
aperçoivent. Cela peut se produire dans divers contextes, notamment via des réseaux Wi-Fi non
sécurisés, où l'attaquant peut capturer des données sensibles telles que des mots de passe ou des
informations bancaires.
• Objectifs : Détecter les faiblesses dans les protocoles de communication, les cryptages
faibles ou l'absence de mécanismes d'authentification solides et évaluer les risques pour
la confidentialité, l’intégrité et la disponibilité des données.
• Méthodes : L'attaquant identifie les cibles potentielles et collecte des informations sur
le réseau (reconnaissance). L'attaquant se place entre la victime et le serveur cible pour
intercepter les communications (positionnement). Il capture les données échangées et
les analyse pour en extraire des informations sensibles. Dès lors, il peut effectuer
plusieurs opérations.
P a g e 5 | 20
TESTS DE PENETRATION
• Outils : Wireshark pour capturer et analyser le trafic réseau, Ettercap pour réaliser des
attaques ARP spoofing et des interceptions de trafic. Burp Suite pour intercepter et
modifier le trafic HTTP/HTTPS. Metasploit un framework complet pour l'exploitation
de vulnérabilités, incluant des modules pour les attaques MITM.
• Types d’attaques MITM : Il peut être utile de mentionner les différents types
d'attaques MITM, tels que :
ARP Spoofing : manipulation des adresses IP et MAC pour intercepter le trafic sur un
réseau local.
DNS Spoofing : redirection du trafic vers des sites malveillants en falsifiant les
réponses DNS.
HTTPS Spoofing : interception des connexions sécurisées HTTPS en utilisant des
certificats SSL falsifiés.
4. Test de Faiblesse d'un Mot de Passe
Les mots de passe sont l'une des premières lignes de défense contre l'accès non autorisé à
un système. Cependant, un mot de passe faible peut être facilement compromis par un attaquant.
Dans le cadre d'un test de pénétration, l'un des objectifs principaux est de tester la robustesse
des mots de passe pour identifier les vulnérabilités d'un système.
Les tests de mots de passe utilisent généralement deux techniques principales : les attaques
par dictionnaire et par force brute.
• Attaque par Dictionnaire :
L'attaque par dictionnaire consiste à tester une liste prédéfinie de mots de passe courants (par
exemple, des mots, des expressions courantes ou des mots de passe fréquemment utilisés).
Cette méthode est plus rapide qu’une attaque par force brute.
Exemple d'outil : Hydra (sur Kali Linux).
Exemple de commande avec Hydra pour tester un mot de passe SSH :
hydra -l username -P /chemin/vers/[Link] ssh://ip_du_cible
• Attaque par Force Brute :
Dans une attaque par force brute, l'outil essaie toutes les combinaisons possibles de caractères
jusqu’à trouver le bon mot de [Link] méthode est beaucoup plus lente et nécessite de
P a g e 6 | 20
TESTS DE PENETRATION
grandes ressources processeur et mémoire, mais elle est garantie de fonctionner à un moment
donné.
Exemple d'outil : John the Ripper (pour casser des hashes de mots de passe).
Exemple de commande avec John the Ripper :
john --wordlist=/chemin/vers/[Link] /chemin/vers/fichier_hash
▪ Outils Kali Linux pour Tester les Mots de Passe
Voici quelques outils populaires dans Kali Linux pour tester la sécurité des mots de passe :
- Hydra : Utilisé pour des attaques par force brute ou dictionnaire contre divers protocoles
(SSH, FTP, HTTP, etc.).
- John the Ripper : Outil utilisé pour cracker des hashes de mots de passe stockés sur des
systèmes Linux ou Windows.
- Aircrack-ng : Utilisé pour tester la sécurité des clés Wi-Fi, notamment les réseaux WEP
et WPA/WPA2
• Protéger les Mots de Passe
Pour éviter que des mots de passe faibles ne soient exploités lors d'un test de pénétration, il est
important d'adopter des bonnes pratiques de sécurité :
- Utiliser des mots de passe longs et complexes (ex : 12 caractères minimum, incluant des
majuscules, des chiffres et des caractères spéciaux).
- Activer l’authentification multifactorielle (MFA) : Un deuxième facteur de validation
augmente considérablement la sécurité.
- Utiliser des algorithmes de hachage sécurisé comme bcrypt ou Argon2 pour protéger
les mots de passe.
- Éviter la réutilisation des mots de passe sur plusieurs systèmes ou services.
5. Test de configuration des serveurs
Le test de configuration des serveurs vise à assurer que les serveurs fonctionnent de manière
optimale et sécurisée.
Phases d’un test de configuration serveur
P a g e 7 | 20
TESTS DE PENETRATION
a. Préparation et planification
- Objectifs : Définir les objectifs du test, les serveurs à tester et les critères de
réussite
- Plan de test : Élaborer un plan détaillé incluant les étapes du test et les outils à
tester
b. Installation et configuration initiale
- Installation du système d’exploitation : Installation du système d’exploitation
choisir
- Configuration des paramètre système : Paramétrages des aspect fondamentaux du
serveur comme les utilisateurs, les permissions et les configuration réseaux de base
c. Configuration réseau
- Adresses IP et DNS : Configurer les adresses IP statiques ou dynamiques et les
paramètres DNS
- Pare-feu et sécurité : Mettre en place les règles de pare-feu pour contrôler le trafic
entrant et sortant.
d. Installation et configuration des services
- Serveur web : installation et configuration des serveurs web ( Apache, Nginx etc.)
- Bases de données : Installation des serveurs de base de données ( MySQL,
PostgreSQL, SQL Server )
e. Test de performance et de charge
- Outils de test : Utilisation d’outil comme Apache JMeter ou HP LoadRunner pour
simuler les charges et tester les performances.
- Analyse de performances : Mesurer les temps de réponse, l’analyse de
performance, l’utilisation des ressources et la capacite à gérer les charges de
travail.
f. Test de Sécurité
- Scan de vulnérabilité : Utiliser les outils comme Nessus, OpenVas pour identifier
les vulnérabilités
- Tests de pénétration : Simuler les attaques pour vérifier la robustesse de la
configuration et les mécanismes de défense.
g. Test de sauvegarde et e récupération
- Plan de sauvegarde : Tester les stratégies de sauvegarde pour s’assurer que les
données peuvent être récupérer en cas de défaillance.
P a g e 8 | 20
TESTS DE PENETRATION
- Récupération après sinistre : Simuler des scenarios de sinistre pour vérifier la
capaciter de récupération des systèmes.
h. Documentation et rapport
- Documentation de la configuration : Documenter toutes les configurations
effectuées, les modifications et les réglages spécifiques.
- Rapport de test : Rédiger un rapport détailler incluant les résultats de tests, les
vulnérabilités trouvées et la recommandation pour l’amélioration.
Le SSH (Secure Shell) est un protocole essentiel pour sécuriser les serveurs. Il permet des
communications sécurisées sur un réseau non sécurisé. Voici un aperçu détaillé de SSH et de
ses implications pour la sécurité des serveurs :
Qu'est-ce que le SSH ?
Le SSH est un protocole de réseau cryptographique utilisé pour opérer des services réseau de
manière sécurisée sur un réseau non sécurisé. Il est principalement utilisé pour les connexions
à distance à des serveurs, permettant une gestion sécurisée des systèmes et des applications.
Fonctionnalités Principales de SSH
Chiffrement : Toutes les données transmises entre le client et le serveur SSH sont
chiffrées, empêchant les attaquants de lire les informations en transit.
Authentification : SSH supporte plusieurs méthodes d'authentification, y compris les
mots de passe et les clés publiques. Les clés publiques sont plus sécurisées car elles
éliminent le besoin de transmettre un mot de passe.
Intégrité des Données : SSH garantit que les données transmises n'ont pas été altérées
en utilisant des mécanismes de vérification d'intégrité.
Exemples Concrets
a. Configuration d'un Serveur Web
o Installation : Installer Apache ou Nginx.
o Configuration de la Sécurité : Configurer HTTPS, définir les permissions, et
mettre en place des règles de pare-feu.
P a g e 9 | 20
TESTS DE PENETRATION
o Test de Performance : Utiliser JMeter pour simuler des centaines de requêtes
et observer les temps de réponse.
b. Configuration d'un Serveur de Base de Données
o Installation : Installer MySQL ou PostgreSQL.
o Sécurité : Configurer les accès utilisateurs, les permissions et les sauvegardes
automatiques.
o Test de Charge : Simuler des transactions massives pour tester la capacité de
traitement du serveur.
c. Mise en Place d'un Serveur de Messagerie
- Installation : Installer et configurer un serveur SMTP et un serveur IMAP/POP3.
- Sécurisation : Mettre en place des filtres anti-spam et configurer le chiffrement
TLS.
- Tests Fonctionnels : Envoyer et recevoir des courriels pour vérifier que le serveur
fonctionne correctement.
6. Test d’injection SQL
L’injection SQL est l’une des vulnérabilités de sécurité les plus courantes dans les
applications web. Elle se produit lorsque les requêtes SQL d’une application ne sont pas
correctement sécurisées, permettant à un attaquant d’insérer du code malveillant pour manipuler
une base de données. Ce type d’attaque peut entraîner :
- La divulgation de données sensibles.
- La corruption ou la suppression de données.
- L’accès non autorisé à des systèmes.
Objectifs :
- Vérifier si les entrées utilisateur sont correctement validées.
- Identifier les champs ou paramètres vulnérables.
- S’assurer que l’application empêche l’exécution de requêtes SQL malveillantes.
Etapes :
P a g e 10 | 20
TESTS DE PENETRATION
Comprendre l’application : Identifiez les champs ou paramètres où des données sont
envoyées à la base de données (formulaires, URL, cookies, etc.), Analysez les fonctionnalités
qui interagissent avec la base de données (connexion, recherche, etc.).
Préparer l’environnement de test : Travaillez sur un environnement de test pour éviter
d’affecter les données en production. Utilisez des outils comme SQLMap, Burp Suite, ou des
scripts personnalisés. Configurez les journaux pour surveiller les requêtes envoyées à la base
de données.
Effectuer des tests manuels :
• Insérer des caractères spéciaux :
- Essayez des caractères spéciaux dans les champs utilisateur : `’`, ` »`, `--`, ` ;`.
- Exemple : sur un champ de connexion, entrez `’ OR 1=1 --` comme mot de passe.
• Vérifier les réponses du serveur :
- Si des messages d’erreur SQL s’affichent, cela indique une potentielle vulnérabilité.
- Exemple d’erreur : “You have an error in your SQL syntax”.
• Modifier les requêtes SQL :
- Si possible, tentez de modifier les requêtes en injectant des commandes SQL.
- Exemple :
SELECT * FROM users WHERE username = ‘’ OR ‘1’=’1’ – AND password = ‘’ ;
Cela contourne souvent les mécanismes de connexion.
• Automatiser les tests : Pour tester de manière approfondie, utilisez des outils
spécialisés
Outils :
SQLMap : - Automatisation des injections SQL pour les tests de vulnérabilité.
- Commande simple :
bash
Sqlmap -u [Link] –dbs
P a g e 11 | 20
TESTS DE PENETRATION
Cela teste automatiquement si le paramètre `id` est vulnérable et liste les bases de données
accessibles.
• Burp Suite :
- Permet d’intercepter et de modifier des requêtes http pour injecter des charges malveillantes.
- Ajoutez des charges utiles comme :
- `’ UNION SELECT null, username, password FROM users --`.
Solutions:
• Validation des entrées utilisateur :
- Toujours valider et nettoyer les données utilisateur.
- Rejet des caractères dangereux.
• Paramétrer les requêtes:
- Utiliser des requêtes préparées (Prepared Statements)pour séparer le code SQL des
données utilisateur.
- Exemple en Python avec une base de données :
python
[Link](« SELECT * FROM users WHERE username = %s AND
password = %s », (username, password))
• Utiliser des ORM:
- Les outils comme SQLAlchemy ou Django ORM réduisent les risques d’injection SQL en
générant automatiquement les requêtes sécurisées.
• Configurer des pare-feux (WAF) :
- Utiliser des outils comme ModSecurity pour détecter et bloquer les charges malveillantes.
7. Test de configuration d’un SE
Etapes :
a. Mise à jour du système
P a g e 12 | 20
TESTS DE PENETRATION
• Installer les dernières mises à jour de sécurité et les correctifs disponibles.
• Vérifier régulièrement les mises à jour pour maintenir le système à jour.
b. Configuration des paramètres de sécurité
• Pare-feu : Activer et configurer le pare-feu pour contrôler le trafic entrant et
sortant.
• Antivirus : Installer un logiciel antivirus et le configurer pour des analyses
régulières.
• Gestion des utilisateurs : Créer des comptes utilisateurs avec des droits appropriés,
éviter l'utilisation de comptes administratifs pour les tâches quotidiennes.
c. Sécurisation des services réseau
• Désactiver les services non utilisés (ex. : FTP, Telnet) pour réduire les vecteurs
d’attaque.
• Configurer les services nécessaires avec des protocoles sécurisés (ex. : SSH au lieu
de Telnet).
d. Configuration des politiques de mot de passe
• Imposer des règles de complexité pour les mots de passe (longueur, caractères
spéciaux).
• Mettre en place une politique de changement régulier des mots de passe.
e. Sauvegarde et restauration
• Mettre en place un système de sauvegarde régulier des données critiques.
• Tester les procédures de restauration pour s'assurer qu'elles fonctionnent
correctement.
• Importance :
a. Performance optimisée
• Une bonne configuration permet d'utiliser efficacement les ressources matérielles
(CPU, mémoire, stockage).
• Ajustements spécifiques peuvent améliorer la vitesse et la réactivité du système.
b. Sécurité renforcée
• Une configuration sécurisée réduit les risques de vulnérabilités et d'attaques.
P a g e 13 | 20
TESTS DE PENETRATION
• Protéger les données sensibles et respecter les réglementations en matière de
protection des données.
c. Stabilité du système
• Une configuration adéquate minimise les conflits logiciels et matériels, réduisant
ainsi les pannes et les plantages.
• Assure une expérience utilisateur fluide et fiable.
d. Adaptabilité aux besoins
• La configuration permet d'adapter le système aux besoins spécifiques des
utilisateurs ou des applications (ex. : serveurs, postes de travail).
• Permet l'intégration avec d'autres systèmes et technologies.
8. Test droits d’accès
Sous Linux, chaque fichier et répertoire possède des permissions qui déterminent qui peut y
accéder et quelles actions peuvent être effectuées. Les trois types de permissions sont :
• Lecture (r) : Permet de lire le contenu d'un fichier ou d'une liste de fichiers dans un
répertoire.
• Écriture (w) : Permet de modifier le contenu d'un fichier ou d'ajouter/supprimer des
fichiers dans un répertoire.
• Exécution (x) : Permet d'exécuter un fichier (dans le cas d'un programme ou script) ou
d'accéder à un répertoire.
Les permissions sont attribuées à trois catégories d'utilisateurs :
• Propriétaire (user) : La personne qui possède le fichier ou répertoire.
• Groupe (group) : Un groupe d'utilisateurs ayant les mêmes permissions.
• Autres (others) : Tous les autres utilisateurs du système.
Commandes de Gestion des Permissions
a. Affichage des Permissions
P a g e 14 | 20
TESTS DE PENETRATION
Pour afficher les permissions d'un fichier ou répertoire, on utilise la commande ls -l :
bash
ls -l nom_du_fichier
Exemple de sortie :
csharp
-rwxr-xr-- 1 user group 1234 Nov 19 10:00 [Link]
Cela indique que :
• Le propriétaire (user) a des droits de lecture, écriture et exécution (rwx).
• Le groupe (group) a des droits de lecture et exécution (r-x).
• Les autres (others) n'ont que des droits de lecture (r--).
b. Modification des Permissions
• Pour modifier les permissions, la commande chmod est utilisée. Elle peut accepter des
notations symboliques ou octales.
Notation symbolique :
bash
chmod u+x [Link] # Ajoute le droit d'exécution pour le propriétaire
chmod g-w [Link] # Supprime le droit d'écriture pour le groupe
chmod o=r [Link] # Définit les droits à lecture seule pour les autres
Notation octale : Chaque type de permission correspond à une valeur numérique :
• Lecture = 4
• Écriture = 2
• Exécution = 1
Par exemple :
bash
Copier le code
P a g e 15 | 20
TESTS DE PENETRATION
chmod 755 [Link] # rwx (7) pour le propriétaire, rx (5) pour le groupe et
les autres
chmod 644 [Link] # rw (6) pour le propriétaire, r (4) pour le groupe et les
autres
c. Changer le Propriétaire ou le Groupe
La commande chown permet de changer le propriétaire et le groupe d'un fichier ou répertoire :
bash
Copier le code
chown user:group [Link] # Change le propriétaire et le groupe ;
Test des Droits d'Accès
a. Vérification Manuelle des Permissions
Une première étape consiste à vérifier les permissions des fichiers sensibles du système, tels
que :
• /etc/passwd (contient les informations des utilisateurs)
• /etc/shadow (contient les mots de passe cryptés)
• /etc/sudoers (définit les permissions sudo)
Les fichiers sensibles doivent être configurés avec des permissions restrictives. Par exemple :
• Le fichier /etc/shadow doit être lisible uniquement par l'utilisateur root.
b. Test d'Accès en Utilisant un Compte Utilisateur
Tester les droits d'accès avec un utilisateur non privilégié permet de simuler une tentative
d'escalade de privilèges. Vous pouvez utiliser des commandes comme su, sudo, ou id pour
simuler des tests avec différents niveaux d'accès :
bash
su - utilisateur # Se connecter avec un autre utilisateur
sudo -l # Voir les commandes sudo autorisées pour l'utilisateur courant
id # Afficher l'ID utilisateur et les groupes auxquels il appartient
P a g e 16 | 20
TESTS DE PENETRATION
c. Accès aux Répertoires Système
Vérifiez les permissions sur les répertoires systèmes importants :
bash
ls -ld /etc
ls -ld /home
Assurez-vous que les répertoires sont protégés contre l'accès non autorisé.
Outils de Test de Droit d'Accès sur Kali Linux
Kali Linux propose plusieurs outils pour tester et analyser les droits d'accès de manière
approfondie :
a. Lynis
Lynis est un outil d'audit de sécurité open-source qui permet d'analyser les configurations de
sécurité du système, y compris les permissions des fichiers.
bash
lynis audit system
Lynis vous fournira un rapport sur les permissions des fichiers et les failles de sécurité
éventuelles.
b. Nessus
Nessus est un scanner de vulnérabilités qui peut être utilisé pour détecter des permissions
incorrectes sur des fichiers et des répertoires.
• Scannez les systèmes pour identifier des failles liées aux permissions sur des fichiers
sensibles.
c. Metasploit
Metasploit permet d'effectuer des tests de pénétration et d'analyser les permissions de manière
plus offensive, en exploitant des vulnérabilités liées aux droits d'accès.
P a g e 17 | 20
TESTS DE PENETRATION
• Escalade de Privilèges
L'un des objectifs des tests de droit d'accès est de vérifier la possibilité d'escalader les
privilèges. Si un utilisateur a un accès trop large, il pourrait obtenir des droits root par
diverses méthodes :
• Exploitation de fichiers SUID et SGID : Des fichiers avec le bit SUID ou SGID
peuvent permettre à un utilisateur d'exécuter un fichier avec les droits d'un autre
utilisateur, souvent root.
bash
find / -type f -perm /4000 # Chercher les fichiers SUID
find / -type f -perm /2000 # Chercher les fichiers SGID
• Accès à des scripts de démarrage ou des fichiers sensibles : Si un fichier contenant
des informations sensibles est mal configuré, un attaquant pourrait y accéder et obtenir
des informations de connexion.
Le test des droits d'accès sur Kali Linux est essentiel pour vérifier la configuration des
permissions du système et éviter des accès non autorisés. Un mauvais paramétrage des
permissions peut conduire à des escalades de privilèges ou à l'exposition d'informations
sensibles. Il est important d'utiliser des outils comme chmod, chown, et des scanners comme
Lynis et Nessus pour s'assurer que les permissions sont correctement configurées et sécurisées.
Cela fait partie intégrante des audits de sécurité pour prévenir les attaques et assurer la
confidentialité, l'intégrité et la disponibilité des systèmes
9. Le social engineering
Le social engineering est une technique d'attaque qui consiste à manipuler les individus
pour obtenir des informations confidentielles ou accéder à des systèmes protégés.
Types :
• Phishing : envoyer des e-mails ou des messages qui semblent légitimes pour obtenir
des informations confidentielles.
P a g e 18 | 20
TESTS DE PENETRATION
• Spear phishing : cibler des individus spécifiques avec des e-mails ou des messages
personnalisés.
• Pretexting : créer une histoire fictive pour obtenir des informations confidentielles.
• Baiting : offrir quelque chose en échange d'informations confidentielles.
• Quid pro quo : offrir une contrepartie en échange d'informations confidentielles.
Méthodes :
- Téléphone : appeler les individus pour obtenir des informations confidentielles.
- E-mail : envoyer des e-mails pour obtenir des informations confidentielles.
- Réseaux sociaux : utiliser les réseaux sociaux pour obtenir des informations confidentielles.
- Visite sur site : se rendre sur le site d'une entreprise pour obtenir des informations
confidentielles.
Outils pour la prévention :
1. Logiciels de sécurité : utiliser des logiciels de sécurité pour bloquer les e-mails et les
appels suspects.
2. Filtres : utiliser des filtres pour bloquer les e-mails et les appels suspects.
3. Analyse de trafic : analyser le trafic réseau pour détecter les attaques de social
engineering.
P a g e 19 | 20
TESTS DE PENETRATION
P a g e 20 | 20