MacBook Pro Virus ? Mdp session non reconnu + nouvel utilisateur "autre" est apparu, que faire?

Kodeisko

Membre confirmé
20 Décembre 2019
74
2
29
Bonjour,

J'imagine que mon cas est loin d'être des plus original, du moins je l'espère, ayant ouvert mon mac à je ne sais quels processus apocalyptiques et étant au niveau zéro informatique théorique et pratique : je suis un utilisateur seulement.

Mon problème : j'ai téléchargé un fichier qui a accédé au terminal, j'ai redémarré mon ordinateur, mon mot de passe n'est plus reconnu et un nouvel utilisateur "autre" est apparu.

J'imagine que c'est un virus qui a permis à cet autre de devenir l'ultra administrateur de mon mac, malheur...!

Que dois je faire ? Laisser l'ordinateur éteint en attendant ? Procéder à une récupération de mes données (elles sont toujours sur le disque principal, d'après ce que jai pu voir en allumant en mode Cmd+R) puis reboot l'ordinateur ?
Je vais tenter de ne pas m'affoler et éviter d'incrémenter des problèmes en faisant n'importe quelles manipulations...

Merci beaucoup, je l'espère, de votre temps, expertise et sympathie :')

PS : c'est un MacBook Pro 13" mi-2012.
 
Bonjour Kodeisko

L'affichage d'une option : "Autre" à l'écran d'ouverture de session -->

- permet en principe d'ouvrir une session graphique du Super-Administrateur = root. Pour cela > il suffit de cliquer "Autre" => ce qui fait s'afficher 2 rectangles de saisie d'un nom d'utilisateur et d'un mot-de-passe. Saisir root dans la case du nom et le mot-de-passe affecté à root dans celle du mot-de-passe => permet donc d'ouvrir une session graphique root.​

Je présume que tu ne connais pas de mot-de-passe correspondant à root ?

----------

En supposant que la réponse soit : "non" à la question concernant le mot-de-passe de root => voici comment tu vas pouvoir fournir ici les informations de base (tuto) -->

- démarre les 2 touches ⌘R (cmd R) tenues pressées jusqu'à l'affichage d'une  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS. Va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal.​

Dans la fenêtre ouverte > saisis la commande informative (ce qui est inscrit sous Bloc de code) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs configurations
  • une série de micro-disques correspond à des images-disques créées en RAM à l'occasion du démarrage en mode Recovery > dont les volumes sont montés en lecture & écriture à l'espace de dossiers de l'OS de secours qui leur servent de points de montage. Ce qui permet pendant le fonctionnement de cet OS monté en lecture seule > à des écritures de s'effectuer à l'espace des dossiers où se trouvent montés les volumes des images-disques de la RAM. Ces images-disques s'effacent à l'extinction ou au re-démarrage.

