Les attaques côté client
Les attaques sur les mots de passe
1. Introduction
Le jeu du chat et de la souris entre attaquants et défenseurs ne s’arrêtera jamais, et malheureusement, les attaquants ont souvent le dernier mot. Mais pourquoi donc ? Les mots de passe sont une partie de la réponse. En effet, il se passe rarement plus d’une semaine sans que l’on entende qu’une base de données a été compromise ou que des mots de passe de tel ou tel site sont stockés en clair suite à « une erreur de configuration ».
Deux facteurs aggravants viennent s’ajouter à cela :
Le premier est l’utilisation de mots de passe faibles, ou pire, par défaut permettant à un attaquant d’accéder rapidement au précieux sésame.
L’image suivante issue du site https://haveibeenpwned.com permet de mettre en évidence l’utilisation du mot de passe 123456789 à presque 8 millions de reprises :
Il est fortement déconseillé d’inscrire vos mots de passe au sein du site Have I Been Pwned ou tout autre site vous proposant de calculer la complexité de votre mot de passe.
Le deuxième facteur, certainement le pire en termes de propagation, est la réutilisabilité des mots de passe permettant à un attaquant d’accéder à tous les sésames de sa victime...
Création de charges malveillantes
La grosse mise à jour du cœur du framework Metasploit effectuée en 2015 a également vu disparaître les utilitaires MSFpayload et MSFencode permettant respectivement de créer des payloads et d’encoder ces derniers pour éviter leur détection aux antivirus. Ces deux utilitaires ont en effet fusionné pour donner naissance à MSFvenom :
root@kali:~# msfvenom
Options:
-l, --list <type> List all modules for [type].
Types are: payloads, encoders, nops, platforms, archs, encrypt,
formats, all
-p, --payload <payload> Payload to use (--list payloads to
list, --list-options for arguments). Specify '-' or STDIN for custom
--list-options List --payload
<value>'s standard, advanced and evasion options
-f, --format <format> Output format (use --list
formats to list)
-e, --encoder <encoder> The encoder to use (use
--list encoders to list)
--sec-name <value> The new section name to use
when generating large Windows binaries. Default: random
4-character alpha string
--smallest Generate the smallest possible
payload using all available encoders
--encrypt <value> The type of encryption or
encoding to apply to the shellcode (use --list encrypt to list)
--encrypt-key <value> A key to be used for --encrypt
--encrypt-iv <value> An initialization vector for
--encrypt
-a, --arch <arch> The architecture to use
for --payload and --encoders (use --list archs to list)
--platform <platform>...