Connect the dots #9: « Pivoting »

Connect the dots #9: « Pivoting »

Il y a "pivotement" (pivoting) lorsqu'un attaquant s'appuie sur un ordinateur qu'il a déjà piraté pour attaquer un autre ordinateur de la même entité. Ceci est la conséquence directe des capacités de "mouvement latéral" de l'article précédent qui y était consacré. Nous allons maintenant voir comment les attaquants procèdent pour  naviguer d'ordinateur en ordinateur, à travers tout le système d'informations.

(c) PivotSecurity.com

La première activité nécessaire au pivoting est un balayage de tous les ports ouverts sur les ordinateurs actifs (ping et port scan). Il se trouve que ce type d'activité est aussi typique d'une équipe IT qui vérifie le bon fonctionnement et la disponibilité de ses ressources à travers des outils de supervision. Cette activité, bien que suspecte, sera alors "noyée" dans l'activité habituelle des personnels de supervision ou d'automates. Il faudra donc repérer toutes ces tentatives de scan et les attribuer de manière formelle à la maintenance ou bien à une activité anormale. N'oublions pas que les attaquants, grâce au système de beacons, sont déjà "à l'intérieur" et que donc l'adresse IP interne de la source ne veut rien dire de probant.

La première conséquence du scan est de trouver d'autres réseaux auxquels la machine déjà piratée est connectée. Par exemple un serveur compromis aura une adresse IP sur un réseau de type 10.x.x.x et une autre adresse sur un réseau 192.168.x.x, sur lequel, pour le moment l'attaquant n'a aucune machine piratée disponible. Le pivoting va consister à faire un scan du réseau 192.168.x.x à partir de cette machine (dans l'exemple ci-dessous POWERDC):

(c) Cobalt Strike

Le scan va également repérer les anciens systèmes Windows et ainsi permettra à l'attaquant de s'attaquer aux plus faibles… Pour les défenseurs c'est un cauchemar, parce qu'il suffit d'une machine faible et/ou obsolète dans le système pour qu'elle devienne la plateforme d'attaque vers toutes les autres. Cette machine alors va devenir une sorte de proxy pour toute l'activité de pivoting

Ensuite les attaquants vont passer toutes sortes de commandes d'exploitation des failles notamment avec le framework Metasploit. L'avantage de ce système pour les attaquants et de ne plus avoir besoin de communiquer avec toutes les machines cibles de l'attaque, mais avec juste une seule machine compromise. Dans l'exemple ci dessus, c'est la machine POWERDC qui va servir de proxy pivot pour attaquer la machine BILLING. Ce type d'attaque sera beaucoup plus difficile à repérer qu'un trafic directement "externe" vers le C2. Cela permet également d'avoir moins de connexions avec le C2 et donc de tenter de faire croire aux défenseurs que l'attaque est terminée ou en sommeil.

(c) Cobalt Strike

Les machines Linux sont aussi la cible du pivoting à travers des sessions SSH, présent très souvent pour leur administration à distance. Il est donc fondamental de maitriser les crédentités liées aux accès d'administration sur ces machines, en traquant les mots de passe laissés par défaut, les mots de passe faibles et les mêmes mots de passe utilisés sur plusieurs machines. Il faut aussi proscrire l'utilisation de comptes de type "root" pour leur préférer "sudo".

(c) Cobalt Strike

Comme pour l'administration des machines Windows Server, il est fondamental de passer par un "bastion d'administration" avec des comptes d'administrateur identifiables comme "supermi", par exemple si c'était mon compte ("super" comme superviseur, suivi de mes initiales "mi"). Cela aura plusieurs effets bénéfiques: Les personnels IT ne connaîtront pas les mots de passe admin des serveurs qu'ils administrent, puisqu'ils s'authentifieront uniquement à ce bastion d'administration. C'est cette machine proxy qui va créer une session avec le serveur et servira d'intermédiaire tout le long de la session. De plus, la session sera journalisée, voire enregistrée (écrans, clics de souris, commandes tapées au clavier) ce qui permettra de faire des recherches ultérieures, en cas de problème, sur ce qui a pu se passer (e-forensics).  

Un autre point à surveiller attentivement pour empêcher le pivoting est le navigateur web (en particulier Internet Explorer pour d'anciennes versions). Pourquoi ? Parce que le navigateur web bénéficie de privilèges "système" sur une machine Windows. Ainsi en utilisant le navigateur de la machine piratée d'un utilisateur, on fera croire aux systèmes défensifs et de journalisation que la requête est à l'initiative de cet utilisateur en local, alors qu'en réalité elle vient de l'attaquant à distance, depuis l'extérieur. Ce subterfuge trompe énormément de défenses qui sont tournées vers la protection du périmètre vis à vis d'une attaque externe et, pas du tout depuis une attaque ou une simple activité depuis l'intérieur. Autrement dit, la plupart des défenses périmétriques comme les firewalls ou les IPS/IDS, considèrent qu'une requête qui provient de "l'intérieur" est correcte par défaut, alors que si elle provient d'une adresse externe elle sera considérée souvent comme une agression et donc bloquée. Pour contrer ces attaques qui vont utiliser le navigateur web, il est fondamental d'utiliser un navigateur dans une version récente et à jour. Mais la véritable protection réside dans le filtrage des requêtes web au sein même de la machine par un "proxy web filtrant" qui va analyser le contenu des requêtes à la source. Un autre point fondamental est la qualité SSL des certificats utilisés: Il ne faut pas utiliser des certificats autosignés, obsolètes ou appartenant à un autre serveur, car l'utilisateur aura tendance à passer outre les avertissements du navigateur par… commodité. La tendance chez les éditeurs de navigateurs est clairement d'empêcher l'accès ou de restreindre l'accès à des sites avec un certificat erroné.

Ces dispositifs de proxy web et de restriction des accès aux sites avec un certificat erroné vont faire partie de la stratégie "zero trust" dont nous allons parler dans notre prochain et dernier article: la synthèse de "Connect the dots", où nous allons relier nos 9 points vus ,entre eux, pour avoir une vision globale de ces attaques et des défenses à mettre en place afin de bien y résister.