Ce dont vous avez besoin
Un accès en lecture aux journaux, une copie que vous pouvez sortir de la machine et la mention du fuseau horaire du système. L'analyse forensique des journaux lit les fichiers Windows .evtx, syslog, auth.log et secure, les journaux d'accès et d'erreur Apache et nginx, ainsi que les journaux IIS W3C, entièrement dans votre navigateur.
Lire le résultat
Voici un extrait d'un auth.log Ubuntu (abrégé ; le fichier compte 17 lignes) :
Oct 8 02:14:03 web01 sshd[4101]: Accepted publickey for alice from 192.0.2.10 port 50122 ssh2: ED25519 SHA256:k3Yp0wq9
Oct 8 03:12:00 web01 sshd[4200]: Failed password for root from 203.0.113.45 port 40000 ssh2
Oct 8 03:12:07 web01 sshd[4201]: Failed password for root from 203.0.113.45 port 40001 ssh2
... (8 failures for root, 7 seconds apart)
Oct 8 03:40:00 web01 sshd[4300]: Failed password for invalid user admin from 198.51.100.23 port 51000 ssh2
Oct 8 03:40:09 web01 sshd[4301]: Failed password for invalid user test from 198.51.100.23 port 51001 ssh2
... (6 different user names, one attempt each)
Une fois chargé dans l'outil, il produit ces constats :
- Élevée : « 5 tentatives d'authentification échouées contre un même compte/une même source ont été observées dans une courte fenêtre - la signature d'une attaque par force brute. » Source : 203.0.113.45.
- Élevée : « 5 connexions échouées sur 5 comptes distincts provenaient d'une seule source dans une courte fenêtre - un schéma de password spraying, et non une force brute ciblée. » Source : 198.51.100.23.
- Info : les 17 lignes syslog ne portent aucune année ; l'année a donc été déduite.
Les nombres correspondent au moment où chaque détecteur s'est déclenché, et non aux totaux : filtrer sur 203.0.113.45 montre les 8 tentatives, et sur 198.51.100.23 les 6 noms d'utilisateur. La force brute est signalée à partir de 5 échecs depuis une même source en 5 minutes contre moins de 5 comptes ; le spraying à partir de 5 comptes avec au plus 2 tentatives chacun en 10 minutes. Une réussite depuis la même source dans les 2 minutes suivant une rafale de force brute produit un troisième constat, celui sur lequel agir en premier.
La connexion par clé d'alice depuis 192.0.2.10 ne déclenche rien, comme il se doit.
Sous Windows, la raison d'un échec d'ouverture de session (événement 4625) se trouve dans son code d'état :
| Statut | Affiché comme | Suggère |
|---|---|---|
0xC000006A |
Mot de passe incorrect | Le compte existe ; quelqu'un devine son mot de passe |
0xC0000064 |
Ce compte utilisateur n'existe pas | Des noms d'utilisateur sont devinés |
0xC0000234 |
Compte verrouillé | Le verrouillage s'est déclenché |
0xC0000072 |
Compte désactivé | Tentatives sur un compte désactivé |
Pièges courants
- Coller quelques lignes au lieu du fichier. La détection du format échantillonne le fichier ; un court extrait de lignes sshd seules peut être lu comme du simple syslog, sans analyse des connexions. Chargez le journal complet.
- Incriminer le propriétaire de l'IP. Le trafic d'attaque vient généralement de machines détournées, de serveurs cloud ou de VPN. La recherche vous indique le réseau, pas la personne.
- Ignorer les adresses partagées. De nombreux utilisateurs derrière l'adresse d'un bureau ou d'un opérateur mobile peuvent ressembler à une source unique.
- Mélanger les fuseaux horaires. Syslog enregistre l'heure locale sans fuseau, alors que
.evtxenregistre l'UTC. Connaissez le fuseau de chaque système avant de lire une chronologie fusionnée. - Manquer les signaux discrets. Un journal Sécurité effacé (événement 1102) ou un trou dans un journal par ailleurs très actif peut compter davantage que mille échecs.
Pour aller plus loin
Des échecs répétés depuis de nombreuses adresses contre un seul compte indiquent qu'il est visé : protégez-le avec l'authentification multifacteur même si aucune tentative n'a réussi. Les connexions réussies inhabituelles, les nouveaux comptes (événement 4720) et les nouveaux services (événement 7045) méritent chacun un coup d'œil dans la même chronologie.