Voici comment tu vas pouvoir poster ici ce tableau sans avoir besoin de prendre de photo -->

  • tu sélectionnes le tableau > ⌘C pour le copier dans le presse-papier > ⌘Q pour quitter le «Terminal» > option  : "Obtenir de l'aide en ligne" (dans la fenêtre des 4 Utilitaires) > ce qui lance un navigateur «Safari»
  • page Apple par défaut > un clic sur l'adresse de haut de page pour l'éditer > saisis  : macgénération (tout court  : c'est une barre de recherche Google) et valide > tu atteins le site MacGé > Forums > te connectes > ce fil
  • utilise le menu ...▾ (à droite de la bobine souriante) dans la barre de menus au-dessus du champ de saisie d'un message > sous-menu : </> Bloc de code => tu fais ton coller dans la fenêtre de code et Continuer.

=> ces informations montreront la configuration logique de ton disque.

Note 1 : si tu ne peux pas poster via le Safari de la session de secours (ça arrive) --> poste une photo du tableau (à partir du commencement = le disque /dev/disk0 ou disque physique interne) - tu as un bouton : "Joindre un fichier" en bas de cette page.

Note 2 : dans la session de secours > les applications se lancent en mode "alternatif" et pas parallèle. Il faut quitter le Terminal pour lancer Safari. Vice-versa > quitter Safari pour récupérer l'écran général de la session de secours et pouvoir relancer le Terminal. Aucun redémarrage n'est requis.

----------

Question marginale : l'OS actuellement installé est-il High Sierra (10.13) ?
 
et étant au niveau zéro informatique théorique et pratique : je suis un utilisateur seulement.

Mon problème : j'ai téléchargé un fichier qui a accédé au terminal,
C'est pour ça que travailler dans une session NON admin est une bonne chose, ça limite le pouvoir des malwares / keyloggers / autres…

J'imagine que c'est un virus qui a permis à cet autre de devenir l'ultra administrateur de mon mac, malheur...!
Un virus, c'est peu probable; un malware, c'est possible…

Maintenant je laisse macomaniac travailler :up:
 
  • J’aime
Réactions: pouppinou
Bloc de code:
-bash-3.2# diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +2.1 GB     disk1
   1:                  Apple_HFS OS X Base System        2.0 GB     disk1s1

/dev/disk2 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Macintosh HD           +498.9 GB   disk2
                                 Logical Volume on disk0s2
                                 D66A03E5-DBA7-4096-88F6-7F5460C5B869
                                 Unencrypted

/dev/disk3 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +5.2 MB     disk3

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk4

/dev/disk5 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk5

/dev/disk6 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk6

/dev/disk7 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk7

/dev/disk8 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk8

/dev/disk9 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk9

/dev/disk10 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk10

/dev/disk11 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk11

/dev/disk12 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk12

/dev/disk13 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk13

/dev/disk14 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk14

/dev/disk15 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk15

/dev/disk16 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk16

/dev/disk17 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk17


Pour la question marginale non, c'est en version Sierra simple
 
Je vois que le volume de démarrage s'appelle Macintosh HD. Hôte d'un système de stockage CoreStorage non chiffré.

- passe la commande exacte :​
Bloc de code:
rm /Volumes/"Macintosh HD"/var/db/.AppleSetupDone
(un espace entre rm et /Volumes--- ; mets "Macintosh HD" avec les "" ; pas d'espace entre HD" et la / qui suit ; pas d'espace entre db/ et .AppleSetupDone)
  • cette commande supprime un fichier de finalisation vide dans le volume Macintosh HD --> ce qui va te permettre de ré-obtenir les panneaux de paramétrage du Mac / création d'un compte admin comme à la fin d'une 1ère installation
  • re-démarre normalement (Menu  > Disque de démarrage > choisis Macintosh HD > redémarre dessus) --> à la fin du chargement de l'OS > au lieu d'avoir l'écran d'ouverture de session > tu vas toucher une série d'écrans de paramétrage du Mac. Renseigne tout avec exactitude.
  • le dernier écran te propose de récupérer des données. Coche l'option : "Ne pas récupérer de données maitnenant" => ce qui te permet de créer un compte admin. Ne reprends surtout pas les identifiants de ton compte > choisis : Nom complet = toto > nom de compte = toto > mot-de-passe = toto.

Tu ouvres une session toto --> préviens si cela a bien été le cas.

[Si c'est le cas => on va pouvoir utiliser la session admin toto comme point d'appui dans le volume Macintosh HD démarré => pour restaurer le fonctionnement de ton compte principal.]
 
D'accord : tu as déjà repris pied dans l'OS démarré.

- dans la session toto > va à : Menu  > Préférences Système > Utilisateurs et groupes. Déverrouille le cadenas d'administration avec le mot-de-passe toto.​

- sélectionne ton Nom complet d'utilisateur affiché dans la colonne de gauche > puis presse le bouton : "Réinitialiser le mot de passe..." affiché dans le champ de droite. Remets exactement le même mot-de-passe qu'antérieurement.​

Cela fait > quitte les Préférences Système : Menu  > Fermer la session toto => qui te redonne l'écran de choix du volume de démarrage. Essaie de te loger dans ta session habituelle et dis ce qui se passe.

Note : en cas d'insuccès > tu peux toujours réouvrir la session toto => et on effectuera alors une enquête via le terminal.
 
D'accord -->

- reviens dans la session toto. Va à la barre de menus supérieure du Finder : Finder > Préférences > Général. Coche les cases d'affichage de : "Disque durs" & "Disques externes" => le volume Macintosh HD est affiché sur le Bureau.​

- entres-y. Tu trouves le Terminal de macOS at: Applications > Utilitaires > Terminal.​

Lance-le et passe les commandes (copier-coller - séparément) :
Bloc de code:
sudo ls /private/var/db/dslocal/nodes/Default/users | sed '/^_/ d'
diskutil listUsers / | grep -v '.*[\^\_\].*'
dscl . -list /Users home | grep -v '.*[\^\_\].*'
sudo du -sh /Users/*

  • tu t'authentifies en aveugle avec le mot-de-passe toto après exécution de la 1ère et tu revalides (commande sudo). Pas besoin pour le 2è sudo.
  • la 1ère liste les fichiers identitaires d'utilisateurs à noms pleins
  • la 2è affiche en correspondance nomcourt / nom complet pour les mêmes
  • la 3è affiche en correspondance nomcourt / adresse au dossier d'ouverture de session pour les mêmes
  • la 4è liste & mesure (en Gi = gibibytes : base 2) les dossiers domiciles du répertoire des Utilisateurs

=> poste tous les affichages retournés dans une fenêtre de code.

Note : comme tu peux le voir > on sort l'artillerie de campagne... :hilarious:
 
Bloc de code:
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-C num] [-g group] [-h host] [-p prompt] [-u user]
            [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C num] [-g group] [-h host] [-p prompt] [-u user] file

Bloc de code:
USERS
-----

Disk: disk1
Volume: Macintosh HD
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
1         daemon                          System Services
502       Huc                             Huc
401       impartation                     impartation
-2        nobody                          Unprivileged User
0         root                            System Administrator
501       toto                            toto
MBPdeX2:~ toto$ dscl . -list /Users home | grep -v '.*[\^\_\].*'
daemon                  /var/root
Huc                     /Users/Huc
impartation             /var/impartation
nobody                  /var/empty
root                    /var/root /private/var/root
toto                    /Users/toto

Bloc de code:
4,0K    /Users/Guest
122G    /Users/Huc
12K    /Users/Shared
80M    /Users/toto

Est-ce la bonne artillerie ?
 
Dernière édition:
L'utilisateur qui t'importe (je présume) est -->

- Huc (nomcourt = Nom complet) > fichier identitaire Huc.plist bien présent dans la base de données du Service d'Annuaire > ouvrant sa session sur le dossier Huc (120 Gi = 129 Go) des Utilisateurs

- mais je note la création d'un utilisateur impartation (nom court = nom long) > fichier identitaire impartation.plist dans la base de données du Service d'Annunaire > dossier d'ouverture de session déporté at : /var/impartation. Est-ce que cet intitulé te dit quelque chose ?​

Note 1 : les autres utilisateurs = root (le System Administrator) > daemon (le Service Système) > nobody (l'utilisateur sans privilèges) => sont absolument réguliers et relèvent du fonctionnement d'arrière-boutique de l'OS.

Note 2 : je présume que la création de l'utilisateur impartation > avec un dossier d'ouverture de session déporté dans le dossier invisible /var => a déterminé l'affichage de l'option "Autre" à l'écran d'ouverture de session > lui permettant d'ouvrir une session graphique éventuelle. Et pas la définition d'un mot-de-passe pour l'utilisateur root -->

- afin de décider de ce cas de figure > passe la commande (copier-coller) :​
Bloc de code:
sudo defaults read /private/var/db/dslocal/nodes/Default/users/root.plist passwd

  • qui lit dans le fichier identitaire root.plist (du System Administrator) --> l'« état » de son mot-de-passe (et pas son mot-de-passe en clair bien entendu) : défini "pour le Système" (= humainement inconnu) ou défini "graphiquement" (= humainement connu)

Poste le retour.
 
J'ai du entrer le mot de passe toto et voici ce qu'il nous est dit

Bloc de code:
~ toto$ sudo defaults read /private/var/db/dslocal/nodes/Default/users/root.plist passwd
Password:
(
    "*"
)
 
Cet affichage : "*" (avec un astérisque unique *) => signifie que le mot-de-passe de l'utilisateur root est dans l'« état » : "Défini pour le Système mais humainement inconnu" -->

- or c'est uniquement lorsque l'affichage est : "*****" => qu'il signifie un mot-de-passe de root dans l'« état » : "Défini d'une manière humainement connue". Ce qui permet à un utilisateur humain d'ouvrir une session graphique root. Afin de ménager cette possibilité > une icône "Autre" se trouve alors affichée à l'écran d'ouverture de session.​

L'« état » du mot-de-passe de root : "Défini pour le Système mais humainement inconnu" (tel quel actuellement) => n'induisant aucun affichage d'une icône "Autre" pour permettre l'ouverture d'une session graphique root -->

- j'en déduis (nécessairement) => que l'apparition de l'icône "Autre" découle de la création de l'utilisateur impartation => utilisateur masqué (dans la mesure où son dossier d'ouverture de session impartation ne réside pas dans le répertoire des Utilisateurs > mais se trouve dissimulé at: /private/var/impartation).​

Cet utilisateur impartation me paraît hautement suspect -->

- je suppose qu'il n'est pas listé dans la colonne de gauche du panneau Utilisateurs et groupes (des Préférences Système) ? - cet intitulé impartation ne te dit rien ?​

=> je pose ces questions avant déclenchement des tirs de campagne > dont les 1ers consisteront évidemment dans la suppression du compte impartation qui n'a aucune légitimité. Avant restauration de la capacité d'ouverture de session de l'utilisateur Huc.
 
"Toto", "Huc" et "Utilisateur invité (ouverture seulement)" sont les seuls bataillons au rapport, doit-on suspecter cet utilisateur invité ?
PS : Impartion ne me dit évidemment rien
 
L'utilisateur Invité est une option tout à fait régulière. Non : l'intrus est bien inpartation.

- passe les commandes (copier-coller - l'une après l'autre) :​
Bloc de code:
sudo rm -f /private/var/db/dslocal/nodes/Default/users/impartation.plist
sudo rm -rf /var/impartation
diskutil listUsers / | grep -v '.*[\^\_\].*'
dscl . -list /Users home | grep -v '.*[\^\_\].*'

  • les 2 premières suppriment : le fichier impartation.plist (qui définissait une existence d'utilisateur impartation) & le dossier impartation (qui permettait une ouverture de session ou du moins une location de données sans ouverture de session pour cet utilisateur). Elle passent silencieusement (aucun affichage retourné) > si elles passent.
  • les 2 dernières affichent : les utilisateurs à noms pleins & leurs adresses aux dossiers d'ouverture de session

Poste les affichages retournés.
 
Bloc de code:
USERS
-----

Disk: disk1
Volume: Macintosh HD
Mountpoint: /

UID       Short Name                      Long Name
------------------------------------------------------------------------
1         daemon                          System Services
502       Huc                             Huc
-2        nobody                          Unprivileged User
0         root                            System Administrator
501       toto                            toto

------

daemon                  /var/root
Huc                     /Users/Huc
nobody                  /var/empty
root                    /var/root /private/var/root
toto                    /Users/toto
 
L'opération "suppression" a bien fonctionné : plus d'impartation.

- on passe à l'opération "restauration" (de ton compte Huc). Restauration de ta capacité d'ouverture de session > sans aucune perte de données contenues dans le dossier Huc des Utilisateurs - bien entendu.​

Voici comment ça se passe -->

- a) suppression du fichier identitaire Huc.plist (qui définit l'existence de l'utilisateur Huc et qui doit être corrompu au niveau de la définition du mot-de-passe). Corruption probablement liée à la création impartation.​

- b) recréation d'un fichier identitaire Huc.plist à l'identique (mais valide cette fois-ci).​

Tu noteras que ces opérations n'affectent que le fichier identitaire - le dossier Huc contenant les données n'est jamais compromis dans ces opérations => d'accord pour le principe ?
 
Entendu chef ! Nous attendons la suite des opérations :pompous:
Donc pour la suppression doit entrer :
Bloc de code:
sudo rm -f /private/var/db/dslocal/nodes/Default/users/huc.plist

?
 
Donc tu passes la commande (copier-coller) :
Bloc de code:
sudo rm -f /private/var/db/dslocal/nodes/Default/users/Huc.plist

  • qui supprime le fichier identitaire Huc.plist corrompu

Cela fait > va à : Menu  > Préférences Système > Utilisateurs & groupes =>

- est-ce que l'utilisateur Huc a bien disparu d'affichage dans la colonne de gauche du panneau ?​