Les failles système
Généralités
Les systèmes d’exploitation sont de plus en plus sophistiqués et de plus en plus simples du point de vue utilisateur. Les mécanismes sous-jacents, parfois très compliqués, sont masqués afin de faciliter l’accès à l’outil informatique au plus grand nombre. Malheureusement, cette « simplification » est souvent réalisée au détriment de la sécurité et des performances.
Même si depuis quelques années les concepteurs, conscients des enjeux liés à la sécurité et à la protection des données, essaient d’améliorer leurs applications, les utilisateurs, quant à eux, restent généralement le maillon faible. Mal formés ou informés, peu habitués aux contraintes de sécurité, comme la confirmation ou la saisie de mot de passe, ils préfèrent souvent désactiver les protections mises en place ou ignorer les messages d’avertissement. C’est ainsi que, combinées avec un accès à Internet permanent, bon nombre de machines d’utilisateurs lambda sont transformées en machines zombies et utilisées pour réaliser des attaques dont l’ampleur et la dissimulation sont proportionnelles au nombre de machines utilisées.
Mais le constat...
Les failles physiques
1. Introduction
Souvent, la sécurisation des accès aux matériels informatiques n’est pas une priorité pour les entreprises ou les administrations. Pour s’en convaincre, il suffit de faire le test et de voir avec quelle facilité, sous un prétexte quelconque, une personne étrangère à un service peut souvent accéder aux ordinateurs ou aux autres ressources informatiques du personnel.
En effet, autant les accès aux serveurs, aux routeurs et aux autres matériels d’administration informatique sont, dans les moyennes ou grandes entreprises, sous clé dans une salle spécialisée, autant les ordinateurs d’exploitation ou administratifs sont relativement accessibles.
Quand la question sur l’accès au matériel est posée au personnel, celui-ci relativise généralement le problème et répond qu’il n’a, par exemple, pas accès à des informations confidentielles, que l’entreprise fonctionne comme cela depuis des années et qu’elle n’a jamais connu le moindre problème. Quelquefois même la question est éludée sous prétexte que jamais aucune information ou même formation n’a été dispensée.
Dans les petites sociétés, les ordinateurs sont souvent très accessibles et un même compte utilisateur est souvent utilisé par tous avec un seul mot de passe (quand il y en a un !).
Or, l’accès physique (même restreint) à un ordinateur peut avoir des conséquences désastreuses pour une entreprise.
2. Lockpicking
Il est impossible d’aborder la question de l’accès physique à un ordinateur sans évoquer le lockpicking (http://www.lockpickingfrance.org/), ou crochetage de serrure en français.
On trouvera de nombreux sites expliquant toutes les techniques utilisables ainsi que les outils nécessaires. Ceux-ci peuvent être fabriqués artisanalement ou achetés sur Internet.

3. Accès physique direct à l’ordinateur
Deux cas de figure sont possibles lors d’un accès physique à une machine :
-
L’ordinateur est éteint.
-
L’ordinateur est allumé.
a. Accès à...
Le démarrage
Le démarrage est une phase critique. Le système d’exploitation est vulnérable pour établir la sécurité. En effet, rien ne garantit que ses fichiers n’aient pas été altérés ou qu’un programme malveillant ne s’est pas exécuté avant que le contrôle ne lui ait été donné.
1. Faille des utilitaires d’accessibilité
Sous Windows 10, il existe une faille relativement simple à exploiter. Elle se base sur les utilitaires d’accessibilité, par exemple le clavier virtuel osk.exe.
Celui-ci est disponible au niveau de l’écran de connexion. Le but va être de remplacer celui-ci par le binaire cmd.exe, ce qui permettra l’ouverture d’une console d’administration.
Il faut démarrer avec un liveCD Linux, par exemple Kali Linux. La partition Windows sera directement montée et visible sur le bureau (xx GB volume). Si ce n’est pas le cas, utilisez l’utilitaire mount pour monter la partition (sda2 dans l’exemple).
Renommez le fichier osk.exe en osk.exe.bak :
cd /mnt/sda2/Windows/System32
mv osk.exe osk.exe.bak
Copiez le fichier cmd.exe sous le nom osk.exe :
cp cmd.exe osk.exe
Redémarrez l’ordinateur normalement en démarrant sur Windows 10.
Cliquez sur le bouton d’ergonomie et sélectionnez le clavier virtuel, celui-ci ouvre alors une console avec des droits système.
Dans cette console, créez un nouvel utilisateur (laurent) :
net user laurent P@ssword /add
net localgroup Administrators laurent /add
Fermez la fenêtre et attendez le rafraîchissement de la fenêtre d’accueil.
L’utilisateur nouvellement créé va apparaître. Il suffit de se connecter avec ce dernier pour être administrateur du poste.
L’une des parades est donc d’activer BitLocker pour empêcher la modification hors ligne des fichiers système. Toutefois, sous Windows 11, cet exploit est désormais détecté par Windows Defender, rendant cette méthode obsolète sur les systèmes mis à jour.
2. Abus des modes de démarrage dégradés
Un système d’exploitation doit être capable de démarrer pour...
Les mots de passe
1. Introduction
Les mots de passe restent actuellement le moyen le plus répandu pour contrôler les accès à des ressources restreintes. Ils sont utilisés depuis des siècles, notamment dans le domaine militaire. De plus, ils interviennent à de nombreux niveaux : au démarrage de l’ordinateur, lors de l’accès au courrier électronique...
En informatique, un mot de passe est une suite de caractères, pas forcément constituée uniquement de chiffres et de lettres, avec ou sans signification.
2. Complexité
La qualité d’un mot de passe se définit par sa complexité à être deviné, trouvé, et par sa longueur. Il faut bien comprendre qu’un mot de passe n’est pas une garantie de protection absolue. Il permet seulement de ralentir, plus ou moins efficacement, un attaquant. En effet, l’essai de toutes les combinaisons permettra finalement d’obtenir l’accès au système protégé.
Prenons un cas réel : la perte du code d’un antivol de vélo, constitué de trois rouleaux numérotés chacun de 0 à 9. Chaque rouleau a donc 10 valeurs. Les trois rouleaux permettent alors 10*10*10 possibilités, soit 1000. Les essais successifs de ces 1000 combinaisons pouvant être effectués en un temps raisonnable, la serrure peut être déverrouillée sans en connaître le code.
En informatique, le principe est similaire, mais avec une complexité plus élevée :
-
L’automatisation est possible.
-
Un ordinateur ira vraiment beaucoup plus vite et un réseau d’ordinateurs encore plus !
Cependant, le mot de passe peut être beaucoup plus long et les caractères possibles sont plus nombreux. La tâche n’est alors pas si facile car le nombre de possibilités devient rapidement gigantesque.
Mais, par facilité, la plupart des gens choisissent un mot de passe ayant un sens dans leur langue, une signification pour eux, comme le prénom du conjoint. Autrement dit, une suite de mots qui peuvent être extraits d’un dictionnaire. Les choix sont alors très restreints et l’utilisation du dictionnaire adéquat permet de retrouver rapidement le mot de passe.
À...
Windows
1. Gestion des utilisateurs
Un utilisateur correspond à la représentation virtuelle d’une personne physique, enregistrée sur l’ordinateur, avec des informations associées comme ses nom, prénom, adresse et mot de passe. Pour interagir avec le système, l’utilisateur doit s’authentifier avec son utilisateur virtuel : il saisit son identifiant et son mot de passe avant de pouvoir faire quoi que ce soit. Les actions sont alors effectuées sous cette identité, et sont limitées par les permissions qui lui ont été attribuées.
Des utilisateurs spéciaux existent sur les systèmes, sans lien avec une personne physique. Il s’agit d’utilisateurs uniquement virtuels permettant de cadrer le fonctionnement des programmes, afin d’en limiter les privilèges, par sécurité : par exemple, ne pas autoriser l’accès à une ligne de commandes, au réseau, à interagir avec l’interface graphique, etc.
Windows gère ses utilisateurs dans un fichier SAM (Security Account Manager). Traditionnellement, les utilisateurs se gèrent de façon graphique dans la console de gestion du système accessible via la commande compmgmt.msc.

Les utilisateurs sous Windows
Il est possible également de gérer les utilisateurs en ligne de commandes, via des commandes, des scripts VBS ou JScript et via PowerShell.
-
Création de l’utilisateur :
net user Laurent
-
Ajout de l’utilisateur « Laurent » au groupe « marketing » sans le retirer du groupe originel :
net localgroup marketing Laurent /add
-
Suppression de l’utilisateur « Laurent » ainsi que des fichiers contenus dans son répertoire personnel :
net user Laurent /delete
Reportez-vous à la documentation de Windows pour plus d’informations.
Au lieu d’utiliser des noms (qui ne sont pas uniques), le système d’exploitation Windows utilise des SID (Security Identifiers) pour identifier les entités effectuant des actions.
Les SID sont des identifiants uniques alphanumériques : SID = S1-N1-N2-N3-ID.
-
S1 : groupe auquel appartient l’objet.
-
N1-N2-N3 : identifiant du « domaine ».
-
ID : identifiant unique...
Linux
1. Gestion des utilisateurs
La gestion des utilisateurs sous Linux repose principalement sur un ensemble de fichiers et de commandes permettant de créer, modifier, et supprimer des comptes utilisateurs, ainsi que de gérer leurs permissions.
/etc/passwd : contient les informations de base sur les utilisateurs (nom d’utilisateur, UID, GID, répertoire personnel, shell, etc.).

Les utilisateurs sous Linux
-
utilisateur : nom d’utilisateur
-
x : mot de passe (stocké dans /etc/shadow)
-
1001 : UID (identifiant unique de l’utilisateur)
-
1001 : GID (identifiant du groupe principal)
-
/home/ utilisateur : répertoire personnel
-
/bin/sh : shell par défaut
Bien qu’il soit possible de modifier ce fichier avec un éditeur de texte, il est recommandé d’utiliser des outils dédiés pour simplifier la gestion des utilisateurs. Pour la syntaxe, se reporter au manuel des outils : man useradd, man usermod, man userdel depuis un terminal.
-
Création de l’utilisateur « Laurent », avec un répertoire personnel sous /home/Laurent et un shell par défaut /bin/bash :
useradd -m -s /bin/bash Laurent
-
Changement du shell de l’utilisateur « Laurent » pour /bin/zsh:
usermod -s /bin/zsh Laurent
-
Suppression de l’utilisateur « Laurent » ainsi que des fichiers contenus dans son répertoire personnel :
userdel -r Laurent
-
Affichage des informations d’identification de l’utilisateur « Laurent », telles que son UID, son GID et les groupes auxquels il appartient :
id Laurent
2. Gestion des groupes
Les groupes sont gérés dans le fichier texte /etc/group et là aussi des outils de gestion sont disponibles :
-
groupadd : ajout d’un groupe.
-
groupmod : modification d’un groupe.
-
groupdel : suppression d’un groupe.
-
gpasswd : gestion des utilisateurs d’un groupe.
3. Affectation des permissions
Sous GNU/Linux, tout est fichier. Un périphérique et un dossier se manipulent alors comme tels. Un fichier possède un propriétaire et un groupe d’appartenance. Le propriétaire est affecté par la commande chown (change owner), le groupe d’appartenance par chgrp (change group).
-
Pour changer le propriétaire :...
macOS
1. Gestion des utilisateurs
Rendez-vous dans le menu Pomme - Préférences système, puis Utilisateurs et groupes. Il peut être nécessaire de déverrouiller le panneau en cliquant sur le cadenas situé en bas à gauche, puis en saisissant le mot de passe administrateur.
L’ajout et la suppression d’un groupe ou d’un compte utilisateur se font respectivement avec les boutons + et -. Dans le cas d’un ajout, il suffit de sélectionner dans la liste déroulante Nouveau le type de compte : groupe, administrateur ou simple utilisateur. Notez qu’il est possible d’activer ici le chiffrement du répertoire personnel afin d’éviter la lecture de vos fichiers depuis un autre compte utilisateur ou un autre système d’exploitation.

Les utilisateurs sous macOS
Bien évidemment, vous pouvez effectuer toutes ces tâches en ligne de commande avec l’outil de gestion d’annuaire DSCL.
En tant que root :
Création d’une nouvelle entrée pour l’utilisateur « laurent » sous /Users :
dscl . create /Users/laurent
Définition de l’environnement utilisateur :
dscl . create /Users/laurent UserShell /bin/bash
Création et initialisation du nom complet de l’utilisateur :
dscl . create /Users/laurent RealName "Laurent"
Création et initialisation de l’identifiant unique de l’utilisateur :
dscl . create /Users/laurent UniqueID 505
Création et initialisation du groupe principal de l’utilisateur :
dscl . create /Users/laurent PrimaryGroupID 1000
Création et initialisation du répertoire personnel de l’utilisateur :
dscl . create /Users/laurent NFSHomeDirectory /Local/Users/laurent
Création du mot de passe de l’utilisateur :
dscl . passwd /Users/laurent PASSWORD
Ajout de l’utilisateur au groupe d’administration :
dscl . append /Groups/admin GroupMembership laurent
Pour plus d’informations, consultez la page man de DSCL....
Exploitation des vulnérabilités des systèmes d’exploitation
Une vulnérabilité est une faille dans un système informatique, une application ou un réseau, généralement due à une erreur de conception ou d’implémentation, qui peut exposer le système à des risques de sécurité. Lorsqu’une vulnérabilité est découverte, elle est identifiée, classée selon sa gravité et publiée sous forme de CVE (Common Vulnerabilities and Exposures). Ces failles peuvent être exploitées par des attaquants pour compromettre la sécurité, l’intégrité ou la confidentialité des données.
Le lien suivant permet de visualiser les dernières vulnérabilités concernant Windows 10 : https://www.cvedetails.com/vulnerability-list/vendor_id-26/product_id-32238/Microsoft-Windows-10.html
De nombreux outils permettent de tester et d’exploiter les vulnérabilités des différents systèmes d’exploitation et des plateformes. Parmi les plus connus, il y a le framework Metasploit (MSF).
Pour utiliser un outil comme MSF, il faut comprendre les notions suivantes :
-
Exploit : c’est un programme conçu pour exploiter une vulnérabilité.
-
Payload : c’est un programme permettant d’interagir sur le système cible afin d’en prendre le contrôle ou de le déstabiliser. Meterpreter est un des plus populaires, il permet entre autres de créer, de modifier, de supprimer, de télécharger des fichiers vers ou depuis la machine cible. Il permet de capturer les frappes-clavier, de figer le fond d’écran, et de supprimer ou créer des processus.
-
Post : c’est un module complémentaire utilisé après l’exploitation pour récupérer des preuves ou basculer vers d’autres machines du réseau (pivoting).
Metasploit est déjà installé sous Kali, mais voici comment installer Metasploit sous Debian :
# cd /opt
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/
master/config/templates/metasploit-
framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall ...Big Data et confidentialité
L’écosystème Windows, en particulier depuis la sortie de Windows 10, a suscité de nombreuses interrogations concernant la collecte de données et le respect de la vie privée des utilisateurs. L’Anssi dans son guide « Restreindre la collecte de données sous Windows 10 » publié en 2017, propose des recommandations pour configurer le système d’exploitation afin de limiter la collecte de données par l’éditeur. Microsoft affirme avoir conçu son système d’exploitation avec deux principes fondamentaux en matière de confidentialité : optimiser les performances pour l’utilisateur grâce à des données collectées et offrir une transparence ainsi qu’un contrôle aux utilisateurs sur les informations recueillies. Toutefois, la réalité est plus nuancée et soulève plusieurs enjeux pour les professionnels de la cybersécurité et les administrateurs système.
Une étude expérimentale a mis en évidence des différences significatives entre une installation d’un Windows 10/11 et une installation d’un Windows XP. Windows 10/11, par défaut, communique de manière extensive avec les serveurs de Microsoft ou autres domaines comme google api, akamai, trustedsource, scorecardresearch, onetrust....
Conclusion
Il pourrait être dangereux de laisser libre accès à son ordinateur. Que ce soit le vol de mots de passe ou l’injection de programmes malveillants, tout est possible dès lors que l’accès à la machine est autorisé. Il existe encore bien d’autres pratiques pour récupérer des données sur une machine accessible physiquement, mais ce chapitre donne un aperçu des méthodes les plus usitées.
L’important est d’être sensibilisés à ce problème et de respecter les règles de bon sens suivantes :
-
Restreindre autant que possible l’accès physique à notre machine.
-
Interdire le boot sur autre chose que le disque dur.
-
Protéger le BIOS de notre machine et mettre un mot de passe sur le boot.
-
Fermer la session de notre ordinateur en cas d’absence de courte durée ou l’arrêter pour les longues durées.
-
Avoir un mot de passe intégrant une notion de complexité (alphanumérique + caractères spéciaux) et une longueur minimale de 14 caractères.
-
Privilégier l’authentification multifacteur.
-
Utiliser un système de chiffrement des données confidentielles.
-
S’assurer de la mise à jour des systèmes, applications et protections (antivirus/edr).
-
Empêcher tous les mécanismes de montage automatique...