Attaques/Applications-et-Systeme-Exploitation/Attaques-mots-de-passe

From aldeid
Jump to navigation Jump to search

Attaques des mots de passe

Définition

Les attaques sur les mots de passe constituent une menace permanente pour les administrateurs systèmes. A cette phase, un attaquant va tenter de récupérer un fichier de mots de passe dans le but d'en cracker le contenu (password cracking) ou bruteforcer l'authentification (password guessing) directement. Il est à noter que cette dernière méthode est facilement détectable par un IDS.

Les attaques sur les mots de passe reposent sur l'une des méthodes suivantes :

  • Attaque par dictionnaire : Attaque basée sur un dictionnaire de mots de passe. Tous les mots du dictionnaire son testés séquentiellement. Il existe des dictionnaires par langues et thématiques.
  • Bruteforce (toutes les combinaisons de caractères possibles son testées, en augmentant progressivement la taille de la chaîne obtenue)
  • Méthodes hybrides : consiste à exploiter les mots d'un dictionnaire de mots de passe (bruteforce), mais en fabriquant d'autres mots, basés sur celui du dictionnaire (suppression de caractères, ajout de caractères, substitutions de caractères, etc.)

Les mots de passe peuvent être stockés :

  • Code source d'une page Web (le mot de passe est stocké dans une fonction JavaScript)
  • Base de données : les mots de passe peuvent être stockés en clair ou sous la forme de hash
  • Serveur d'authentification (Radius, LDAP, etc.)
  • Fichiers: .htaccess, /etc/passwd, /etc/shadow
INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.

Bases de connaissance et outils

INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.

Exemple

INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.

Protections contre les attaques de mots de passe

  • Infrastructure:
    • Changer les mots de passe des matériels (routeur, switch administrable, etc.) par défaut
  • Mise en place et application d'une politique de sécurité :
    • Forcer l'utilisation de mots de passe forts (nombre de caractères, obligation d'inclusion de certains caractères)
    • Forcer le changement régulier des mots de passe et contrôler que le nouveau mot de passe est différent de tous les précédents
    • Blacklister les adresses à l'issue d'un nombre de tentatives d'authentification infructueuse : fail2ban
    • Utilisation d'un mot de passe différent pour chaque application
    • Dans une entreprise, le mot de passe administrateur est bien souvent le même : si ce mot de passe venait à être découvert sur une machine, il permettrait d'accéder à toutes les autres machines, avec les droits d'administrateur. Contrôler que ce mot de passe est fort.
    • Gestion d'identités (IAM) : SSO (Single Sign On), OTP (One Time Password), ...
  • Pour les développeurs :
    • Ne pas stocker les mots de passe en clair dans la base de données. Crypter les mots de passe
    • Forcer l'utilisation d'un protocole crypté (https) pour les pages d'authentification
    • Eviter les mécanismes d'authentification en clair (.htaccess) faciles à intercepter sur un réseau
    • Confier l'authentification à des serveurs d'authentification dédiés (par exemple serveur Radius, LDAPs, etc.)
    • Afficher dans l'application les date et heure de la dernière connexion réussie de l'utilisateur. Ainsi, chaque utilisateur pourra vérifier que son compte n'a pas été utilisé par d'autres personnes.
INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.