24
Jan
0

VPN ami ou ennemi ?

À l’occasion du FIC 2017 fleurissent tout un tas d’articles fabuleux mais celui ci m’a donné envie de réécrire ici.

Je ne trollerai pas sur son titre qui n’a aucun sens ni sur le fait que les RSSI se plaignent que les $VENDORS$ essayent de leur vendre des appliances avec licensing qui ne servent à rien, mais plutôt sur cette phrase.

Quand j’ai dit sur Twitter que pour moi un VPN (d’entreprise pas celui que vous utilisez pour chiffrer vos connexions quand vous êtes au MacDo) pouvait être une menace,et quand je parle de menace je ne parle pas d’attaquer la crypto, personne ne m’a trop compris. Je vais donc expliquer le fond de ma pensée ici.

Commençons par raconter une petite histoire. Il y a quelques années alors que j’étais encore pentester j’ai eu l’occasion de simuler un vol de portable pour une entreprise. Principe: récupérer un ordinateur portable (sans péter les rotules de l’utilisateur évidemment) et tenter d’en faire quelque chose de malveillant.

Disque dur non chiffré (à l’époque Bitlocker n’était pas encore trop démocratisé), boot sur un Linux, remplacement de sethc.exe par une invite de commande, reboot, *shift shift shift shift shift* et me voilà système sur la machine. Je récupère l’admin local dans la base SAM (j’aurais pu en créer un) dont le hash est stocké en LM et je m’authentifie ce compte (local) sur la machine.

Bon, je n’ai pas été surpris de ne rien trouver d’intéressant sur la machine, l’utilisateur travaillant principalement dans un répertoire réseau. Mais en revanche, un dump du MSCache s’est avéré fructueux.

Pour rappel la base MSCache contient les comptes de domaine dans un format spécial (pas LM ou NTLM) des derniers utilisateurs (de domaine donc) ayant utilisé la machine pour pouvoir s’authentifier même quand le portable n’est pas connecté au SI. Par défaut ce cache contient 10 entrées sur un domaine windows.

Ici donc sortent 5 ou 6 entrées donc ce qui s’avérera être plus tard un admin de domaine… Mais bon les pass sont hashés et les MSCache sont tout sauf évident à péter rapidement (à l’époque en tout cas) si le mot de passe est un peu robuste.

Je tente quand même le coup avec un dico, et là un mot de passe sort quasi instantanément : Simon16.

Je note le login et le mot de passe et je l’authentifie sur la session de l’utilisateur (compte de domaine en cache local donc). Me voilà sur son bureau sur lequel trône en plein milieu un raccourci “CONNEXION VPN”. Je clique immédiatement, la connexion s’initie et un prompt me demande un mot de passe, j’entre Simon16, mais il est refusé, l’utilisateur ayant entre temps changé son mot de passe (la machine n’était plus la sienne depuis quelques semaines).

Mais ce nombre 16 m’intrigue, et s’il était simplement incrémenté à chaque changement ? Ni une ni deux je tape Simon17 et me voilà connecté sur le réseau de l’entreprise…

Temps nécessaire : 1h en trainant les pieds.

Pour finir, le compte admin local récupéré sur le poste était également utilisé sur les autres postes de travail. Il a donc servi à se connecter sur une machine utilisée par un administrateur de domaine (à l’époque un outil comme Netscan permettait d’identifier les utilisateurs authentifiés sur une machine facilement), de lui voler ses hashs (à l’époque Mimikatz n’existait pas encore) et de se connecter sur le contrôleur via un pass-the-hash pour nous permettre de créer un compte administrateur de domaine.

Si je raconte ça c’est surtout pour illustrer mon propos. Un accès VPN est très utile (pour les astreintes, le télétravail, ou autre) mais peut aussi être très dangereux s’il est mal géré. Dans ce cas une authentification à deux facteurs aurait limité la casse.

Du coup, votre entreprise est dotée d’un VPN, pour les admins uniquement ou pour tout le monde ? Posez vous ces questions :

  • Qui accède en VPN ?
  • Qui surveille les accès ? Avez vous seulement des logs ?
  • Quelle est la méthode d’authentification ?
  • Les comptes sont de domaine ou sur le concentrateur VPN ?
  • Est ce que tout est révoqué quand un utilisateur quitte l’entreprise ?
  • Un admin connait il les mots de passe de vos utilisateurs (quel est le processus de création des comptes) ?
  • En combien de temps un utilisateur vous signale-t-il un vol de matériel ?
  • Est ce que le concentrateur est à jour ?
  • Est-ce que le concentrateur est vulnérable à un exploit utilisé dans la nature et dont le correctif n’existe pas ? 😠

Après tout ça on pourra éventuellement parler de configuration cryptographique…

Commenter




Celadon theme by the Themes Boutique