4 votes

Vulnérabilité de la racine de High Sierra : comment vérifier si quelqu'un s'est connecté à distance ?

Dans macOS High Sierra, où puis-je trouver les adresses IP qui se sont connectées à mon Mac via Partage d'écran ou ssh?

Cela serait utile à la lumière de la vulnérabilité récemment découverte pour la connexion root.

4voto

flindeberg Points 569

Comme le souligne @Melvin, un correctif vient d'être publié. Mais pour répondre à la question posée, la réponse est non, ils ont acquis les droits root sur votre machine. Elle est compromise, point final, par définition, vous ne pouvez pas faire confiance à quoi que ce soit dessus si vous soupçonnez une compromission.

Pour approfondir, si quelqu'un a obtenu l'accès root à distance à votre machine, vous ne pourrez jamais voir les traces de cela s'ils savent ce qu'ils font et effacent leurs traces.

Il ne s'agit pas juste de "quelqu'un a obtenu la clé du bureau du patron et a fait quelques bêtises là-dedans", il s'agit de "quelqu'un a obtenu la clé maître, des fonds illimités et une équipe de construction illimitée avec un temps illimité entre les mains". Si vous soupçonnez que vous avez été compromis, formatez et réinstallez.

Pour répondre à la question en termes simples (c'est-à-dire comment quelqu'un sans les compétences prérequises pour effacer les traces laisserait probablement des traces).

Commençons par ssh, pour une discussion complète, consultez cette question. En bref, recherchez ssh ou sshd (la partie "serveur" d'ssh) dans "Console.app" ou par le terminal:

cat /var/log/system.log | grep sshd

Le problème avec sshd est que normalement rien n'est vraiment enregistré (préoccupations de sécurité à ma connaissance).

Le même problème existe avec VNC / Partage d'écran et Apple Remote Desktop / Gestion à distance, voir par exemple cela, cela et cela, les connexions normalement acceptées ne sont pas enregistrées. Seules celles refusées. Les refusées viendraient probablement de "screensharingd", donc recherchez cela dans "Console.app" ou le terminal

cat /var/log/system.log | grep screensharingd

Apart cela, quels autres traces pourraient facilement être trouvés? Je regarderais à travers les utilisateurs et m'assurerais qu'ils sont tous des utilisateurs valides et que aucun niveau de permission n'a été modifié, etc.

panneau de partage osx

Je vérifierais également si des services à distance sont activés. Voir l'image ci-dessous. Les éléments d'intérêt sont "Partage d'écran", "Connexion à distance" et "Gestion à distance". cmd + espace -> "partage" est le moyen le plus simple d'y accéder.

0 votes

Super! Très utile!! J'ai retiré mes commentaires précédents maintenant que vous avez réellement répondu à la question sur la façon de vérifier les journaux. +1

3voto

Brian Mc Points 99

Je n'ai pas pu exploiter cette vulnérabilité à distance, cependant j'ai réussi à le faire en étant connecté et en essayant d'escalader mes privilèges dans les Préférences Système en utilisant "root" sans mot de passe.

Pour détecter ceci, balayez les journaux de la machine désirée avec la commande suivante dans le Terminal.

sudo log show --style syslog | fgrep "authenticated as user root (UID 0) for right"

La sortie de cette commande vous montrera l'UID de l'utilisateur qui était connecté lorsque cette vulnérabilité a été exploitée, ainsi que l'heure. Prenez l'heure et cherchez des connexions ssh ou à distance autour de cette période.

Pour rechercher les connexions via le compte root, utilisez la commande suivante dans le Terminal.

sudo log show --style syslog | fgrep 'loginwindow' | fgrep 'root'

0 votes

Cela ne capture pas le cas de "remote in as root", qui se produit si vous avez activé le partage d'écran, mais le cas de "escalade vers root" local. Je ne dis pas que vous n'avez pas dit cela, mais je clarifie pour les lecteurs.

0 votes

Oui, merci pour la clarification. Ma mise à jour permet de détecter si quelqu'un a exécuté l'exploit pour se connecter localement. Comme je n'ai pas pu exécuter l'exploit à distance, je ne sais pas à quoi ressemblerait l'entrée de journal. Merci.

0voto

Rich Points 2429

Il n'y a pas de moyen facile et fiable d'obtenir l'adresse IP de votre attaquant à moins qu'il ait commis des opérations très stupides (comme ftper depuis son véritable ordinateur d'attaque un autre outil).

Tripwire

Le seul moyen sérieux de détecter une telle attaque ou toute attaque future à travers une autre vulnérabilité de MacOS X est d'installer et d'utiliser tripwire. tripwire est un logiciel de journalisation des modifications issu du domaine Unix et de la sécurité. (Vous pouvez l'installer avec Macports).

Si vous avez précédemment installé tripwire, vous seriez en mesure de détecter une telle attaque réussie de l'une des 3 manières en fonction du niveau de compétence de l'attaquant.

Attaque de haut niveau

Votre attaquant connaît tripwire et sait qu'il ne peut pas altérer sa base de données. Il supprime tous vos accès ou efface entièrement votre système de fichiers pour éviter d'être retracé.

Attaque de niveau intermédiaire

Votre installation de tripwire a été supprimée et vos accès maintenus. Vous détecterez cette attaque par la suppression de tripwire.

Attaque de faible niveau

Votre attaquant ne connaît pas tripwire et toutes ses modifications, même les pistes de journalisation supprimées, seront enregistrées.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X